clk: rk3399: Enable/Disable the PCIEPHY clk
[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         select SUPPORT_OF_CONTROL
32
33 config MICROBLAZE
34         bool "MicroBlaze architecture"
35         select SUPPORT_OF_CONTROL
36         imply CMD_IRQ
37
38 config MIPS
39         bool "MIPS architecture"
40         select HAVE_ARCH_IOREMAP
41         select HAVE_PRIVATE_LIBGCC
42         select SUPPORT_OF_CONTROL
43
44 config NDS32
45         bool "NDS32 architecture"
46         select SUPPORT_OF_CONTROL
47
48 config NIOS2
49         bool "Nios II architecture"
50         select CPU
51         select DM
52         select OF_CONTROL
53         select SUPPORT_OF_CONTROL
54         imply CMD_DM
55
56 config PPC
57         bool "PowerPC architecture"
58         select HAVE_PRIVATE_LIBGCC
59         select SUPPORT_OF_CONTROL
60         select SYS_BOOT_GET_CMDLINE
61         select SYS_BOOT_GET_KBD
62
63 config RISCV
64         bool "RISC-V architecture"
65         select CREATE_ARCH_SYMLINK
66         select SUPPORT_OF_CONTROL
67         select OF_CONTROL
68         select DM
69         imply DM_SERIAL
70         imply DM_ETH
71         imply DM_MMC
72         imply DM_SPI
73         imply DM_SPI_FLASH
74         imply BLK
75         imply CLK
76         imply MTD
77         imply TIMER
78         imply CMD_DM
79         imply SPL_DM
80         imply SPL_OF_CONTROL
81         imply SPL_LIBCOMMON_SUPPORT
82         imply SPL_LIBGENERIC_SUPPORT
83         imply SPL_SERIAL_SUPPORT
84         imply SPL_TIMER
85
86 config SANDBOX
87         bool "Sandbox"
88         select BOARD_LATE_INIT
89         select DM
90         select DM_GPIO
91         select DM_I2C
92         select DM_KEYBOARD
93         select DM_MMC
94         select DM_SERIAL
95         select DM_SPI
96         select DM_SPI_FLASH
97         select HAVE_BLOCK_DEVICE
98         select LZO
99         select OF_BOARD_SETUP
100         select PCI_ENDPOINT
101         select SPI
102         select SUPPORT_OF_CONTROL
103         select SYSRESET_CMD_POWEROFF if CMD_POWEROFF
104         imply BITREVERSE
105         select BLOBLIST
106         imply CMD_DM
107         imply CMD_GETTIME
108         imply CMD_HASH
109         imply CMD_IO
110         imply CMD_IOTRACE
111         imply CMD_LZMADEC
112         imply CMD_SATA
113         imply CMD_SF
114         imply CMD_SF_TEST
115         imply CRC32_VERIFY
116         imply FAT_WRITE
117         imply FIRMWARE
118         imply HASH_VERIFY
119         imply LZMA
120         imply SCSI
121         imply TEE
122         imply AVB_VERIFY
123         imply LIBAVB
124         imply CMD_AVB
125         imply UDP_FUNCTION_FASTBOOT
126         imply VIRTIO_MMIO
127         imply VIRTIO_PCI
128         imply VIRTIO_SANDBOX
129         imply VIRTIO_BLK
130         imply VIRTIO_NET
131         imply DM_SOUND
132         imply PCI_SANDBOX_EP
133         imply PCH
134         imply PHYLIB
135         imply DM_MDIO
136         imply DM_MDIO_MUX
137         imply ACPI_PMC
138         imply ACPI_PMC_SANDBOX
139         imply CMD_PMC
140
141 config SH
142         bool "SuperH architecture"
143         select HAVE_PRIVATE_LIBGCC
144         select SUPPORT_OF_CONTROL
145
146 config X86
147         bool "x86 architecture"
148         select SUPPORT_SPL
149         select SUPPORT_TPL
150         select CREATE_ARCH_SYMLINK
151         select DM
152         select DM_PCI
153         select HAVE_ARCH_IOMAP
154         select HAVE_PRIVATE_LIBGCC
155         select OF_CONTROL
156         select PCI
157         select SUPPORT_OF_CONTROL
158         select TIMER
159         select USE_PRIVATE_LIBGCC
160         select X86_TSC_TIMER
161         imply BLK
162         imply CMD_DM
163         imply CMD_FPGA_LOADMK
164         imply CMD_GETTIME
165         imply CMD_IO
166         imply CMD_IRQ
167         imply CMD_PCI
168         imply CMD_SF
169         imply CMD_SF_TEST
170         imply CMD_ZBOOT
171         imply DM_ETH
172         imply DM_GPIO
173         imply DM_KEYBOARD
174         imply DM_MMC
175         imply DM_RTC
176         imply DM_SCSI
177         imply DM_SERIAL
178         imply DM_SPI
179         imply DM_SPI_FLASH
180         imply DM_USB
181         imply DM_VIDEO
182         imply SYSRESET
183         imply SPL_SYSRESET
184         imply SYSRESET_X86
185         imply USB_ETHER_ASIX
186         imply USB_ETHER_SMSC95XX
187         imply USB_HOST_ETHER
188         imply PCH
189         imply RTC_MC146818
190         imply IRQ
191
192         # Thing to enable for when SPL/TPL are enabled: SPL
193         imply SPL_DM
194         imply SPL_OF_LIBFDT
195         imply SPL_DRIVERS_MISC_SUPPORT
196         imply SPL_GPIO_SUPPORT
197         imply SPL_PINCTRL
198         imply SPL_LIBCOMMON_SUPPORT
199         imply SPL_LIBGENERIC_SUPPORT
200         imply SPL_SERIAL_SUPPORT
201         imply SPL_SPI_FLASH_SUPPORT
202         imply SPL_SPI_SUPPORT
203         imply SPL_OF_CONTROL
204         imply SPL_TIMER
205         imply SPL_REGMAP
206         imply SPL_SYSCON
207         # TPL
208         imply TPL_DM
209         imply TPL_DRIVERS_MISC_SUPPORT
210         imply TPL_GPIO_SUPPORT
211         imply TPL_PINCTRL
212         imply TPL_LIBCOMMON_SUPPORT
213         imply TPL_LIBGENERIC_SUPPORT
214         imply TPL_SERIAL_SUPPORT
215         imply TPL_OF_CONTROL
216         imply TPL_TIMER
217         imply TPL_REGMAP
218         imply TPL_SYSCON
219
220 config XTENSA
221         bool "Xtensa architecture"
222         select CREATE_ARCH_SYMLINK
223         select SUPPORT_OF_CONTROL
224
225 endchoice
226
227 config SYS_ARCH
228         string
229         help
230           This option should contain the architecture name to build the
231           appropriate arch/<CONFIG_SYS_ARCH> directory.
232           All the architectures should specify this option correctly.
233
234 config SYS_CPU
235         string
236         help
237           This option should contain the CPU name to build the correct
238           arch/<CONFIG_SYS_ARCH>/cpu/<CONFIG_SYS_CPU> directory.
239
240           This is optional.  For those targets without the CPU directory,
241           leave this option empty.
242
243 config SYS_SOC
244         string
245         help
246           This option should contain the SoC name to build the directory
247           arch/<CONFIG_SYS_ARCH>/cpu/<CONFIG_SYS_CPU>/<CONFIG_SYS_SOC>.
248
249           This is optional.  For those targets without the SoC directory,
250           leave this option empty.
251
252 config SYS_VENDOR
253         string
254         help
255           This option should contain the vendor name of the target board.
256           If it is set and
257           board/<CONFIG_SYS_VENDOR>/common/Makefile exists, the vendor common
258           directory is compiled.
259           If CONFIG_SYS_BOARD is also set, the sources under
260           board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD> directory are compiled.
261
262           This is optional.  For those targets without the vendor directory,
263           leave this option empty.
264
265 config SYS_BOARD
266         string
267         help
268           This option should contain the name of the target board.
269           If it is set, either board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD>
270           or board/<CONFIG_SYS_BOARD> directory is compiled depending on
271           whether CONFIG_SYS_VENDOR is set or not.
272
273           This is optional.  For those targets without the board directory,
274           leave this option empty.
275
276 config SYS_CONFIG_NAME
277         string
278         help
279           This option should contain the base name of board header file.
280           The header file include/configs/<CONFIG_SYS_CONFIG_NAME>.h
281           should be included from include/config.h.
282
283 config SYS_DISABLE_DCACHE_OPS
284         bool
285         help
286          This option disables dcache flush and dcache invalidation
287          operations. For example, on coherent systems where cache
288          operatios are not required, enable this option to avoid them.
289          Note that, its up to the individual architectures to implement
290          this functionality.
291
292 source "arch/arc/Kconfig"
293 source "arch/arm/Kconfig"
294 source "arch/m68k/Kconfig"
295 source "arch/microblaze/Kconfig"
296 source "arch/mips/Kconfig"
297 source "arch/nds32/Kconfig"
298 source "arch/nios2/Kconfig"
299 source "arch/powerpc/Kconfig"
300 source "arch/sandbox/Kconfig"
301 source "arch/sh/Kconfig"
302 source "arch/x86/Kconfig"
303 source "arch/xtensa/Kconfig"
304 source "arch/riscv/Kconfig"