Merge git://git.denx.de/u-boot-riscv
[platform/kernel/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 source "arch/arc/Kconfig"
231 source "arch/arm/Kconfig"
232 source "arch/m68k/Kconfig"
233 source "arch/microblaze/Kconfig"
234 source "arch/mips/Kconfig"
235 source "arch/nds32/Kconfig"
236 source "arch/nios2/Kconfig"
237 source "arch/powerpc/Kconfig"
238 source "arch/sandbox/Kconfig"
239 source "arch/sh/Kconfig"
240 source "arch/x86/Kconfig"
241 source "arch/xtensa/Kconfig"
242 source "arch/riscv/Kconfig"