xref: /openbmc/u-boot/arch/Kconfig (revision 6744c0d6)
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 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
78config 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	imply PCH
121
122config SH
123	bool "SuperH architecture"
124	select HAVE_PRIVATE_LIBGCC
125
126config X86
127	bool "x86 architecture"
128	select CREATE_ARCH_SYMLINK
129	select DM
130	select DM_PCI
131	select HAVE_ARCH_IOMAP
132	select HAVE_PRIVATE_LIBGCC
133	select OF_CONTROL
134	select PCI
135	select SUPPORT_OF_CONTROL
136	select TIMER
137	select USE_PRIVATE_LIBGCC
138	select X86_TSC_TIMER
139	imply BLK
140	imply CMD_DM
141	imply CMD_FPGA_LOADMK
142	imply CMD_GETTIME
143	imply CMD_IO
144	imply CMD_IRQ
145	imply CMD_PCI
146	imply CMD_SF_TEST
147	imply CMD_ZBOOT
148	imply DM_ETH
149	imply DM_GPIO
150	imply DM_KEYBOARD
151	imply DM_MMC
152	imply DM_RTC
153	imply DM_SCSI
154	imply DM_SERIAL
155	imply DM_SPI
156	imply DM_SPI_FLASH
157	imply DM_USB
158	imply DM_VIDEO
159	imply SYSRESET
160	imply SYSRESET_X86
161	imply USB_ETHER_ASIX
162	imply USB_ETHER_SMSC95XX
163	imply USB_HOST_ETHER
164	imply PCH
165
166config XTENSA
167	bool "Xtensa architecture"
168	select CREATE_ARCH_SYMLINK
169	select SUPPORT_OF_CONTROL
170
171endchoice
172
173config SYS_ARCH
174	string
175	help
176	  This option should contain the architecture name to build the
177	  appropriate arch/<CONFIG_SYS_ARCH> directory.
178	  All the architectures should specify this option correctly.
179
180config SYS_CPU
181	string
182	help
183	  This option should contain the CPU name to build the correct
184	  arch/<CONFIG_SYS_ARCH>/cpu/<CONFIG_SYS_CPU> directory.
185
186	  This is optional.  For those targets without the CPU directory,
187	  leave this option empty.
188
189config SYS_SOC
190	string
191	help
192	  This option should contain the SoC name to build the directory
193	  arch/<CONFIG_SYS_ARCH>/cpu/<CONFIG_SYS_CPU>/<CONFIG_SYS_SOC>.
194
195	  This is optional.  For those targets without the SoC directory,
196	  leave this option empty.
197
198config SYS_VENDOR
199	string
200	help
201	  This option should contain the vendor name of the target board.
202	  If it is set and
203	  board/<CONFIG_SYS_VENDOR>/common/Makefile exists, the vendor common
204	  directory is compiled.
205	  If CONFIG_SYS_BOARD is also set, the sources under
206	  board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD> directory are compiled.
207
208	  This is optional.  For those targets without the vendor directory,
209	  leave this option empty.
210
211config SYS_BOARD
212	string
213	help
214	  This option should contain the name of the target board.
215	  If it is set, either board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD>
216	  or board/<CONFIG_SYS_BOARD> directory is compiled depending on
217	  whether CONFIG_SYS_VENDOR is set or not.
218
219	  This is optional.  For those targets without the board directory,
220	  leave this option empty.
221
222config SYS_CONFIG_NAME
223	string
224	help
225	  This option should contain the base name of board header file.
226	  The header file include/configs/<CONFIG_SYS_CONFIG_NAME>.h
227	  should be included from include/config.h.
228
229source "arch/arc/Kconfig"
230source "arch/arm/Kconfig"
231source "arch/m68k/Kconfig"
232source "arch/microblaze/Kconfig"
233source "arch/mips/Kconfig"
234source "arch/nds32/Kconfig"
235source "arch/nios2/Kconfig"
236source "arch/powerpc/Kconfig"
237source "arch/sandbox/Kconfig"
238source "arch/sh/Kconfig"
239source "arch/x86/Kconfig"
240source "arch/xtensa/Kconfig"
241source "arch/riscv/Kconfig"
242