i.MX7ULP: Fix PCC register bits mask and offset issue
[platform/kernel/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 PCI_ENDPOINT
100         select SPI
101         select SUPPORT_OF_CONTROL
102         select SYSRESET_CMD_POWEROFF if CMD_POWEROFF
103         imply BITREVERSE
104         select BLOBLIST
105         imply CMD_DM
106         imply CMD_GETTIME
107         imply CMD_HASH
108         imply CMD_IO
109         imply CMD_IOTRACE
110         imply CMD_LZMADEC
111         imply CMD_SATA
112         imply CMD_SF
113         imply CMD_SF_TEST
114         imply CRC32_VERIFY
115         imply FAT_WRITE
116         imply FIRMWARE
117         imply HASH_VERIFY
118         imply LZMA
119         imply SCSI
120         imply TEE
121         imply AVB_VERIFY
122         imply LIBAVB
123         imply CMD_AVB
124         imply UDP_FUNCTION_FASTBOOT
125         imply VIRTIO_MMIO
126         imply VIRTIO_PCI
127         imply VIRTIO_SANDBOX
128         imply VIRTIO_BLK
129         imply VIRTIO_NET
130         imply DM_SOUND
131         imply PCI_SANDBOX_EP
132         imply PCH
133         imply PHYLIB
134         imply DM_MDIO
135         imply DM_MDIO_MUX
136
137 config SH
138         bool "SuperH architecture"
139         select HAVE_PRIVATE_LIBGCC
140         select SUPPORT_OF_CONTROL
141
142 config X86
143         bool "x86 architecture"
144         select SUPPORT_SPL
145         select SUPPORT_TPL
146         select CREATE_ARCH_SYMLINK
147         select DM
148         select DM_PCI
149         select HAVE_ARCH_IOMAP
150         select HAVE_PRIVATE_LIBGCC
151         select OF_CONTROL
152         select PCI
153         select SUPPORT_OF_CONTROL
154         select TIMER
155         select USE_PRIVATE_LIBGCC
156         select X86_TSC_TIMER
157         imply BLK
158         imply CMD_DM
159         imply CMD_FPGA_LOADMK
160         imply CMD_GETTIME
161         imply CMD_IO
162         imply CMD_IRQ
163         imply CMD_PCI
164         imply CMD_SF
165         imply CMD_SF_TEST
166         imply CMD_ZBOOT
167         imply DM_ETH
168         imply DM_GPIO
169         imply DM_KEYBOARD
170         imply DM_MMC
171         imply DM_RTC
172         imply DM_SCSI
173         imply DM_SERIAL
174         imply DM_SPI
175         imply DM_SPI_FLASH
176         imply DM_USB
177         imply DM_VIDEO
178         imply SYSRESET
179         imply SPL_SYSRESET
180         imply SYSRESET_X86
181         imply USB_ETHER_ASIX
182         imply USB_ETHER_SMSC95XX
183         imply USB_HOST_ETHER
184         imply PCH
185         imply RTC_MC146818
186
187         # Thing to enable for when SPL/TPL are enabled: SPL
188         imply SPL_DM
189         imply SPL_OF_LIBFDT
190         imply SPL_DRIVERS_MISC_SUPPORT
191         imply SPL_GPIO_SUPPORT
192         imply SPL_LIBCOMMON_SUPPORT
193         imply SPL_LIBGENERIC_SUPPORT
194         imply SPL_SERIAL_SUPPORT
195         imply SPL_SPI_FLASH_SUPPORT
196         imply SPL_SPI_SUPPORT
197         imply SPL_OF_CONTROL
198         imply SPL_TIMER
199         imply SPL_REGMAP
200         imply SPL_SYSCON
201         # TPL
202         imply TPL_DM
203         imply TPL_OF_LIBFDT
204         imply TPL_DRIVERS_MISC_SUPPORT
205         imply TPL_GPIO_SUPPORT
206         imply TPL_LIBCOMMON_SUPPORT
207         imply TPL_LIBGENERIC_SUPPORT
208         imply TPL_SERIAL_SUPPORT
209         imply TPL_SPI_FLASH_SUPPORT
210         imply TPL_SPI_SUPPORT
211         imply TPL_OF_CONTROL
212         imply TPL_TIMER
213         imply TPL_REGMAP
214         imply TPL_SYSCON
215
216 config XTENSA
217         bool "Xtensa architecture"
218         select CREATE_ARCH_SYMLINK
219         select SUPPORT_OF_CONTROL
220
221 endchoice
222
223 config SYS_ARCH
224         string
225         help
226           This option should contain the architecture name to build the
227           appropriate arch/<CONFIG_SYS_ARCH> directory.
228           All the architectures should specify this option correctly.
229
230 config SYS_CPU
231         string
232         help
233           This option should contain the CPU name to build the correct
234           arch/<CONFIG_SYS_ARCH>/cpu/<CONFIG_SYS_CPU> directory.
235
236           This is optional.  For those targets without the CPU directory,
237           leave this option empty.
238
239 config SYS_SOC
240         string
241         help
242           This option should contain the SoC name to build the directory
243           arch/<CONFIG_SYS_ARCH>/cpu/<CONFIG_SYS_CPU>/<CONFIG_SYS_SOC>.
244
245           This is optional.  For those targets without the SoC directory,
246           leave this option empty.
247
248 config SYS_VENDOR
249         string
250         help
251           This option should contain the vendor name of the target board.
252           If it is set and
253           board/<CONFIG_SYS_VENDOR>/common/Makefile exists, the vendor common
254           directory is compiled.
255           If CONFIG_SYS_BOARD is also set, the sources under
256           board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD> directory are compiled.
257
258           This is optional.  For those targets without the vendor directory,
259           leave this option empty.
260
261 config SYS_BOARD
262         string
263         help
264           This option should contain the name of the target board.
265           If it is set, either board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD>
266           or board/<CONFIG_SYS_BOARD> directory is compiled depending on
267           whether CONFIG_SYS_VENDOR is set or not.
268
269           This is optional.  For those targets without the board directory,
270           leave this option empty.
271
272 config SYS_CONFIG_NAME
273         string
274         help
275           This option should contain the base name of board header file.
276           The header file include/configs/<CONFIG_SYS_CONFIG_NAME>.h
277           should be included from include/config.h.
278
279 config SYS_DISABLE_DCACHE_OPS
280         bool
281         help
282          This option disables dcache flush and dcache invalidation
283          operations. For example, on coherent systems where cache
284          operatios are not required, enable this option to avoid them.
285          Note that, its up to the individual architectures to implement
286          this functionality.
287
288 source "arch/arc/Kconfig"
289 source "arch/arm/Kconfig"
290 source "arch/m68k/Kconfig"
291 source "arch/microblaze/Kconfig"
292 source "arch/mips/Kconfig"
293 source "arch/nds32/Kconfig"
294 source "arch/nios2/Kconfig"
295 source "arch/powerpc/Kconfig"
296 source "arch/sandbox/Kconfig"
297 source "arch/sh/Kconfig"
298 source "arch/x86/Kconfig"
299 source "arch/xtensa/Kconfig"
300 source "arch/riscv/Kconfig"