sysreset: enable driver support in SPL/TPL
[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 CREATE_ARCH_SYMLINK
65         select SUPPORT_OF_CONTROL
66         select OF_CONTROL
67         select DM
68         imply DM_SERIAL
69         imply DM_ETH
70         imply DM_MMC
71         imply DM_SPI
72         imply DM_SPI_FLASH
73         imply BLK
74         imply CLK
75         imply MTD
76         imply TIMER
77         imply CMD_DM
78
79 config SANDBOX
80         bool "Sandbox"
81         select BOARD_LATE_INIT
82         select DM
83         select DM_GPIO
84         select DM_I2C
85         select DM_KEYBOARD
86         select DM_MMC
87         select DM_SERIAL
88         select DM_SPI
89         select DM_SPI_FLASH
90         select HAVE_BLOCK_DEVICE
91         select LZO
92         select SPI
93         select SUPPORT_OF_CONTROL
94         imply BITREVERSE
95         select BLOBLIST
96         imply CMD_DM
97         imply CMD_GETTIME
98         imply CMD_HASH
99         imply CMD_IO
100         imply CMD_IOTRACE
101         imply CMD_LZMADEC
102         imply CMD_SATA
103         imply CMD_SF_TEST
104         imply CRC32_VERIFY
105         imply FAT_WRITE
106         imply FIRMWARE
107         imply HASH_VERIFY
108         imply LZMA
109         imply SCSI
110         imply TEE
111         imply AVB_VERIFY
112         imply LIBAVB
113         imply CMD_AVB
114         imply UDP_FUNCTION_FASTBOOT
115         imply VIRTIO_MMIO
116         imply VIRTIO_PCI
117         imply VIRTIO_SANDBOX
118         imply VIRTIO_BLK
119         imply VIRTIO_NET
120         imply DM_SOUND
121         imply PCH
122
123 config SH
124         bool "SuperH architecture"
125         select HAVE_PRIVATE_LIBGCC
126
127 config X86
128         bool "x86 architecture"
129         select CREATE_ARCH_SYMLINK
130         select DM
131         select DM_PCI
132         select HAVE_ARCH_IOMAP
133         select HAVE_PRIVATE_LIBGCC
134         select OF_CONTROL
135         select PCI
136         select SUPPORT_OF_CONTROL
137         select TIMER
138         select USE_PRIVATE_LIBGCC
139         select X86_TSC_TIMER
140         imply BLK
141         imply CMD_DM
142         imply CMD_FPGA_LOADMK
143         imply CMD_GETTIME
144         imply CMD_IO
145         imply CMD_IRQ
146         imply CMD_PCI
147         imply CMD_SF_TEST
148         imply CMD_ZBOOT
149         imply DM_ETH
150         imply DM_GPIO
151         imply DM_KEYBOARD
152         imply DM_MMC
153         imply DM_RTC
154         imply DM_SCSI
155         imply DM_SERIAL
156         imply DM_SPI
157         imply DM_SPI_FLASH
158         imply DM_USB
159         imply DM_VIDEO
160         imply SYSRESET
161         imply SPL_SYSRESET
162         imply SYSRESET_X86
163         imply USB_ETHER_ASIX
164         imply USB_ETHER_SMSC95XX
165         imply USB_HOST_ETHER
166         imply PCH
167
168 config XTENSA
169         bool "Xtensa architecture"
170         select CREATE_ARCH_SYMLINK
171         select SUPPORT_OF_CONTROL
172
173 endchoice
174
175 config SYS_ARCH
176         string
177         help
178           This option should contain the architecture name to build the
179           appropriate arch/<CONFIG_SYS_ARCH> directory.
180           All the architectures should specify this option correctly.
181
182 config SYS_CPU
183         string
184         help
185           This option should contain the CPU name to build the correct
186           arch/<CONFIG_SYS_ARCH>/cpu/<CONFIG_SYS_CPU> directory.
187
188           This is optional.  For those targets without the CPU directory,
189           leave this option empty.
190
191 config SYS_SOC
192         string
193         help
194           This option should contain the SoC name to build the directory
195           arch/<CONFIG_SYS_ARCH>/cpu/<CONFIG_SYS_CPU>/<CONFIG_SYS_SOC>.
196
197           This is optional.  For those targets without the SoC directory,
198           leave this option empty.
199
200 config SYS_VENDOR
201         string
202         help
203           This option should contain the vendor name of the target board.
204           If it is set and
205           board/<CONFIG_SYS_VENDOR>/common/Makefile exists, the vendor common
206           directory is compiled.
207           If CONFIG_SYS_BOARD is also set, the sources under
208           board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD> directory are compiled.
209
210           This is optional.  For those targets without the vendor directory,
211           leave this option empty.
212
213 config SYS_BOARD
214         string
215         help
216           This option should contain the name of the target board.
217           If it is set, either board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD>
218           or board/<CONFIG_SYS_BOARD> directory is compiled depending on
219           whether CONFIG_SYS_VENDOR is set or not.
220
221           This is optional.  For those targets without the board directory,
222           leave this option empty.
223
224 config SYS_CONFIG_NAME
225         string
226         help
227           This option should contain the base name of board header file.
228           The header file include/configs/<CONFIG_SYS_CONFIG_NAME>.h
229           should be included from include/config.h.
230
231 config SYS_DISABLE_DCACHE_OPS
232         bool
233         help
234          This option disables dcache flush and dcache invalidation
235          operations. For example, on coherent systems where cache
236          operatios are not required, enable this option to avoid them.
237          Note that, its up to the individual architectures to implement
238          this functionality.
239
240 source "arch/arc/Kconfig"
241 source "arch/arm/Kconfig"
242 source "arch/m68k/Kconfig"
243 source "arch/microblaze/Kconfig"
244 source "arch/mips/Kconfig"
245 source "arch/nds32/Kconfig"
246 source "arch/nios2/Kconfig"
247 source "arch/powerpc/Kconfig"
248 source "arch/sandbox/Kconfig"
249 source "arch/sh/Kconfig"
250 source "arch/x86/Kconfig"
251 source "arch/xtensa/Kconfig"
252 source "arch/riscv/Kconfig"