Kconfig 2.93 KB
Newer Older
1 2 3 4 5 6
menu "ARC architecture"
	depends on ARC

config SYS_ARCH
	default "arc"

7
config SYS_CPU
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
	default "arcv1" if ISA_ARCOMPACT
	default "arcv2" if ISA_ARCV2

choice
	prompt "ARC Instruction Set"
	default ISA_ARCOMPACT

config ISA_ARCOMPACT
	bool "ARCompact ISA"
	help
	  The original ARC ISA of ARC600/700 cores

config ISA_ARCV2
	bool "ARC ISA v2"
	help
	  ISA for the Next Generation ARC-HS cores

endchoice
26

27 28
choice
	prompt "CPU selection"
29 30
	default CPU_ARC770D if ISA_ARCOMPACT
	default CPU_ARCHS38 if ISA_ARCV2
31 32 33 34

config CPU_ARC750D
	bool "ARC 750D"
	select ARC_MMU_V2
35
	depends on ISA_ARCOMPACT
36 37 38 39 40 41
	help
	  Choose this option to build an U-Boot for ARC750D CPU.

config CPU_ARC770D
	bool "ARC 770D"
	select ARC_MMU_V3
42
	depends on ISA_ARCOMPACT
43 44 45
	help
	  Choose this option to build an U-Boot for ARC770D CPU.

46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
config CPU_ARCEM6
	bool "ARC EM6"
	select ARC_MMU_ABSENT
	depends on ISA_ARCV2
	help
	  Next Generation ARC Core based on ISA-v2 ISA without MMU.

config CPU_ARCHS36
	bool "ARC HS36"
	select ARC_MMU_ABSENT
	depends on ISA_ARCV2
	help
	  Next Generation ARC Core based on ISA-v2 ISA without MMU.

config CPU_ARCHS38
	bool "ARC HS38"
	select ARC_MMU_V4
	depends on ISA_ARCV2
	help
	  Next Generation ARC Core based on ISA-v2 ISA with MMU.

67 68 69 70 71 72
endchoice

choice
	prompt "MMU Version"
	default ARC_MMU_V3 if CPU_ARC770D
	default ARC_MMU_V2 if CPU_ARC750D
73 74 75 76 77 78 79 80
	default ARC_MMU_ABSENT if CPU_ARCEM6
	default ARC_MMU_ABSENT if CPU_ARCHS36
	default ARC_MMU_V4 if CPU_ARCHS38

config ARC_MMU_ABSENT
	bool "No MMU"
	help
	  No MMU
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96

config ARC_MMU_V2
	bool "MMU v2"
	depends on CPU_ARC750D
	help
	  Fixed the deficiency of v1 - possible thrashing in memcpy sceanrio
	  when 2 D-TLB and 1 I-TLB entries index into same 2way set.

config ARC_MMU_V3
	bool "MMU v3"
	depends on CPU_ARC770D
	help
	  Introduced with ARC700 4.10: New Features
	  Variable Page size (1k-16k), var JTLB size 128 x (2 or 4)
	  Shared Address Spaces (SASID)

97 98 99 100 101 102
config ARC_MMU_V4
	bool "MMU v4"
	depends on CPU_ARCHS38
	help
	  Introduced as a part of ARC HS38 release.

103 104
endchoice

105 106 107 108 109 110
config CPU_BIG_ENDIAN
	bool "Enable Big Endian Mode"
	default n
	help
	  Build kernel for Big Endian Mode of ARC CPU

111 112 113 114 115 116 117 118 119 120 121 122
config SYS_ICACHE_OFF
	bool "Do not use Instruction Cache"
	default n

config SYS_DCACHE_OFF
	bool "Do not use Data Cache"
	default n

config ARC_CACHE_LINE_SHIFT
	int "Cache Line Length (as power of 2)"
	range 5 7
	default "6"
Alexey Brodkin's avatar
Alexey Brodkin committed
123
	depends on !SYS_DCACHE_OFF || !SYS_ICACHE_OFF
124 125 126 127 128 129
	help
	  Starting with ARC700 4.9, Cache line length is configurable,
	  This option specifies "N", with Line-len = 2 power N
	  So line lengths of 32, 64, 128 are specified by 5,6,7, respectively
	  Linux only supports same line lengths for I and D caches.

130 131
choice
	prompt "Target select"
132
	optional
133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149

config TARGET_TB100
	bool "Support tb100"

config TARGET_ARCANGEL4
	bool "Support arcangel4"

config TARGET_AXS101
	bool "Support axs101"

endchoice

source "board/abilis/tb100/Kconfig"
source "board/synopsys/Kconfig"
source "board/synopsys/axs101/Kconfig"

endmenu