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