Blame view

arch/riscv/Kconfig 5.26 KB
117a433d9   Bin Meng   riscv: kconfig: N...
1
  menu "RISC-V architecture"
f94c44e51   Rick Chen   riscv: Add Kconfi...
2
3
4
5
6
7
8
9
  	depends on RISCV
  
  config SYS_ARCH
  	default "riscv"
  
  choice
  	prompt "Target select"
  	optional
6f4dd62f3   Rick Chen   riscv: cpu: nx25:...
10
11
  config TARGET_AX25_AE350
  	bool "Support ax25-ae350"
f94c44e51   Rick Chen   riscv: Add Kconfi...
12

39494822e   Padmarao Begari   riscv: Add Microc...
13
14
  config TARGET_MICROCHIP_ICICLE
  	bool "Support Microchip PolarFire-SoC Icicle Board"
510e379c4   Bin Meng   riscv: Add QEMU v...
15
16
  config TARGET_QEMU_VIRT
  	bool "Support QEMU Virt Board"
3fda0262c   Anup Patel   riscv: Add SiFive...
17
18
  config TARGET_SIFIVE_FU540
  	bool "Support SiFive FU540 Board"
f94c44e51   Rick Chen   riscv: Add Kconfi...
19
  endchoice
a0aba8a2e   Trevor Woerner   CONFIG_SYS_[DI]CA...
20
21
22
23
24
  config SYS_ICACHE_OFF
  	bool "Do not enable icache"
  	default n
  	help
  	  Do not enable instruction cache in U-Boot.
