1*4882a593Smuzhiyunchoice 2*4882a593Smuzhiyun prompt "Target CPU" 3*4882a593Smuzhiyun default BR2_arc770d 4*4882a593Smuzhiyun depends on BR2_arc 5*4882a593Smuzhiyun help 6*4882a593Smuzhiyun Specific CPU to use 7*4882a593Smuzhiyun 8*4882a593Smuzhiyunconfig BR2_arc750d 9*4882a593Smuzhiyun bool "ARC 750D" 10*4882a593Smuzhiyun 11*4882a593Smuzhiyunconfig BR2_arc770d 12*4882a593Smuzhiyun bool "ARC 770D" 13*4882a593Smuzhiyun 14*4882a593Smuzhiyunconfig BR2_archs38 15*4882a593Smuzhiyun bool "ARC HS38" 16*4882a593Smuzhiyun help 17*4882a593Smuzhiyun Generic ARC HS capable of running Linux, i.e. with MMU, 18*4882a593Smuzhiyun caches and 32-bit multiplier. Also it corresponds to the 19*4882a593Smuzhiyun default configuration in older GNU toolchain versions. 20*4882a593Smuzhiyun 21*4882a593Smuzhiyunconfig BR2_archs38_64mpy 22*4882a593Smuzhiyun bool "ARC HS38 with 64-bit mpy" 23*4882a593Smuzhiyun help 24*4882a593Smuzhiyun Fully featured ARC HS capable of running Linux, i.e. with 25*4882a593Smuzhiyun MMU, caches and 64-bit multiplier. 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun If you're not sure which version of ARC HS core you build 28*4882a593Smuzhiyun for use this one. 29*4882a593Smuzhiyun 30*4882a593Smuzhiyunconfig BR2_archs38_full 31*4882a593Smuzhiyun bool "ARC HS38 with Quad MAC & FPU" 32*4882a593Smuzhiyun help 33*4882a593Smuzhiyun Fully featured ARC HS with additional support for 34*4882a593Smuzhiyun - Dual- and quad multiply and MC oprations 35*4882a593Smuzhiyun - Double-precision FPU 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun It corresponds to "hs38_slc_full" ARC HS template in 38*4882a593Smuzhiyun ARChitect. 39*4882a593Smuzhiyun 40*4882a593Smuzhiyunconfig BR2_archs4x_rel31 41*4882a593Smuzhiyun bool "ARC HS48 rel 31" 42*4882a593Smuzhiyun help 43*4882a593Smuzhiyun Build for HS48 release 3.1 44*4882a593Smuzhiyun 45*4882a593Smuzhiyunconfig BR2_archs4x 46*4882a593Smuzhiyun bool "ARC HS48" 47*4882a593Smuzhiyun help 48*4882a593Smuzhiyun Latest release of HS48 processor 49*4882a593Smuzhiyun - Dual and Quad multiply and MAC operations 50*4882a593Smuzhiyun - Double-precision FPU 51*4882a593Smuzhiyun 52*4882a593Smuzhiyunendchoice 53*4882a593Smuzhiyun 54*4882a593Smuzhiyun# Choice of atomic instructions presence 55*4882a593Smuzhiyunconfig BR2_ARC_ATOMIC_EXT 56*4882a593Smuzhiyun bool "Atomic extension (LLOCK/SCOND instructions)" 57*4882a593Smuzhiyun default y if BR2_arc770d 58*4882a593Smuzhiyun default y if BR2_archs38 || BR2_archs38_64mpy || BR2_archs38_full 59*4882a593Smuzhiyun default y if BR2_archs4x_rel31 || BR2_archs4x 60*4882a593Smuzhiyun 61*4882a593Smuzhiyunconfig BR2_ARCH 62*4882a593Smuzhiyun default "arc" if BR2_arcle 63*4882a593Smuzhiyun default "arceb" if BR2_arceb 64*4882a593Smuzhiyun 65*4882a593Smuzhiyunconfig BR2_NORMALIZED_ARCH 66*4882a593Smuzhiyun default "arc" 67*4882a593Smuzhiyun 68*4882a593Smuzhiyunconfig BR2_arc 69*4882a593Smuzhiyun bool 70*4882a593Smuzhiyun default y if BR2_arcle || BR2_arceb 71*4882a593Smuzhiyun 72*4882a593Smuzhiyunconfig BR2_ENDIAN 73*4882a593Smuzhiyun default "LITTLE" if BR2_arcle 74*4882a593Smuzhiyun default "BIG" if BR2_arceb 75*4882a593Smuzhiyun 76*4882a593Smuzhiyunconfig BR2_GCC_TARGET_CPU 77*4882a593Smuzhiyun default "arc700" if BR2_arc750d 78*4882a593Smuzhiyun default "arc700" if BR2_arc770d 79*4882a593Smuzhiyun default "archs" if BR2_archs38 80*4882a593Smuzhiyun default "hs38" if BR2_archs38_64mpy 81*4882a593Smuzhiyun default "hs38_linux" if BR2_archs38_full 82*4882a593Smuzhiyun default "hs4x_rel31" if BR2_archs4x_rel31 83*4882a593Smuzhiyun default "hs4x" if BR2_archs4x 84*4882a593Smuzhiyun 85*4882a593Smuzhiyunconfig BR2_READELF_ARCH_NAME 86*4882a593Smuzhiyun default "ARCompact" if BR2_arc750d || BR2_arc770d 87*4882a593Smuzhiyun default "ARCv2" if BR2_archs38 || BR2_archs38_64mpy || BR2_archs38_full 88*4882a593Smuzhiyun default "ARCv2" if BR2_archs4x_rel31 || BR2_archs4x 89*4882a593Smuzhiyun 90*4882a593Smuzhiyunchoice 91*4882a593Smuzhiyun prompt "MMU Page Size" 92*4882a593Smuzhiyun default BR2_ARC_PAGE_SIZE_8K 93*4882a593Smuzhiyun help 94*4882a593Smuzhiyun MMU starting from version 3 (found in ARC 770) and now 95*4882a593Smuzhiyun version 4 (found in ARC HS38) allows the selection of the 96*4882a593Smuzhiyun page size during ASIC design creation. 97*4882a593Smuzhiyun 98*4882a593Smuzhiyun The following options are available for MMU v3 and v4: 4kB, 99*4882a593Smuzhiyun 8kB and 16 kB. 100*4882a593Smuzhiyun 101*4882a593Smuzhiyun The default is 8 kB (that really matches the only page size 102*4882a593Smuzhiyun in MMU v2). It is important to build a toolchain with page 103*4882a593Smuzhiyun size matching the hardware configuration. Otherwise 104*4882a593Smuzhiyun user-space applications will fail at runtime. 105*4882a593Smuzhiyun 106*4882a593Smuzhiyunconfig BR2_ARC_PAGE_SIZE_4K 107*4882a593Smuzhiyun bool "4KB" 108*4882a593Smuzhiyun depends on !BR2_arc750d 109*4882a593Smuzhiyun 110*4882a593Smuzhiyunconfig BR2_ARC_PAGE_SIZE_8K 111*4882a593Smuzhiyun bool "8KB" 112*4882a593Smuzhiyun help 113*4882a593Smuzhiyun This is the one and only option available for MMUv2 and 114*4882a593Smuzhiyun default value for MMU v3 and v4. 115*4882a593Smuzhiyun 116*4882a593Smuzhiyunconfig BR2_ARC_PAGE_SIZE_16K 117*4882a593Smuzhiyun bool "16KB" 118*4882a593Smuzhiyun depends on !BR2_arc750d 119*4882a593Smuzhiyun 120*4882a593Smuzhiyunendchoice 121*4882a593Smuzhiyun 122*4882a593Smuzhiyunconfig BR2_ARC_PAGE_SIZE 123*4882a593Smuzhiyun string 124*4882a593Smuzhiyun default "4K" if BR2_ARC_PAGE_SIZE_4K 125*4882a593Smuzhiyun default "8K" if BR2_ARC_PAGE_SIZE_8K 126*4882a593Smuzhiyun default "16K" if BR2_ARC_PAGE_SIZE_16K 127*4882a593Smuzhiyun 128*4882a593Smuzhiyun# vim: ft=kconfig 129*4882a593Smuzhiyun# -*- mode:kconfig; -*- 130