xref: /openbmc/u-boot/arch/Kconfig (revision 2752a453)
1config CREATE_ARCH_SYMLINK
2	bool
3
4config HAVE_ARCH_IOREMAP
5	bool
6
7choice
8	prompt "Architecture select"
9	default SANDBOX
10
11config 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
20config ARM
21	bool "ARM architecture"
22	select CREATE_ARCH_SYMLINK
23	select HAVE_PRIVATE_LIBGCC if !ARM64
24	select SUPPORT_OF_CONTROL
25
26config M68K
27	bool "M68000 architecture"
28	select HAVE_PRIVATE_LIBGCC
29	select SYS_BOOT_GET_CMDLINE
30	select SYS_BOOT_GET_KBD
31
32config MICROBLAZE
33	bool "MicroBlaze architecture"
34	select SUPPORT_OF_CONTROL
35	imply CMD_IRQ
36
37config MIPS
38	bool "MIPS architecture"
39	select HAVE_ARCH_IOREMAP
40	select HAVE_PRIVATE_LIBGCC
41	select SUPPORT_OF_CONTROL
42
43config NDS32
44	bool "NDS32 architecture"
45	select SUPPORT_OF_CONTROL
46
47config 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
55config 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
62config 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
79config 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
123config SH
124	bool "SuperH architecture"
125	select HAVE_PRIVATE_LIBGCC
126
127config 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
167config XTENSA
168	bool "Xtensa architecture"
169	select CREATE_ARCH_SYMLINK
170	select SUPPORT_OF_CONTROL
171
172endchoice
173
174config 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
181config 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
190config 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
199config 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
212config 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
223config 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
230source "arch/arc/Kconfig"
231source "arch/arm/Kconfig"
232source "arch/m68k/Kconfig"
233source "arch/microblaze/Kconfig"
234source "arch/mips/Kconfig"
235source "arch/nds32/Kconfig"
236source "arch/nios2/Kconfig"
237source "arch/powerpc/Kconfig"
238source "arch/sandbox/Kconfig"
239source "arch/sh/Kconfig"
240source "arch/x86/Kconfig"
241source "arch/xtensa/Kconfig"
242source "arch/riscv/Kconfig"
243