riscv: kconfig: Select DM and OF_CONTROL
[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 CMD_DM
68
69 config SANDBOX
70         bool "Sandbox"
71         select BOARD_LATE_INIT
72         select DM
73         select DM_GPIO
74         select DM_I2C
75         select DM_KEYBOARD
76         select DM_MMC
77         select DM_SERIAL
78         select DM_SPI
79         select DM_SPI_FLASH
80         select HAVE_BLOCK_DEVICE
81         select LZO
82         select SPI
83         select SUPPORT_OF_CONTROL
84         imply BITREVERSE
85         imply CMD_DM
86         imply CMD_GETTIME
87         imply CMD_HASH
88         imply CMD_IO
89         imply CMD_IOTRACE
90         imply CMD_LZMADEC
91         imply CMD_SATA
92         imply CMD_SF_TEST
93         imply CRC32_VERIFY
94         imply FAT_WRITE
95         imply FIRMWARE
96         imply HASH_VERIFY
97         imply LZMA
98         imply SCSI
99
100 config SH
101         bool "SuperH architecture"
102         select HAVE_PRIVATE_LIBGCC
103
104 config X86
105         bool "x86 architecture"
106         select CREATE_ARCH_SYMLINK
107         select DM
108         select DM_PCI
109         select HAVE_PRIVATE_LIBGCC
110         select OF_CONTROL
111         select PCI
112         select SUPPORT_OF_CONTROL
113         select TIMER
114         select USE_PRIVATE_LIBGCC
115         select X86_TSC_TIMER
116         imply BLK
117         imply CMD_DM
118         imply CMD_FPGA_LOADMK
119         imply CMD_GETTIME
120         imply CMD_IO
121         imply CMD_IRQ
122         imply CMD_PCI
123         imply CMD_SF_TEST
124         imply CMD_ZBOOT
125         imply DM_ETH
126         imply DM_GPIO
127         imply DM_KEYBOARD
128         imply DM_MMC
129         imply DM_RTC
130         imply DM_SCSI
131         imply DM_SERIAL
132         imply DM_SPI
133         imply DM_SPI_FLASH
134         imply DM_USB
135         imply DM_VIDEO
136         imply SYSRESET
137         imply SYSRESET_X86
138         imply USB_ETHER_ASIX
139         imply USB_ETHER_SMSC95XX
140         imply USB_HOST_ETHER
141
142 config XTENSA
143         bool "Xtensa architecture"
144         select CREATE_ARCH_SYMLINK
145         select SUPPORT_OF_CONTROL
146
147 endchoice
148
149 config SYS_ARCH
150         string
151         help
152           This option should contain the architecture name to build the
153           appropriate arch/<CONFIG_SYS_ARCH> directory.
154           All the architectures should specify this option correctly.
155
156 config SYS_CPU
157         string
158         help
159           This option should contain the CPU name to build the correct
160           arch/<CONFIG_SYS_ARCH>/cpu/<CONFIG_SYS_CPU> directory.
161
162           This is optional.  For those targets without the CPU directory,
163           leave this option empty.
164
165 config SYS_SOC
166         string
167         help
168           This option should contain the SoC name to build the directory
169           arch/<CONFIG_SYS_ARCH>/cpu/<CONFIG_SYS_CPU>/<CONFIG_SYS_SOC>.
170
171           This is optional.  For those targets without the SoC directory,
172           leave this option empty.
173
174 config SYS_VENDOR
175         string
176         help
177           This option should contain the vendor name of the target board.
178           If it is set and
179           board/<CONFIG_SYS_VENDOR>/common/Makefile exists, the vendor common
180           directory is compiled.
181           If CONFIG_SYS_BOARD is also set, the sources under
182           board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD> directory are compiled.
183
184           This is optional.  For those targets without the vendor directory,
185           leave this option empty.
186
187 config SYS_BOARD
188         string
189         help
190           This option should contain the name of the target board.
191           If it is set, either board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD>
192           or board/<CONFIG_SYS_BOARD> directory is compiled depending on
193           whether CONFIG_SYS_VENDOR is set or not.
194
195           This is optional.  For those targets without the board directory,
196           leave this option empty.
197
198 config SYS_CONFIG_NAME
199         string
200         help
201           This option should contain the base name of board header file.
202           The header file include/configs/<CONFIG_SYS_CONFIG_NAME>.h
203           should be included from include/config.h.
204
205 source "arch/arc/Kconfig"
206 source "arch/arm/Kconfig"
207 source "arch/m68k/Kconfig"
208 source "arch/microblaze/Kconfig"
209 source "arch/mips/Kconfig"
210 source "arch/nds32/Kconfig"
211 source "arch/nios2/Kconfig"
212 source "arch/powerpc/Kconfig"
213 source "arch/sandbox/Kconfig"
214 source "arch/sh/Kconfig"
215 source "arch/x86/Kconfig"
216 source "arch/xtensa/Kconfig"
217 source "arch/riscv/Kconfig"