Merge branch 'master' of git://git.denx.de/u-boot-sh
[oweals/u-boot.git] / arch / Kconfig
1 config CREATE_ARCH_SYMLINK
2         bool
3
4 config HAVE_ARCH_IOREMAP
5         bool
6
7 choice
8         prompt "Architecture select"
9         default SANDBOX
10
11 config ARC
12         bool "ARC architecture"
13         select ARCH_EARLY_INIT_R
14         select ARC_TIMER
15         select CLK
16         select HAVE_PRIVATE_LIBGCC
17         select SUPPORT_OF_CONTROL
18         select TIMER
19
20 config ARM
21         bool "ARM architecture"
22         select CREATE_ARCH_SYMLINK
23         select HAVE_PRIVATE_LIBGCC if !ARM64
24         select SUPPORT_OF_CONTROL
25
26 config M68K
27         bool "M68000 architecture"
28         select HAVE_PRIVATE_LIBGCC
29         select SYS_BOOT_GET_CMDLINE
30         select SYS_BOOT_GET_KBD
31         select SUPPORT_OF_CONTROL
32
33 config MICROBLAZE
34         bool "MicroBlaze architecture"
35         select SUPPORT_OF_CONTROL
36         imply CMD_IRQ
37
38 config MIPS
39         bool "MIPS architecture"
40         select HAVE_ARCH_IOREMAP
41         select HAVE_PRIVATE_LIBGCC
42         select SUPPORT_OF_CONTROL
43
44 config NDS32
45         bool "NDS32 architecture"
46         select SUPPORT_OF_CONTROL
47
48 config NIOS2
49         bool "Nios II architecture"
50         select CPU
51         select DM
52         select OF_CONTROL
53         select SUPPORT_OF_CONTROL
54         imply CMD_DM
55
56 config PPC
57         bool "PowerPC architecture"
58         select HAVE_PRIVATE_LIBGCC
59         select SUPPORT_OF_CONTROL
60         select SYS_BOOT_GET_CMDLINE
61         select SYS_BOOT_GET_KBD
62
63 config RISCV
64         bool "RISC-V architecture"
65         select CREATE_ARCH_SYMLINK
66         select SUPPORT_OF_CONTROL
67         select OF_CONTROL
68         select DM
69         imply DM_SERIAL
70         imply DM_ETH
71         imply DM_MMC
72         imply DM_SPI
73         imply DM_SPI_FLASH
74         imply BLK
75         imply CLK
76         imply MTD
77         imply TIMER
78         imply CMD_DM
79
80 config SANDBOX
81         bool "Sandbox"
82         select BOARD_LATE_INIT
83         select DM
84         select DM_GPIO
85         select DM_I2C
86         select DM_KEYBOARD
87         select DM_MMC
88         select DM_SERIAL
89         select DM_SPI
90         select DM_SPI_FLASH
91         select HAVE_BLOCK_DEVICE
92         select LZO
93         select SPI
94         select SUPPORT_OF_CONTROL
95         imply BITREVERSE
96         select BLOBLIST
97         imply CMD_DM
98         imply CMD_GETTIME
99         imply CMD_HASH
100         imply CMD_IO
101         imply CMD_IOTRACE
102         imply CMD_LZMADEC
103         imply CMD_SATA
104         imply CMD_SF_TEST
105         imply CRC32_VERIFY
106         imply FAT_WRITE
107         imply FIRMWARE
108         imply HASH_VERIFY
109         imply LZMA
110         imply SCSI
111         imply TEE
112         imply AVB_VERIFY
113         imply LIBAVB
114         imply CMD_AVB
115         imply UDP_FUNCTION_FASTBOOT
116         imply VIRTIO_MMIO
117         imply VIRTIO_PCI
118         imply VIRTIO_SANDBOX
119         imply VIRTIO_BLK
120         imply VIRTIO_NET
121         imply DM_SOUND
122         imply PCH
123
124 config SH
125         bool "SuperH architecture"
126         select HAVE_PRIVATE_LIBGCC
127
128 config X86
129         bool "x86 architecture"
130         select SUPPORT_SPL
131         select SUPPORT_TPL
132         select CREATE_ARCH_SYMLINK
133         select DM
134         select DM_PCI
135         select HAVE_ARCH_IOMAP
136         select HAVE_PRIVATE_LIBGCC
137         select OF_CONTROL
138         select PCI
139         select SUPPORT_OF_CONTROL
140         select TIMER
141         select USE_PRIVATE_LIBGCC
142         select X86_TSC_TIMER
143         imply BLK
144         imply CMD_DM
145         imply CMD_FPGA_LOADMK
146         imply CMD_GETTIME
147         imply CMD_IO
148         imply CMD_IRQ
149         imply CMD_PCI
150         imply CMD_SF_TEST
151         imply CMD_ZBOOT
152         imply DM_ETH
153         imply DM_GPIO
154         imply DM_KEYBOARD
155         imply DM_MMC
156         imply DM_RTC
157         imply DM_SCSI
158         imply DM_SERIAL
159         imply DM_SPI
160         imply DM_SPI_FLASH
161         imply DM_USB
162         imply DM_VIDEO
163         imply SYSRESET
164         imply SPL_SYSRESET
165         imply SYSRESET_X86
166         imply USB_ETHER_ASIX
167         imply USB_ETHER_SMSC95XX
168         imply USB_HOST_ETHER
169         imply PCH
170         imply RTC_MC146818
171
172         # Thing to enable for when SPL/TPL are enabled: SPL
173         imply SPL_DM
174         imply SPL_OF_LIBFDT
175         imply SPL_DRIVERS_MISC_SUPPORT
176         imply SPL_GPIO_SUPPORT
177         imply SPL_LIBCOMMON_SUPPORT
178         imply SPL_LIBGENERIC_SUPPORT
179         imply SPL_SERIAL_SUPPORT
180         imply SPL_SPI_FLASH_SUPPORT
181         imply SPL_SPI_SUPPORT
182         imply SPL_OF_CONTROL
183         imply SPL_TIMER
184         imply SPL_REGMAP
185         imply SPL_SYSCON
186         # TPL
187         imply TPL_DM
188         imply TPL_OF_LIBFDT
189         imply TPL_DRIVERS_MISC_SUPPORT
190         imply TPL_GPIO_SUPPORT
191         imply TPL_LIBCOMMON_SUPPORT
192         imply TPL_LIBGENERIC_SUPPORT
193         imply TPL_SERIAL_SUPPORT
194         imply TPL_SPI_FLASH_SUPPORT
195         imply TPL_SPI_SUPPORT
196         imply TPL_OF_CONTROL
197         imply TPL_TIMER
198         imply TPL_REGMAP
199         imply TPL_SYSCON
200
201 config XTENSA
202         bool "Xtensa architecture"
203         select CREATE_ARCH_SYMLINK
204         select SUPPORT_OF_CONTROL
205
206 endchoice
207
208 config SYS_ARCH
209         string
210         help
211           This option should contain the architecture name to build the
212           appropriate arch/<CONFIG_SYS_ARCH> directory.
213           All the architectures should specify this option correctly.
214
215 config SYS_CPU
216         string
217         help
218           This option should contain the CPU name to build the correct
219           arch/<CONFIG_SYS_ARCH>/cpu/<CONFIG_SYS_CPU> directory.
220
221           This is optional.  For those targets without the CPU directory,
222           leave this option empty.
223
224 config SYS_SOC
225         string
226         help
227           This option should contain the SoC name to build the directory
228           arch/<CONFIG_SYS_ARCH>/cpu/<CONFIG_SYS_CPU>/<CONFIG_SYS_SOC>.
229
230           This is optional.  For those targets without the SoC directory,
231           leave this option empty.
232
233 config SYS_VENDOR
234         string
235         help
236           This option should contain the vendor name of the target board.
237           If it is set and
238           board/<CONFIG_SYS_VENDOR>/common/Makefile exists, the vendor common
239           directory is compiled.
240           If CONFIG_SYS_BOARD is also set, the sources under
241           board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD> directory are compiled.
242
243           This is optional.  For those targets without the vendor directory,
244           leave this option empty.
245
246 config SYS_BOARD
247         string
248         help
249           This option should contain the name of the target board.
250           If it is set, either board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD>
251           or board/<CONFIG_SYS_BOARD> directory is compiled depending on
252           whether CONFIG_SYS_VENDOR is set or not.
253
254           This is optional.  For those targets without the board directory,
255           leave this option empty.
256
257 config SYS_CONFIG_NAME
258         string
259         help
260           This option should contain the base name of board header file.
261           The header file include/configs/<CONFIG_SYS_CONFIG_NAME>.h
262           should be included from include/config.h.
263
264 config SYS_DISABLE_DCACHE_OPS
265         bool
266         help
267          This option disables dcache flush and dcache invalidation
268          operations. For example, on coherent systems where cache
269          operatios are not required, enable this option to avoid them.
270          Note that, its up to the individual architectures to implement
271          this functionality.
272
273 source "arch/arc/Kconfig"
274 source "arch/arm/Kconfig"
275 source "arch/m68k/Kconfig"
276 source "arch/microblaze/Kconfig"
277 source "arch/mips/Kconfig"
278 source "arch/nds32/Kconfig"
279 source "arch/nios2/Kconfig"
280 source "arch/powerpc/Kconfig"
281 source "arch/sandbox/Kconfig"
282 source "arch/sh/Kconfig"
283 source "arch/x86/Kconfig"
284 source "arch/xtensa/Kconfig"
285 source "arch/riscv/Kconfig"