100150254   Trevor Woerner   CONFIG_SPL_SYS_[D...
25
26
27
28
29
30
  config SPL_SYS_ICACHE_OFF
  	bool "Do not enable icache in SPL"
  	depends on SPL
  	default SYS_ICACHE_OFF
  	help
  	  Do not enable instruction cache in SPL.
a0aba8a2e   Trevor Woerner   CONFIG_SYS_[DI]CA...
31
32
33
34
35
  config SYS_DCACHE_OFF
  	bool "Do not enable dcache"
  	default n
  	help
  	  Do not enable data cache in U-Boot.
100150254   Trevor Woerner   CONFIG_SPL_SYS_[D...
36
37
38
39
40
41
  config SPL_SYS_DCACHE_OFF
  	bool "Do not enable dcache in SPL"
  	depends on SPL
  	default SYS_DCACHE_OFF
  	help
  	  Do not enable data cache in SPL.
52923c6db   Rick Chen   riscv: cache: Imp...
42
  # board-specific options below
6f4dd62f3   Rick Chen   riscv: cpu: nx25:...
43
  source "board/AndesTech/ax25-ae350/Kconfig"
510e379c4   Bin Meng   riscv: Add QEMU v...
44
  source "board/emulation/qemu-riscv/Kconfig"
39494822e   Padmarao Begari   riscv: Add Microc...
45
  source "board/microchip/mpfs_icicle/Kconfig"
3fda0262c   Anup Patel   riscv: Add SiFive...
46
  source "board/sifive/fu540/Kconfig"
f94c44e51   Rick Chen   riscv: Add Kconfi...
47

52923c6db   Rick Chen   riscv: cache: Imp...
48
49
  # platform-specific options below
  source "arch/riscv/cpu/ax25/Kconfig"
fdff1f96a   Anup Patel   riscv: Rename cpu...
50
  source "arch/riscv/cpu/generic/Kconfig"
52923c6db   Rick Chen   riscv: cache: Imp...
51
52
  
  # architecture-specific options below
f94c44e51   Rick Chen   riscv: Add Kconfi...
53
  choice
862e2e75e   Lukas Auer   riscv: rename CPU...
54
55
  	prompt "Base ISA"
  	default ARCH_RV32I
f94c44e51   Rick Chen   riscv: Add Kconfi...
56

862e2e75e   Lukas Auer   riscv: rename CPU...
57
58
  config ARCH_RV32I
  	bool "RV32I"
f94c44e51   Rick Chen   riscv: Add Kconfi...
59
60
  	select 32BIT
  	help
862e2e75e   Lukas Auer   riscv: rename CPU...
61
  	  Choose this option to target the RV32I base integer instruction set.
f94c44e51   Rick Chen   riscv: Add Kconfi...
62

862e2e75e   Lukas Auer   riscv: rename CPU...
63
64
  config ARCH_RV64I
  	bool "RV64I"
f94c44e51   Rick Chen   riscv: Add Kconfi...
65
  	select 64BIT
711585649   Lukas Auer   riscv: select CON...
66
  	select PHYS_64BIT
f94c44e51   Rick Chen   riscv: Add Kconfi...
67
  	help
862e2e75e   Lukas Auer   riscv: rename CPU...
68
  	  Choose this option to target the RV64I base integer instruction set.
f94c44e51   Rick Chen   riscv: Add Kconfi...
69
70
  
  endchoice
8176ea4d5   Lukas Auer   riscv: add Kconfi...
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
  choice
  	prompt "Code Model"
  	default CMODEL_MEDLOW
  
  config CMODEL_MEDLOW
  	bool "medium low code model"
  	help
  	  U-Boot and its statically defined symbols must lie within a single 2 GiB
  	  address range and must lie between absolute addresses -2 GiB and +2 GiB.
  
  config CMODEL_MEDANY
  	bool "medium any code model"
  	help
  	  U-Boot and its statically defined symbols must be within any single 2 GiB
  	  address range.
  
  endchoice
3cfc82526   Anup Patel   riscv: Introduce ...
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
  choice
  	prompt "Run Mode"
  	default RISCV_MMODE
  
  config RISCV_MMODE
  	bool "Machine"
  	help
  	  Choose this option to build U-Boot for RISC-V M-Mode.
  
  config RISCV_SMODE
  	bool "Supervisor"
  	help
  	  Choose this option to build U-Boot for RISC-V S-Mode.
  
  endchoice
fbfd92bf9   Lukas Auer   riscv: add run mo...
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
  choice
  	prompt "SPL Run Mode"
  	default SPL_RISCV_MMODE
  	depends on SPL
  
  config SPL_RISCV_MMODE
  	bool "Machine"
  	help
  	  Choose this option to build U-Boot SPL for RISC-V M-Mode.
  
  config SPL_RISCV_SMODE
  	bool "Supervisor"
  	help
  	  Choose this option to build U-Boot SPL for RISC-V S-Mode.
  
  endchoice
d57ffa650   Lukas Auer   riscv: add Kconfi...
119
120
121
122
123
124
125
126
127
128
  config RISCV_ISA_C
  	bool "Emit compressed instructions"
  	default y
  	help
  	  Adds "C" to the ISA subsets that the toolchain is allowed to emit
  	  when building U-Boot, which results in compressed instructions in the
  	  U-Boot binary.
  
  config RISCV_ISA_A
  	def_bool y
f94c44e51   Rick Chen   riscv: Add Kconfi...
129
130
131
132
133
  config 32BIT
  	bool
  
  config 64BIT
  	bool
644a3cd77   Bin Meng   riscv: Add a SYSC...
134
135
  config SIFIVE_CLINT
  	bool
fbfd92bf9   Lukas Auer   riscv: add run mo...
136
  	depends on RISCV_MMODE || SPL_RISCV_MMODE
644a3cd77   Bin Meng   riscv: Add a SYSC...
137
138
  	select REGMAP
  	select SYSCON
fbfd92bf9   Lukas Auer   riscv: add run mo...
139
140
  	select SPL_REGMAP if SPL
  	select SPL_SYSCON if SPL
644a3cd77   Bin Meng   riscv: Add a SYSC...
141
142
143
  	help
  	  The SiFive CLINT block holds memory-mapped control and status registers
  	  associated with software and timer interrupts.
0d389468e   Rick Chen   riscv: Add a SYSC...
144
145
  config ANDES_PLIC
  	bool
fbfd92bf9   Lukas Auer   riscv: add run mo...
146
  	depends on RISCV_MMODE || SPL_RISCV_MMODE
0d389468e   Rick Chen   riscv: Add a SYSC...
147
148
  	select REGMAP
  	select SYSCON
fbfd92bf9   Lukas Auer   riscv: add run mo...
149
150
  	select SPL_REGMAP if SPL
  	select SPL_SYSCON if SPL
0d389468e   Rick Chen   riscv: Add a SYSC...
151
152
153
  	help
  	  The Andes PLIC block holds memory-mapped claim and pending registers
  	  associated with software interrupt.
a1f24875c   Rick Chen   riscv: Add a SYSC...
154
155
  config ANDES_PLMT
  	bool
fbfd92bf9   Lukas Auer   riscv: add run mo...
156
  	depends on RISCV_MMODE || SPL_RISCV_MMODE
a1f24875c   Rick Chen   riscv: Add a SYSC...
157
158
  	select REGMAP
  	select SYSCON
fbfd92bf9   Lukas Auer   riscv: add run mo...
159
160
  	select SPL_REGMAP if SPL
  	select SPL_SYSCON if SPL
a1f24875c   Rick Chen   riscv: Add a SYSC...
161
162
163
  	help
  	  The Andes PLMT block holds memory-mapped mtime register
  	  associated with timer tick.
511107d85   Anup Patel   riscv: Implement ...
164
165
  config RISCV_RDTIME
  	bool
fbfd92bf9   Lukas Auer   riscv: add run mo...
166
  	default y if RISCV_SMODE || SPL_RISCV_SMODE
511107d85   Anup Patel   riscv: Implement ...
167
168
169
170
  	help
  	  The provides the riscv_get_time() API that is implemented using the
  	  standard rdtime instruction. This is the case for S-mode U-Boot, and
  	  is useful for processors that support rdtime in M-mode too.
92b64fef0   Bin Meng   riscv: Enlarge th...
171
172
  config SYS_MALLOC_F_LEN
  	default 0x1000
fa33f08fd   Lukas Auer   riscv: add infras...
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
  config SMP
  	bool "Symmetric Multi-Processing"
  	help
  	  This enables support for systems with more than one CPU. If
  	  you say N here, U-Boot will run on single and multiprocessor
  	  machines, but will use only one CPU of a multiprocessor
  	  machine. If you say Y here, U-Boot will run on many, but not
  	  all, single processor machines.
  
  config NR_CPUS
  	int "Maximum number of CPUs (2-32)"
  	range 2 32
  	depends on SMP
  	default 8
  	help
  	  On multiprocessor machines, U-Boot sets up a stack for each CPU.
  	  Stack memory is pre-allocated. U-Boot must therefore know the
  	  maximum number of CPUs that may be present.
f58fc34a2   Bin Meng   riscv: Add basic ...
191
192
193
  config SBI
  	bool
  	default y if RISCV_SMODE || SPL_RISCV_SMODE
1b3c8d640   Bin Meng   riscv: Introduce ...
194
195
196
197
198
199
200
  config SBI_V01
  	bool "SBI v0.1 support"
  	default y
  	depends on SBI
  	help
  	  This config allows kernel to use SBI v0.1 APIs. This will be
  	  deprecated in future once legacy M-mode software are no longer in use.
f152febb2   Lukas Auer   riscv: implement ...
201
202
  config SBI_IPI
  	bool
f58fc34a2   Bin Meng   riscv: Add basic ...
203
  	depends on SBI
fbfd92bf9   Lukas Auer   riscv: add run mo...
204
  	default y if RISCV_SMODE || SPL_RISCV_SMODE
f152febb2   Lukas Auer   riscv: implement ...
205
  	depends on SMP
bdce38965   Rick Chen   riscv: Introduce ...
206
207
208
209
210
211
  config XIP
  	bool "XIP mode"
  	help
  	  XIP (eXecute In Place) is a method for executing code directly
  	  from a NOR flash memory without copying the code to ram.
  	  Say yes here if U-Boot boots from flash directly.
fd1f6e9a0   Sean Anderson   riscv: Add option...
212
213
  config SHOW_REGS
  	bool "Show registers on unhandled exception"
3dea63c84   Lukas Auer   riscv: add suppor...
214
215
  config STACK_SIZE_SHIFT
  	int
6b20dc165   Lukas Auer   riscv: increase s...
216
  	default 14
3dea63c84   Lukas Auer   riscv: add suppor...
217

8c59f2023   Lukas Auer   riscv: add SPL su...
218
219
  config SPL_LDSCRIPT
  	default "arch/riscv/cpu/u-boot-spl.lds"
f94c44e51   Rick Chen   riscv: Add Kconfi...
220
  endmenu