Merge branch 'master' of https://gitlab.denx.de/u-boot/custodians/u-boot-sunxi
[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 PCI_ENDPOINT
94         select SPI
95         select SUPPORT_OF_CONTROL
96         imply BITREVERSE
97         select BLOBLIST
98         imply CMD_DM
99         imply CMD_GETTIME
100         imply CMD_HASH
101         imply CMD_IO
102         imply CMD_IOTRACE
103         imply CMD_LZMADEC
104         imply CMD_SATA
105         imply CMD_SF
106         imply CMD_SF_TEST
107         imply CRC32_VERIFY
108         imply FAT_WRITE
109         imply FIRMWARE
110         imply HASH_VERIFY
111         imply LZMA
112         imply SCSI
113         imply TEE
114         imply AVB_VERIFY
115         imply LIBAVB
116         imply CMD_AVB
117         imply UDP_FUNCTION_FASTBOOT
118         imply VIRTIO_MMIO
119         imply VIRTIO_PCI
120         imply VIRTIO_SANDBOX
121         imply VIRTIO_BLK
122         imply VIRTIO_NET
123         imply DM_SOUND
124         imply PCI_SANDBOX_EP
125         imply PCH
126         imply PHYLIB
127         imply DM_MDIO
128
129 config SH
130         bool "SuperH architecture"
131         select HAVE_PRIVATE_LIBGCC
132
133 config X86
134         bool "x86 architecture"
135         select SUPPORT_SPL
136         select SUPPORT_TPL
137         select CREATE_ARCH_SYMLINK
138         select DM
139         select DM_PCI
140         select HAVE_ARCH_IOMAP
141         select HAVE_PRIVATE_LIBGCC
142         select OF_CONTROL
143         select PCI
144         select SUPPORT_OF_CONTROL
145         select TIMER
146         select USE_PRIVATE_LIBGCC
147         select X86_TSC_TIMER
148         imply BLK
149         imply CMD_DM
150         imply CMD_FPGA_LOADMK
151         imply CMD_GETTIME
152         imply CMD_IO
153         imply CMD_IRQ
154         imply CMD_PCI
155         imply CMD_SF
156         imply CMD_SF_TEST
157         imply CMD_ZBOOT
158         imply DM_ETH
159         imply DM_GPIO
160         imply DM_KEYBOARD
161         imply DM_MMC
162         imply DM_RTC
163         imply DM_SCSI
164         imply DM_SERIAL
165         imply DM_SPI
166         imply DM_SPI_FLASH
167         imply DM_USB
168         imply DM_VIDEO
169         imply SYSRESET
170         imply SPL_SYSRESET
171         imply SYSRESET_X86
172         imply USB_ETHER_ASIX
173         imply USB_ETHER_SMSC95XX
174         imply USB_HOST_ETHER
175         imply PCH
176         imply RTC_MC146818
177
178         # Thing to enable for when SPL/TPL are enabled: SPL
179         imply SPL_DM
180         imply SPL_OF_LIBFDT
181         imply SPL_DRIVERS_MISC_SUPPORT
182         imply SPL_GPIO_SUPPORT
183         imply SPL_LIBCOMMON_SUPPORT
184         imply SPL_LIBGENERIC_SUPPORT
185         imply SPL_SERIAL_SUPPORT
186         imply SPL_SPI_FLASH_SUPPORT
187         imply SPL_SPI_SUPPORT
188         imply SPL_OF_CONTROL
189         imply SPL_TIMER
190         imply SPL_REGMAP
191         imply SPL_SYSCON
192         # TPL
193         imply TPL_DM
194         imply TPL_OF_LIBFDT
195         imply TPL_DRIVERS_MISC_SUPPORT
196         imply TPL_GPIO_SUPPORT
197         imply TPL_LIBCOMMON_SUPPORT
198         imply TPL_LIBGENERIC_SUPPORT
199         imply TPL_SERIAL_SUPPORT
200         imply TPL_SPI_FLASH_SUPPORT
201         imply TPL_SPI_SUPPORT
202         imply TPL_OF_CONTROL
203         imply TPL_TIMER
204         imply TPL_REGMAP
205         imply TPL_SYSCON
206
207 config XTENSA
208         bool "Xtensa architecture"
209         select CREATE_ARCH_SYMLINK
210         select SUPPORT_OF_CONTROL
211
212 endchoice
213
214 config SYS_ARCH
215         string
216         help
217           This option should contain the architecture name to build the
218           appropriate arch/<CONFIG_SYS_ARCH> directory.
219           All the architectures should specify this option correctly.
220
221 config SYS_CPU
222         string
223         help
224           This option should contain the CPU name to build the correct
225           arch/<CONFIG_SYS_ARCH>/cpu/<CONFIG_SYS_CPU> directory.
226
227           This is optional.  For those targets without the CPU directory,
228           leave this option empty.
229
230 config SYS_SOC
231         string
232         help
233           This option should contain the SoC name to build the directory
234           arch/<CONFIG_SYS_ARCH>/cpu/<CONFIG_SYS_CPU>/<CONFIG_SYS_SOC>.
235
236           This is optional.  For those targets without the SoC directory,
237           leave this option empty.
238
239 config SYS_VENDOR
240         string
241         help
242           This option should contain the vendor name of the target board.
243           If it is set and
244           board/<CONFIG_SYS_VENDOR>/common/Makefile exists, the vendor common
245           directory is compiled.
246           If CONFIG_SYS_BOARD is also set, the sources under
247           board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD> directory are compiled.
248
249           This is optional.  For those targets without the vendor directory,
250           leave this option empty.
251
252 config SYS_BOARD
253         string
254         help
255           This option should contain the name of the target board.
256           If it is set, either board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD>
257           or board/<CONFIG_SYS_BOARD> directory is compiled depending on
258           whether CONFIG_SYS_VENDOR is set or not.
259
260           This is optional.  For those targets without the board directory,
261           leave this option empty.
262
263 config SYS_CONFIG_NAME
264         string
265         help
266           This option should contain the base name of board header file.
267           The header file include/configs/<CONFIG_SYS_CONFIG_NAME>.h
268           should be included from include/config.h.
269
270 config SYS_DISABLE_DCACHE_OPS
271         bool
272         help
273          This option disables dcache flush and dcache invalidation
274          operations. For example, on coherent systems where cache
275          operatios are not required, enable this option to avoid them.
276          Note that, its up to the individual architectures to implement
277          this functionality.
278
279 source "arch/arc/Kconfig"
280 source "arch/arm/Kconfig"
281 source "arch/m68k/Kconfig"
282 source "arch/microblaze/Kconfig"
283 source "arch/mips/Kconfig"
284 source "arch/nds32/Kconfig"
285 source "arch/nios2/Kconfig"
286 source "arch/powerpc/Kconfig"
287 source "arch/sandbox/Kconfig"
288 source "arch/sh/Kconfig"
289 source "arch/x86/Kconfig"
290 source "arch/xtensa/Kconfig"
291 source "arch/riscv/Kconfig"