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