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