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