xref: /openbmc/u-boot/arch/Kconfig (revision 2d59ec84829ff339041667c857afe94d5160f4b4)
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 SUPPORT_OF_CONTROL
65 	select OF_CONTROL
66 	select DM
67 	imply DM_SERIAL
68 	imply DM_ETH
69 	imply DM_MMC
70 	imply DM_SPI
71 	imply DM_SPI_FLASH
72 	imply BLK
73 	imply CLK
74 	imply MTD
75 	imply TIMER
76 	imply CMD_DM
77 
78 config SANDBOX
79 	bool "Sandbox"
80 	select BOARD_LATE_INIT
81 	select DM
82 	select DM_GPIO
83 	select DM_I2C
84 	select DM_KEYBOARD
85 	select DM_MMC
86 	select DM_SERIAL
87 	select DM_SPI
88 	select DM_SPI_FLASH
89 	select HAVE_BLOCK_DEVICE
90 	select LZO
91 	select SPI
92 	select SUPPORT_OF_CONTROL
93 	imply BITREVERSE
94 	select BLOBLIST
95 	imply CMD_DM
96 	imply CMD_GETTIME
97 	imply CMD_HASH
98 	imply CMD_IO
99 	imply CMD_IOTRACE
100 	imply CMD_LZMADEC
101 	imply CMD_SATA
102 	imply CMD_SF_TEST
103 	imply CRC32_VERIFY
104 	imply FAT_WRITE
105 	imply FIRMWARE
106 	imply HASH_VERIFY
107 	imply LZMA
108 	imply SCSI
109 	imply TEE
110 	imply AVB_VERIFY
111 	imply LIBAVB
112 	imply CMD_AVB
113 	imply UDP_FUNCTION_FASTBOOT
114 	imply VIRTIO_MMIO
115 	imply VIRTIO_PCI
116 	imply VIRTIO_SANDBOX
117 	imply VIRTIO_BLK
118 	imply VIRTIO_NET
119 	imply DM_SOUND
120 
121 config SH
122 	bool "SuperH architecture"
123 	select HAVE_PRIVATE_LIBGCC
124 
125 config X86
126 	bool "x86 architecture"
127 	select CREATE_ARCH_SYMLINK
128 	select DM
129 	select DM_PCI
130 	select HAVE_ARCH_IOMAP
131 	select HAVE_PRIVATE_LIBGCC
132 	select OF_CONTROL
133 	select PCI
134 	select SUPPORT_OF_CONTROL
135 	select TIMER
136 	select USE_PRIVATE_LIBGCC
137 	select X86_TSC_TIMER
138 	imply BLK
139 	imply CMD_DM
140 	imply CMD_FPGA_LOADMK
141 	imply CMD_GETTIME
142 	imply CMD_IO
143 	imply CMD_IRQ
144 	imply CMD_PCI
145 	imply CMD_SF_TEST
146 	imply CMD_ZBOOT
147 	imply DM_ETH
148 	imply DM_GPIO
149 	imply DM_KEYBOARD
150 	imply DM_MMC
151 	imply DM_RTC
152 	imply DM_SCSI
153 	imply DM_SERIAL
154 	imply DM_SPI
155 	imply DM_SPI_FLASH
156 	imply DM_USB
157 	imply DM_VIDEO
158 	imply SYSRESET
159 	imply SYSRESET_X86
160 	imply USB_ETHER_ASIX
161 	imply USB_ETHER_SMSC95XX
162 	imply USB_HOST_ETHER
163 
164 config XTENSA
165 	bool "Xtensa architecture"
166 	select CREATE_ARCH_SYMLINK
167 	select SUPPORT_OF_CONTROL
168 
169 endchoice
170 
171 config SYS_ARCH
172 	string
173 	help
174 	  This option should contain the architecture name to build the
175 	  appropriate arch/<CONFIG_SYS_ARCH> directory.
176 	  All the architectures should specify this option correctly.
177 
178 config SYS_CPU
179 	string
180 	help
181 	  This option should contain the CPU name to build the correct
182 	  arch/<CONFIG_SYS_ARCH>/cpu/<CONFIG_SYS_CPU> directory.
183 
184 	  This is optional.  For those targets without the CPU directory,
185 	  leave this option empty.
186 
187 config SYS_SOC
188 	string
189 	help
190 	  This option should contain the SoC name to build the directory
191 	  arch/<CONFIG_SYS_ARCH>/cpu/<CONFIG_SYS_CPU>/<CONFIG_SYS_SOC>.
192 
193 	  This is optional.  For those targets without the SoC directory,
194 	  leave this option empty.
195 
196 config SYS_VENDOR
197 	string
198 	help
199 	  This option should contain the vendor name of the target board.
200 	  If it is set and
201 	  board/<CONFIG_SYS_VENDOR>/common/Makefile exists, the vendor common
202 	  directory is compiled.
203 	  If CONFIG_SYS_BOARD is also set, the sources under
204 	  board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD> directory are compiled.
205 
206 	  This is optional.  For those targets without the vendor directory,
207 	  leave this option empty.
208 
209 config SYS_BOARD
210 	string
211 	help
212 	  This option should contain the name of the target board.
213 	  If it is set, either board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD>
214 	  or board/<CONFIG_SYS_BOARD> directory is compiled depending on
215 	  whether CONFIG_SYS_VENDOR is set or not.
216 
217 	  This is optional.  For those targets without the board directory,
218 	  leave this option empty.
219 
220 config SYS_CONFIG_NAME
221 	string
222 	help
223 	  This option should contain the base name of board header file.
224 	  The header file include/configs/<CONFIG_SYS_CONFIG_NAME>.h
225 	  should be included from include/config.h.
226 
227 source "arch/arc/Kconfig"
228 source "arch/arm/Kconfig"
229 source "arch/m68k/Kconfig"
230 source "arch/microblaze/Kconfig"
231 source "arch/mips/Kconfig"
232 source "arch/nds32/Kconfig"
233 source "arch/nios2/Kconfig"
234 source "arch/powerpc/Kconfig"
235 source "arch/sandbox/Kconfig"
236 source "arch/sh/Kconfig"
237 source "arch/x86/Kconfig"
238 source "arch/xtensa/Kconfig"
239 source "arch/riscv/Kconfig"
240