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