From: Evgeniy Didin Date: Tue, 4 Jun 2019 05:39:27 +0000 (+0300) Subject: ARC: Add support for ARC HS48 v3.1 processor X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=81fed0c7db40436254bd7f21d8e96347e1bf43a7;p=buildroot.git ARC: Add support for ARC HS48 v3.1 processor This patch introduces a recently released significant update to ARC HS family: ARC HS48. One of the major ARC HS48 features is dual-issue pipeline which requires a little bit modified instruction scheduling compared to single-issue cores (HS38), thus new "-mcpu/--with-cpu=hs4x". Also to address some peculiarities of early designs based on HS48 we introduced yet another "-mcpu/--with-cpu=hs4x_rel31" which we're going to use as well on some of our development boards. Signed-off-by: Evgeniy Didin Cc: Thomas Petazzoni Cc: arc-buildroot@synopsys.com [Peter: fixup check-package warnings] Signed-off-by: Peter Korsgaard --- diff --git a/arch/Config.in.arc b/arch/Config.in.arc index f7818e7ebb..c65bb01f1f 100644 --- a/arch/Config.in.arc +++ b/arch/Config.in.arc @@ -31,12 +31,19 @@ config BR2_archs38_full It corresponds to "hs38_slc_full" ARC HS template in ARChitect. +config BR2_archs4x_rel31 + bool "ARC HS48 rel 31" + help + Latest release of HS48 processor + - Dual- and quad multiply and MC oprations + - Double-precision FPU + endchoice # Choice of atomic instructions presence config BR2_ARC_ATOMIC_EXT bool "Atomic extension (LLOCK/SCOND instructions)" - default y if BR2_arc770d || BR2_archs38 || BR2_archs38_full + default y if BR2_arc770d || BR2_archs38 || BR2_archs38_full || BR2_archs4x_rel31 config BR2_ARCH default "arc" if BR2_arcle @@ -55,10 +62,11 @@ config BR2_GCC_TARGET_CPU default "arc700" if BR2_arc770d default "archs" if BR2_archs38 default "hs38_linux" if BR2_archs38_full + default "hs4x_rel31" if BR2_archs4x_rel31 config BR2_READELF_ARCH_NAME default "ARCompact" if BR2_arc750d || BR2_arc770d - default "ARCv2" if BR2_archs38 || BR2_archs38_full + default "ARCv2" if BR2_archs38 || BR2_archs38_full || BR2_archs4x_rel31 choice prompt "MMU Page Size" @@ -78,7 +86,7 @@ choice config BR2_ARC_PAGE_SIZE_4K bool "4KB" - depends on BR2_arc770d || BR2_archs38 || BR2_archs38_full + depends on BR2_arc770d || BR2_archs38 || BR2_archs38_full || BR2_archs4x_rel31 config BR2_ARC_PAGE_SIZE_8K bool "8KB" @@ -88,7 +96,7 @@ config BR2_ARC_PAGE_SIZE_8K config BR2_ARC_PAGE_SIZE_16K bool "16KB" - depends on BR2_arc770d || BR2_archs38 || BR2_archs38_full + depends on BR2_arc770d || BR2_archs38 || BR2_archs38_full || BR2_archs4x_rel31 endchoice