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
32 config MICROBLAZE
33         bool "MicroBlaze architecture"
34         select SUPPORT_OF_CONTROL
35         imply CMD_IRQ
36
37 config MIPS
38         bool "MIPS architecture"
39         select HAVE_ARCH_IOREMAP
40         select HAVE_PRIVATE_LIBGCC
41         select SUPPORT_OF_CONTROL
42
43 config NDS32
44         bool "NDS32 architecture"
45         select SUPPORT_OF_CONTROL
46
47 config NIOS2
48         bool "Nios II architecture"
49         select CPU
50         select DM
51         select OF_CONTROL
52         select SUPPORT_OF_CONTROL
53         imply CMD_DM
54
55 config PPC
56         bool "PowerPC architecture"
57         select HAVE_PRIVATE_LIBGCC
58         select SUPPORT_OF_CONTROL
59         select SYS_BOOT_GET_CMDLINE
60         select SYS_BOOT_GET_KBD
61
62 config RISCV
63         bool "RISC-V architecture"
64         select CREATE_ARCH_SYMLINK
65         select SUPPORT_OF_CONTROL
66         select OF_CONTROL
67         select DM
68         imply DM_SERIAL
69         imply DM_ETH
70         imply DM_MMC
71         imply DM_SPI
72         imply DM_SPI_FLASH
73         imply BLK
74         imply CLK
75         imply MTD
76         imply TIMER
77         imply CMD_DM
78
79 config SANDBOX
80         bool "Sandbox"
81         select BOARD_LATE_INIT
82         select DM
83         select DM_GPIO
84         select DM_I2C
85         select DM_KEYBOARD
86         select DM_MMC
87         select DM_SERIAL
88         select DM_SPI
89         select DM_SPI_FLASH
90         select HAVE_BLOCK_DEVICE
91         select LZO
92         select SPI
93         select SUPPORT_OF_CONTROL
94         imply BITREVERSE
95         select BLOBLIST
96         imply CMD_DM
97         imply CMD_GETTIME
98         imply CMD_HASH
99         imply CMD_IO
100         imply CMD_IOTRACE
101         imply CMD_LZMADEC
102         imply CMD_SATA
103         imply CMD_SF_TEST
104         imply CRC32_VERIFY
105         imply FAT_WRITE
106         imply FIRMWARE
107         imply HASH_VERIFY
108         imply LZMA
109         imply SCSI
110         imply TEE
111         imply AVB_VERIFY
112         imply LIBAVB
113         imply CMD_AVB
114         imply UDP_FUNCTION_FASTBOOT
115         imply VIRTIO_MMIO
116         imply VIRTIO_PCI
117         imply VIRTIO_SANDBOX
118         imply VIRTIO_BLK
119         imply VIRTIO_NET
120         imply DM_SOUND
121         imply PCH
122
123 config SH
124         bool "SuperH architecture"
125         select HAVE_PRIVATE_LIBGCC
126
127 config X86
128         bool "x86 architecture"
129         select CREATE_ARCH_SYMLINK
130         select DM
131         select DM_PCI
132         select HAVE_ARCH_IOMAP
133         select HAVE_PRIVATE_LIBGCC
134         select OF_CONTROL
135         select PCI
136         select SUPPORT_OF_CONTROL
137         select TIMER
138         select USE_PRIVATE_LIBGCC
139         select X86_TSC_TIMER
140         imply BLK
141         imply CMD_DM
142         imply CMD_FPGA_LOADMK
143         imply CMD_GETTIME
144         imply CMD_IO
145         imply CMD_IRQ
146         imply CMD_PCI
147         imply CMD_SF_TEST
148         imply CMD_ZBOOT
149         imply DM_ETH
150         imply DM_GPIO
151         imply DM_KEYBOARD
152         imply DM_MMC
153         imply DM_RTC
154         imply DM_SCSI
155         imply DM_SERIAL
156         imply DM_SPI
157         imply DM_SPI_FLASH
158         imply DM_USB
159         imply DM_VIDEO
160         imply SYSRESET
161         imply SYSRESET_X86
162         imply USB_ETHER_ASIX
163         imply USB_ETHER_SMSC95XX
164         imply USB_HOST_ETHER
165         imply PCH
166
167 config XTENSA
168         bool "Xtensa architecture"
169         select CREATE_ARCH_SYMLINK
170         select SUPPORT_OF_CONTROL
171
172 endchoice
173
174 config SYS_ARCH
175         string
176         help
177           This option should contain the architecture name to build the
178           appropriate arch/<CONFIG_SYS_ARCH> directory.
179           All the architectures should specify this option correctly.
180
181 config SYS_CPU
182         string
183         help
184           This option should contain the CPU name to build the correct
185           arch/<CONFIG_SYS_ARCH>/cpu/<CONFIG_SYS_CPU> directory.
186
187           This is optional.  For those targets without the CPU directory,
188           leave this option empty.
189
190 config SYS_SOC
191         string
192         help
193           This option should contain the SoC name to build the directory
194           arch/<CONFIG_SYS_ARCH>/cpu/<CONFIG_SYS_CPU>/<CONFIG_SYS_SOC>.
195
196           This is optional.  For those targets without the SoC directory,
197           leave this option empty.
198
199 config SYS_VENDOR
200         string
201         help
202           This option should contain the vendor name of the target board.
203           If it is set and
204           board/<CONFIG_SYS_VENDOR>/common/Makefile exists, the vendor common
205           directory is compiled.
206           If CONFIG_SYS_BOARD is also set, the sources under
207           board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD> directory are compiled.
208
209           This is optional.  For those targets without the vendor directory,
210           leave this option empty.
211
212 config SYS_BOARD
213         string
214         help
215           This option should contain the name of the target board.
216           If it is set, either board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD>
217           or board/<CONFIG_SYS_BOARD> directory is compiled depending on
218           whether CONFIG_SYS_VENDOR is set or not.
219
220           This is optional.  For those targets without the board directory,
221           leave this option empty.
222
223 config SYS_CONFIG_NAME
224         string
225         help
226           This option should contain the base name of board header file.
227           The header file include/configs/<CONFIG_SYS_CONFIG_NAME>.h
228           should be included from include/config.h.
229
230 config SYS_DISABLE_DCACHE_OPS
231         bool
232         help
233          This option disables dcache flush and dcache invalidation
234          operations. For example, on coherent systems where cache
235          operatios are not required, enable this option to avoid them.
236          Note that, its up to the individual architectures to implement
237          this functionality.
238
239 source "arch/arc/Kconfig"
240 source "arch/arm/Kconfig"
241 source "arch/m68k/Kconfig"
242 source "arch/microblaze/Kconfig"
243 source "arch/mips/Kconfig"
244 source "arch/nds32/Kconfig"
245 source "arch/nios2/Kconfig"
246 source "arch/powerpc/Kconfig"
247 source "arch/sandbox/Kconfig"
248 source "arch/sh/Kconfig"
249 source "arch/x86/Kconfig"
250 source "arch/xtensa/Kconfig"
251 source "arch/riscv/Kconfig"