blob: f513f52672bae0ce08ff9385a7db156078cbee0a [file] [log] [blame]
Bin Meng6b697752018-09-26 06:55:06 -07001menu "RISC-V architecture"
Rick Chen64d4ead2017-12-26 13:55:52 +08002 depends on RISCV
3
4config SYS_ARCH
5 default "riscv"
6
7choice
8 prompt "Target select"
9 optional
10
Rick Chenb66af372018-05-29 09:54:40 +080011config TARGET_AX25_AE350
12 bool "Support ax25-ae350"
Rick Chen64d4ead2017-12-26 13:55:52 +080013
Bin Meng8a8694d2018-09-26 06:55:21 -070014config TARGET_QEMU_VIRT
15 bool "Support QEMU Virt Board"
16
Rick Chen64d4ead2017-12-26 13:55:52 +080017endchoice
18
Rick Chen842d5802018-11-07 09:34:06 +080019# board-specific options below
Rick Chenb66af372018-05-29 09:54:40 +080020source "board/AndesTech/ax25-ae350/Kconfig"
Bin Meng8a8694d2018-09-26 06:55:21 -070021source "board/emulation/qemu-riscv/Kconfig"
Rick Chen64d4ead2017-12-26 13:55:52 +080022
Rick Chen842d5802018-11-07 09:34:06 +080023# platform-specific options below
24source "arch/riscv/cpu/ax25/Kconfig"
25
26# architecture-specific options below
27
Rick Chen64d4ead2017-12-26 13:55:52 +080028choice
Lukas Auer54ebfe72018-11-22 11:26:12 +010029 prompt "Base ISA"
30 default ARCH_RV32I
Rick Chen64d4ead2017-12-26 13:55:52 +080031
Lukas Auer54ebfe72018-11-22 11:26:12 +010032config ARCH_RV32I
33 bool "RV32I"
Rick Chen64d4ead2017-12-26 13:55:52 +080034 select 32BIT
35 help
Lukas Auer54ebfe72018-11-22 11:26:12 +010036 Choose this option to target the RV32I base integer instruction set.
Rick Chen64d4ead2017-12-26 13:55:52 +080037
Lukas Auer54ebfe72018-11-22 11:26:12 +010038config ARCH_RV64I
39 bool "RV64I"
Rick Chen64d4ead2017-12-26 13:55:52 +080040 select 64BIT
Lukas Auer7ab1df02018-11-22 11:26:13 +010041 select PHYS_64BIT
Rick Chen64d4ead2017-12-26 13:55:52 +080042 help
Lukas Auer54ebfe72018-11-22 11:26:12 +010043 Choose this option to target the RV64I base integer instruction set.
Rick Chen64d4ead2017-12-26 13:55:52 +080044
45endchoice
46
Lukas Auerecc5d832018-12-12 06:12:23 -080047choice
48 prompt "Code Model"
49 default CMODEL_MEDLOW
50
51config CMODEL_MEDLOW
52 bool "medium low code model"
53 help
54 U-Boot and its statically defined symbols must lie within a single 2 GiB
55 address range and must lie between absolute addresses -2 GiB and +2 GiB.
56
57config CMODEL_MEDANY
58 bool "medium any code model"
59 help
60 U-Boot and its statically defined symbols must be within any single 2 GiB
61 address range.
62
63endchoice
64
Anup Patel27881772018-12-12 06:12:29 -080065choice
66 prompt "Run Mode"
67 default RISCV_MMODE
68
69config RISCV_MMODE
70 bool "Machine"
71 help
72 Choose this option to build U-Boot for RISC-V M-Mode.
73
74config RISCV_SMODE
75 bool "Supervisor"
76 help
77 Choose this option to build U-Boot for RISC-V S-Mode.
78
79endchoice
80
Lukas Auer002012f2018-11-22 11:26:14 +010081config RISCV_ISA_C
82 bool "Emit compressed instructions"
83 default y
84 help
85 Adds "C" to the ISA subsets that the toolchain is allowed to emit
86 when building U-Boot, which results in compressed instructions in the
87 U-Boot binary.
88
89config RISCV_ISA_A
90 def_bool y
91
Rick Chen64d4ead2017-12-26 13:55:52 +080092config 32BIT
93 bool
94
95config 64BIT
96 bool
97
Bin Mengb6ee5e12018-12-12 06:12:30 -080098config SIFIVE_CLINT
99 bool
100 depends on RISCV_MMODE
101 select REGMAP
102 select SYSCON
103 help
104 The SiFive CLINT block holds memory-mapped control and status registers
105 associated with software and timer interrupts.
106
Rick Chen64d4ead2017-12-26 13:55:52 +0800107endmenu