Masahiro Yamada | dd84058 | 2014-07-30 14:08:14 +0900 | [diff] [blame] | 1 | menu "MIPS architecture" |
| 2 | depends on MIPS |
| 3 | |
| 4 | config SYS_ARCH |
Masahiro Yamada | dd84058 | 2014-07-30 14:08:14 +0900 | [diff] [blame] | 5 | default "mips" |
| 6 | |
Daniel Schwierzeck | b9863b6 | 2014-10-26 14:14:07 +0100 | [diff] [blame] | 7 | config SYS_CPU |
Paul Burton | 20286cd | 2016-05-16 10:52:11 +0100 | [diff] [blame] | 8 | default "mips32" if CPU_MIPS32 |
| 9 | default "mips64" if CPU_MIPS64 |
Daniel Schwierzeck | b9863b6 | 2014-10-26 14:14:07 +0100 | [diff] [blame] | 10 | |
Masahiro Yamada | dd84058 | 2014-07-30 14:08:14 +0900 | [diff] [blame] | 11 | choice |
| 12 | prompt "Target select" |
Joe Hershberger | a26cd04 | 2015-05-12 14:46:23 -0500 | [diff] [blame] | 13 | optional |
Masahiro Yamada | dd84058 | 2014-07-30 14:08:14 +0900 | [diff] [blame] | 14 | |
| 15 | config TARGET_QEMU_MIPS |
| 16 | bool "Support qemu-mips" |
Daniel Schwierzeck | 0e1dc34 | 2014-10-26 14:14:07 +0100 | [diff] [blame] | 17 | select SUPPORTS_BIG_ENDIAN |
| 18 | select SUPPORTS_LITTLE_ENDIAN |
Daniel Schwierzeck | 02611cb | 2014-10-26 14:14:07 +0100 | [diff] [blame] | 19 | select SUPPORTS_CPU_MIPS32_R1 |
| 20 | select SUPPORTS_CPU_MIPS32_R2 |
Daniel Schwierzeck | aa45f75 | 2014-10-26 14:14:07 +0100 | [diff] [blame] | 21 | select SUPPORTS_CPU_MIPS64_R1 |
| 22 | select SUPPORTS_CPU_MIPS64_R2 |
Masahiro Yamada | dd84058 | 2014-07-30 14:08:14 +0900 | [diff] [blame] | 23 | |
| 24 | config TARGET_MALTA |
| 25 | bool "Support malta" |
Paul Burton | 6242aa1 | 2016-05-17 07:43:28 +0100 | [diff] [blame] | 26 | select DM |
| 27 | select DM_SERIAL |
Paul Burton | 05e3425 | 2016-01-29 13:54:52 +0000 | [diff] [blame] | 28 | select DYNAMIC_IO_PORT_BASE |
Paul Burton | 6242aa1 | 2016-05-17 07:43:28 +0100 | [diff] [blame] | 29 | select OF_CONTROL |
| 30 | select OF_ISA_BUS |
Daniel Schwierzeck | 0e1dc34 | 2014-10-26 14:14:07 +0100 | [diff] [blame] | 31 | select SUPPORTS_BIG_ENDIAN |
| 32 | select SUPPORTS_LITTLE_ENDIAN |
Daniel Schwierzeck | 02611cb | 2014-10-26 14:14:07 +0100 | [diff] [blame] | 33 | select SUPPORTS_CPU_MIPS32_R1 |
| 34 | select SUPPORTS_CPU_MIPS32_R2 |
Paul Burton | 40ba13c | 2016-05-16 10:52:14 +0100 | [diff] [blame] | 35 | select SUPPORTS_CPU_MIPS32_R6 |
Paul Burton | 0f832b9 | 2016-05-26 14:49:36 +0100 | [diff] [blame] | 36 | select SUPPORTS_CPU_MIPS64_R1 |
| 37 | select SUPPORTS_CPU_MIPS64_R2 |
| 38 | select SUPPORTS_CPU_MIPS64_R6 |
Daniel Schwierzeck | 9d638ee | 2015-01-18 22:00:18 +0100 | [diff] [blame] | 39 | select SWAP_IO_SPACE |
Daniel Schwierzeck | f53830e | 2016-01-09 17:32:50 +0100 | [diff] [blame] | 40 | select MIPS_L1_CACHE_SHIFT_6 |
Masahiro Yamada | dd84058 | 2014-07-30 14:08:14 +0900 | [diff] [blame] | 41 | |
| 42 | config TARGET_VCT |
| 43 | bool "Support vct" |
Daniel Schwierzeck | 0e1dc34 | 2014-10-26 14:14:07 +0100 | [diff] [blame] | 44 | select SUPPORTS_BIG_ENDIAN |
Daniel Schwierzeck | 02611cb | 2014-10-26 14:14:07 +0100 | [diff] [blame] | 45 | select SUPPORTS_CPU_MIPS32_R1 |
| 46 | select SUPPORTS_CPU_MIPS32_R2 |
Paul Burton | dd7c720 | 2015-01-29 01:28:02 +0000 | [diff] [blame] | 47 | select SYS_MIPS_CACHE_INIT_RAM_LOAD |
Masahiro Yamada | dd84058 | 2014-07-30 14:08:14 +0900 | [diff] [blame] | 48 | |
| 49 | config TARGET_DBAU1X00 |
| 50 | bool "Support dbau1x00" |
Daniel Schwierzeck | 0e1dc34 | 2014-10-26 14:14:07 +0100 | [diff] [blame] | 51 | select SUPPORTS_BIG_ENDIAN |
| 52 | select SUPPORTS_LITTLE_ENDIAN |
Daniel Schwierzeck | 02611cb | 2014-10-26 14:14:07 +0100 | [diff] [blame] | 53 | select SUPPORTS_CPU_MIPS32_R1 |
| 54 | select SUPPORTS_CPU_MIPS32_R2 |
Paul Burton | dd7c720 | 2015-01-29 01:28:02 +0000 | [diff] [blame] | 55 | select SYS_MIPS_CACHE_INIT_RAM_LOAD |
Daniel Schwierzeck | 0315a28 | 2015-12-26 19:55:37 +0100 | [diff] [blame] | 56 | select MIPS_TUNE_4KC |
Masahiro Yamada | dd84058 | 2014-07-30 14:08:14 +0900 | [diff] [blame] | 57 | |
| 58 | config TARGET_PB1X00 |
| 59 | bool "Support pb1x00" |
Daniel Schwierzeck | 0e1dc34 | 2014-10-26 14:14:07 +0100 | [diff] [blame] | 60 | select SUPPORTS_LITTLE_ENDIAN |
Daniel Schwierzeck | 02611cb | 2014-10-26 14:14:07 +0100 | [diff] [blame] | 61 | select SUPPORTS_CPU_MIPS32_R1 |
| 62 | select SUPPORTS_CPU_MIPS32_R2 |
Paul Burton | dd7c720 | 2015-01-29 01:28:02 +0000 | [diff] [blame] | 63 | select SYS_MIPS_CACHE_INIT_RAM_LOAD |
Daniel Schwierzeck | 0315a28 | 2015-12-26 19:55:37 +0100 | [diff] [blame] | 64 | select MIPS_TUNE_4KC |
Masahiro Yamada | dd84058 | 2014-07-30 14:08:14 +0900 | [diff] [blame] | 65 | |
Wills Wang | 1d3d0f1 | 2016-03-16 16:59:52 +0800 | [diff] [blame] | 66 | config ARCH_ATH79 |
| 67 | bool "Support QCA/Atheros ath79" |
| 68 | select OF_CONTROL |
| 69 | select DM |
| 70 | |
Purna Chandra Mandal | 32c1a6e | 2016-01-28 15:30:10 +0530 | [diff] [blame] | 71 | config MACH_PIC32 |
| 72 | bool "Support Microchip PIC32" |
| 73 | select OF_CONTROL |
| 74 | select DM |
| 75 | |
Masahiro Yamada | dd84058 | 2014-07-30 14:08:14 +0900 | [diff] [blame] | 76 | endchoice |
| 77 | |
| 78 | source "board/dbau1x00/Kconfig" |
| 79 | source "board/imgtec/malta/Kconfig" |
| 80 | source "board/micronas/vct/Kconfig" |
| 81 | source "board/pb1x00/Kconfig" |
| 82 | source "board/qemu-mips/Kconfig" |
Wills Wang | 1d3d0f1 | 2016-03-16 16:59:52 +0800 | [diff] [blame] | 83 | source "arch/mips/mach-ath79/Kconfig" |
Purna Chandra Mandal | 32c1a6e | 2016-01-28 15:30:10 +0530 | [diff] [blame] | 84 | source "arch/mips/mach-pic32/Kconfig" |
Masahiro Yamada | dd84058 | 2014-07-30 14:08:14 +0900 | [diff] [blame] | 85 | |
Daniel Schwierzeck | 0e1dc34 | 2014-10-26 14:14:07 +0100 | [diff] [blame] | 86 | if MIPS |
| 87 | |
| 88 | choice |
| 89 | prompt "Endianness selection" |
| 90 | help |
| 91 | Some MIPS boards can be configured for either little or big endian |
| 92 | byte order. These modes require different U-Boot images. In general there |
| 93 | is one preferred byteorder for a particular system but some systems are |
| 94 | just as commonly used in the one or the other endianness. |
| 95 | |
| 96 | config SYS_BIG_ENDIAN |
| 97 | bool "Big endian" |
| 98 | depends on SUPPORTS_BIG_ENDIAN |
| 99 | |
| 100 | config SYS_LITTLE_ENDIAN |
| 101 | bool "Little endian" |
| 102 | depends on SUPPORTS_LITTLE_ENDIAN |
| 103 | |
| 104 | endchoice |
| 105 | |
Daniel Schwierzeck | 02611cb | 2014-10-26 14:14:07 +0100 | [diff] [blame] | 106 | choice |
| 107 | prompt "CPU selection" |
| 108 | default CPU_MIPS32_R2 |
| 109 | |
| 110 | config CPU_MIPS32_R1 |
| 111 | bool "MIPS32 Release 1" |
| 112 | depends on SUPPORTS_CPU_MIPS32_R1 |
| 113 | select 32BIT |
| 114 | help |
Paul Burton | c52ebea | 2016-05-16 10:52:12 +0100 | [diff] [blame] | 115 | Choose this option to build an U-Boot for release 1 through 5 of the |
Daniel Schwierzeck | 02611cb | 2014-10-26 14:14:07 +0100 | [diff] [blame] | 116 | MIPS32 architecture. |
| 117 | |
| 118 | config CPU_MIPS32_R2 |
| 119 | bool "MIPS32 Release 2" |
| 120 | depends on SUPPORTS_CPU_MIPS32_R2 |
| 121 | select 32BIT |
| 122 | help |
Paul Burton | c52ebea | 2016-05-16 10:52:12 +0100 | [diff] [blame] | 123 | Choose this option to build an U-Boot for release 2 through 5 of the |
| 124 | MIPS32 architecture. |
| 125 | |
| 126 | config CPU_MIPS32_R6 |
| 127 | bool "MIPS32 Release 6" |
| 128 | depends on SUPPORTS_CPU_MIPS32_R6 |
| 129 | select 32BIT |
| 130 | help |
| 131 | Choose this option to build an U-Boot for release 6 or later of the |
Daniel Schwierzeck | 02611cb | 2014-10-26 14:14:07 +0100 | [diff] [blame] | 132 | MIPS32 architecture. |
| 133 | |
| 134 | config CPU_MIPS64_R1 |
| 135 | bool "MIPS64 Release 1" |
| 136 | depends on SUPPORTS_CPU_MIPS64_R1 |
| 137 | select 64BIT |
| 138 | help |
Paul Burton | c52ebea | 2016-05-16 10:52:12 +0100 | [diff] [blame] | 139 | Choose this option to build a kernel for release 1 through 5 of the |
Daniel Schwierzeck | 02611cb | 2014-10-26 14:14:07 +0100 | [diff] [blame] | 140 | MIPS64 architecture. |
| 141 | |
| 142 | config CPU_MIPS64_R2 |
| 143 | bool "MIPS64 Release 2" |
| 144 | depends on SUPPORTS_CPU_MIPS64_R2 |
| 145 | select 64BIT |
| 146 | help |
Paul Burton | c52ebea | 2016-05-16 10:52:12 +0100 | [diff] [blame] | 147 | Choose this option to build a kernel for release 2 through 5 of the |
| 148 | MIPS64 architecture. |
| 149 | |
| 150 | config CPU_MIPS64_R6 |
| 151 | bool "MIPS64 Release 6" |
| 152 | depends on SUPPORTS_CPU_MIPS64_R6 |
| 153 | select 64BIT |
| 154 | help |
| 155 | Choose this option to build a kernel for release 6 or later of the |
Daniel Schwierzeck | 02611cb | 2014-10-26 14:14:07 +0100 | [diff] [blame] | 156 | MIPS64 architecture. |
| 157 | |
| 158 | endchoice |
| 159 | |
Daniel Schwierzeck | 25fc664 | 2015-01-14 21:44:13 +0100 | [diff] [blame] | 160 | menu "OS boot interface" |
| 161 | |
| 162 | config MIPS_BOOT_CMDLINE_LEGACY |
| 163 | bool "Hand over legacy command line to Linux kernel" |
| 164 | default y |
| 165 | help |
| 166 | Enable this option if you want U-Boot to hand over the Yamon-style |
| 167 | command line to the kernel. All bootargs will be prepared as argc/argv |
| 168 | compatible list. The argument count (argc) is stored in register $a0. |
| 169 | The address of the argument list (argv) is stored in register $a1. |
| 170 | |
Daniel Schwierzeck | ca65e58 | 2015-01-14 21:44:13 +0100 | [diff] [blame] | 171 | config MIPS_BOOT_ENV_LEGACY |
| 172 | bool "Hand over legacy environment to Linux kernel" |
| 173 | default y |
| 174 | help |
| 175 | Enable this option if you want U-Boot to hand over the Yamon-style |
| 176 | environment to the kernel. Information like memory size, initrd |
| 177 | address and size will be prepared as zero-terminated key/value list. |
Robert P. J. Day | 1cc0a9f | 2016-05-04 04:47:31 -0400 | [diff] [blame] | 178 | The address of the environment is stored in register $a2. |
Daniel Schwierzeck | ca65e58 | 2015-01-14 21:44:13 +0100 | [diff] [blame] | 179 | |
Daniel Schwierzeck | 5002d8c | 2015-01-14 21:44:13 +0100 | [diff] [blame] | 180 | config MIPS_BOOT_FDT |
Daniel Schwierzeck | 90b1c9f | 2015-02-22 16:58:30 +0100 | [diff] [blame] | 181 | bool "Hand over a flattened device tree to Linux kernel" |
Daniel Schwierzeck | 5002d8c | 2015-01-14 21:44:13 +0100 | [diff] [blame] | 182 | default n |
| 183 | help |
| 184 | Enable this option if you want U-Boot to hand over a flattened |
Daniel Schwierzeck | 90b1c9f | 2015-02-22 16:58:30 +0100 | [diff] [blame] | 185 | device tree to the kernel. According to UHI register $a0 will be set |
| 186 | to -2 and the FDT address is stored in $a1. |
Daniel Schwierzeck | 5002d8c | 2015-01-14 21:44:13 +0100 | [diff] [blame] | 187 | |
Daniel Schwierzeck | 25fc664 | 2015-01-14 21:44:13 +0100 | [diff] [blame] | 188 | endmenu |
| 189 | |
Daniel Schwierzeck | 0e1dc34 | 2014-10-26 14:14:07 +0100 | [diff] [blame] | 190 | config SUPPORTS_BIG_ENDIAN |
| 191 | bool |
| 192 | |
| 193 | config SUPPORTS_LITTLE_ENDIAN |
| 194 | bool |
| 195 | |
Daniel Schwierzeck | 02611cb | 2014-10-26 14:14:07 +0100 | [diff] [blame] | 196 | config SUPPORTS_CPU_MIPS32_R1 |
| 197 | bool |
| 198 | |
| 199 | config SUPPORTS_CPU_MIPS32_R2 |
| 200 | bool |
| 201 | |
Paul Burton | c52ebea | 2016-05-16 10:52:12 +0100 | [diff] [blame] | 202 | config SUPPORTS_CPU_MIPS32_R6 |
| 203 | bool |
| 204 | |
Daniel Schwierzeck | 02611cb | 2014-10-26 14:14:07 +0100 | [diff] [blame] | 205 | config SUPPORTS_CPU_MIPS64_R1 |
| 206 | bool |
| 207 | |
| 208 | config SUPPORTS_CPU_MIPS64_R2 |
| 209 | bool |
| 210 | |
Paul Burton | c52ebea | 2016-05-16 10:52:12 +0100 | [diff] [blame] | 211 | config SUPPORTS_CPU_MIPS64_R6 |
| 212 | bool |
| 213 | |
Daniel Schwierzeck | c57dafb | 2015-01-18 21:59:35 +0100 | [diff] [blame] | 214 | config CPU_MIPS32 |
| 215 | bool |
Paul Burton | c52ebea | 2016-05-16 10:52:12 +0100 | [diff] [blame] | 216 | default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 || CPU_MIPS32_R6 |
Daniel Schwierzeck | c57dafb | 2015-01-18 21:59:35 +0100 | [diff] [blame] | 217 | |
| 218 | config CPU_MIPS64 |
| 219 | bool |
Paul Burton | c52ebea | 2016-05-16 10:52:12 +0100 | [diff] [blame] | 220 | default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R6 |
Daniel Schwierzeck | c57dafb | 2015-01-18 21:59:35 +0100 | [diff] [blame] | 221 | |
Daniel Schwierzeck | 0315a28 | 2015-12-26 19:55:37 +0100 | [diff] [blame] | 222 | config MIPS_TUNE_4KC |
| 223 | bool |
| 224 | |
| 225 | config MIPS_TUNE_14KC |
| 226 | bool |
| 227 | |
| 228 | config MIPS_TUNE_24KC |
| 229 | bool |
| 230 | |
Daniel Schwierzeck | 5f9cc36 | 2016-05-27 15:39:39 +0200 | [diff] [blame] | 231 | config MIPS_TUNE_34KC |
| 232 | bool |
| 233 | |
Marek Vasut | 0a0a958 | 2016-05-06 20:10:33 +0200 | [diff] [blame] | 234 | config MIPS_TUNE_74KC |
| 235 | bool |
| 236 | |
Daniel Schwierzeck | 02611cb | 2014-10-26 14:14:07 +0100 | [diff] [blame] | 237 | config 32BIT |
| 238 | bool |
| 239 | |
| 240 | config 64BIT |
| 241 | bool |
| 242 | |
Daniel Schwierzeck | 9d638ee | 2015-01-18 22:00:18 +0100 | [diff] [blame] | 243 | config SWAP_IO_SPACE |
| 244 | bool |
| 245 | |
Paul Burton | dd7c720 | 2015-01-29 01:28:02 +0000 | [diff] [blame] | 246 | config SYS_MIPS_CACHE_INIT_RAM_LOAD |
| 247 | bool |
| 248 | |
Paul Burton | ace3be4 | 2016-05-27 14:28:04 +0100 | [diff] [blame] | 249 | config SYS_DCACHE_SIZE |
| 250 | int |
| 251 | default 0 |
| 252 | help |
| 253 | The total size of the L1 Dcache, if known at compile time. |
| 254 | |
Paul Burton | 3722862 | 2016-05-27 14:28:05 +0100 | [diff] [blame] | 255 | config SYS_DCACHE_LINE_SIZE |
Paul Burton | 4b7b0a0 | 2016-06-09 13:09:52 +0100 | [diff] [blame^] | 256 | int |
Paul Burton | 3722862 | 2016-05-27 14:28:05 +0100 | [diff] [blame] | 257 | default 0 |
| 258 | help |
| 259 | The size of L1 Dcache lines, if known at compile time. |
| 260 | |
Paul Burton | ace3be4 | 2016-05-27 14:28:04 +0100 | [diff] [blame] | 261 | config SYS_ICACHE_SIZE |
| 262 | int |
| 263 | default 0 |
| 264 | help |
| 265 | The total size of the L1 ICache, if known at compile time. |
| 266 | |
Paul Burton | 3722862 | 2016-05-27 14:28:05 +0100 | [diff] [blame] | 267 | config SYS_ICACHE_LINE_SIZE |
Paul Burton | ace3be4 | 2016-05-27 14:28:04 +0100 | [diff] [blame] | 268 | int |
| 269 | default 0 |
| 270 | help |
Paul Burton | 3722862 | 2016-05-27 14:28:05 +0100 | [diff] [blame] | 271 | The size of L1 Icache lines, if known at compile time. |
Paul Burton | ace3be4 | 2016-05-27 14:28:04 +0100 | [diff] [blame] | 272 | |
| 273 | config SYS_CACHE_SIZE_AUTO |
| 274 | def_bool y if SYS_DCACHE_SIZE = 0 && SYS_ICACHE_SIZE = 0 && \ |
Paul Burton | 3722862 | 2016-05-27 14:28:05 +0100 | [diff] [blame] | 275 | SYS_DCACHE_LINE_SIZE = 0 && SYS_ICACHE_LINE_SIZE = 0 |
Paul Burton | ace3be4 | 2016-05-27 14:28:04 +0100 | [diff] [blame] | 276 | help |
| 277 | Select this (or let it be auto-selected by not defining any cache |
| 278 | sizes) in order to allow U-Boot to automatically detect the sizes |
| 279 | of caches at runtime. This has a small cost in code size & runtime |
| 280 | so if you know the cache configuration for your system at compile |
| 281 | time it would be beneficial to configure it. |
| 282 | |
Daniel Schwierzeck | f53830e | 2016-01-09 17:32:50 +0100 | [diff] [blame] | 283 | config MIPS_L1_CACHE_SHIFT_4 |
| 284 | bool |
| 285 | |
| 286 | config MIPS_L1_CACHE_SHIFT_5 |
| 287 | bool |
| 288 | |
| 289 | config MIPS_L1_CACHE_SHIFT_6 |
| 290 | bool |
| 291 | |
| 292 | config MIPS_L1_CACHE_SHIFT_7 |
| 293 | bool |
| 294 | |
| 295 | config MIPS_L1_CACHE_SHIFT |
| 296 | int |
| 297 | default "7" if MIPS_L1_CACHE_SHIFT_7 |
| 298 | default "6" if MIPS_L1_CACHE_SHIFT_6 |
| 299 | default "5" if MIPS_L1_CACHE_SHIFT_5 |
| 300 | default "4" if MIPS_L1_CACHE_SHIFT_4 |
| 301 | default "5" |
| 302 | |
Paul Burton | 05e3425 | 2016-01-29 13:54:52 +0000 | [diff] [blame] | 303 | config DYNAMIC_IO_PORT_BASE |
| 304 | bool |
| 305 | |
Daniel Schwierzeck | 0e1dc34 | 2014-10-26 14:14:07 +0100 | [diff] [blame] | 306 | endif |
| 307 | |
Masahiro Yamada | dd84058 | 2014-07-30 14:08:14 +0900 | [diff] [blame] | 308 | endmenu |