1menu "MIPS architecture" 2 depends on MIPS 3 4config SYS_ARCH 5 default "mips" 6 7config SYS_CPU 8 default "mips32" if CPU_MIPS32 9 default "mips64" if CPU_MIPS64 10 11choice 12 prompt "Target select" 13 optional 14 15config TARGET_QEMU_MIPS 16 bool "Support qemu-mips" 17 select ROM_EXCEPTION_VECTORS 18 select SUPPORTS_BIG_ENDIAN 19 select SUPPORTS_CPU_MIPS32_R1 20 select SUPPORTS_CPU_MIPS32_R2 21 select SUPPORTS_CPU_MIPS64_R1 22 select SUPPORTS_CPU_MIPS64_R2 23 select SUPPORTS_LITTLE_ENDIAN 24 25config TARGET_MALTA 26 bool "Support malta" 27 select DM 28 select DM_SERIAL 29 select DYNAMIC_IO_PORT_BASE 30 select MIPS_CM 31 select MIPS_INSERT_BOOT_CONFIG 32 select MIPS_L1_CACHE_SHIFT_6 33 select MIPS_L2_CACHE 34 select OF_CONTROL 35 select OF_ISA_BUS 36 select ROM_EXCEPTION_VECTORS 37 select SUPPORTS_BIG_ENDIAN 38 select SUPPORTS_CPU_MIPS32_R1 39 select SUPPORTS_CPU_MIPS32_R2 40 select SUPPORTS_CPU_MIPS32_R6 41 select SUPPORTS_CPU_MIPS64_R1 42 select SUPPORTS_CPU_MIPS64_R2 43 select SUPPORTS_CPU_MIPS64_R6 44 select SUPPORTS_LITTLE_ENDIAN 45 select SWAP_IO_SPACE 46 imply CMD_DM 47 48config TARGET_VCT 49 bool "Support vct" 50 select ROM_EXCEPTION_VECTORS 51 select SUPPORTS_BIG_ENDIAN 52 select SUPPORTS_CPU_MIPS32_R1 53 select SUPPORTS_CPU_MIPS32_R2 54 select SYS_MIPS_CACHE_INIT_RAM_LOAD 55 56config ARCH_ATH79 57 bool "Support QCA/Atheros ath79" 58 select DM 59 select OF_CONTROL 60 imply CMD_DM 61 62config ARCH_MSCC 63 bool "Support MSCC VCore-III" 64 select OF_CONTROL 65 select DM 66 67config ARCH_BMIPS 68 bool "Support BMIPS SoCs" 69 select CLK 70 select CPU 71 select DM 72 select OF_CONTROL 73 select RAM 74 select SYSRESET 75 imply CMD_DM 76 77config ARCH_MT7620 78 bool "Support MT7620/7688 SoCs" 79 imply CMD_DM 80 select DISPLAY_CPUINFO 81 select DM 82 imply DM_ETH 83 imply DM_GPIO 84 select DM_SERIAL 85 imply DM_SPI 86 imply DM_SPI_FLASH 87 select ARCH_MISC_INIT 88 select MIPS_TUNE_24KC 89 select OF_CONTROL 90 select ROM_EXCEPTION_VECTORS 91 select SUPPORTS_CPU_MIPS32_R1 92 select SUPPORTS_CPU_MIPS32_R2 93 select SUPPORTS_LITTLE_ENDIAN 94 select SYSRESET 95 96config ARCH_JZ47XX 97 bool "Support Ingenic JZ47xx" 98 select SUPPORT_SPL 99 select OF_CONTROL 100 select DM 101 102config MACH_PIC32 103 bool "Support Microchip PIC32" 104 select DM 105 select OF_CONTROL 106 imply CMD_DM 107 108config TARGET_BOSTON 109 bool "Support Boston" 110 select DM 111 select DM_SERIAL 112 select MIPS_CM 113 select MIPS_L1_CACHE_SHIFT_6 114 select MIPS_L2_CACHE 115 select OF_BOARD_SETUP 116 select OF_CONTROL 117 select ROM_EXCEPTION_VECTORS 118 select SUPPORTS_BIG_ENDIAN 119 select SUPPORTS_CPU_MIPS32_R1 120 select SUPPORTS_CPU_MIPS32_R2 121 select SUPPORTS_CPU_MIPS32_R6 122 select SUPPORTS_CPU_MIPS64_R1 123 select SUPPORTS_CPU_MIPS64_R2 124 select SUPPORTS_CPU_MIPS64_R6 125 select SUPPORTS_LITTLE_ENDIAN 126 imply CMD_DM 127 128config TARGET_XILFPGA 129 bool "Support Imagination Xilfpga" 130 select DM 131 select DM_ETH 132 select DM_GPIO 133 select DM_SERIAL 134 select MIPS_L1_CACHE_SHIFT_4 135 select OF_CONTROL 136 select ROM_EXCEPTION_VECTORS 137 select SUPPORTS_CPU_MIPS32_R1 138 select SUPPORTS_CPU_MIPS32_R2 139 select SUPPORTS_LITTLE_ENDIAN 140 imply CMD_DM 141 help 142 This supports IMGTEC MIPSfpga platform 143 144endchoice 145 146source "board/imgtec/boston/Kconfig" 147source "board/imgtec/malta/Kconfig" 148source "board/imgtec/xilfpga/Kconfig" 149source "board/micronas/vct/Kconfig" 150source "board/qemu-mips/Kconfig" 151source "arch/mips/mach-ath79/Kconfig" 152source "arch/mips/mach-mscc/Kconfig" 153source "arch/mips/mach-bmips/Kconfig" 154source "arch/mips/mach-jz47xx/Kconfig" 155source "arch/mips/mach-pic32/Kconfig" 156source "arch/mips/mach-mt7620/Kconfig" 157 158if MIPS 159 160choice 161 prompt "Endianness selection" 162 help 163 Some MIPS boards can be configured for either little or big endian 164 byte order. These modes require different U-Boot images. In general there 165 is one preferred byteorder for a particular system but some systems are 166 just as commonly used in the one or the other endianness. 167 168config SYS_BIG_ENDIAN 169 bool "Big endian" 170 depends on SUPPORTS_BIG_ENDIAN 171 172config SYS_LITTLE_ENDIAN 173 bool "Little endian" 174 depends on SUPPORTS_LITTLE_ENDIAN 175 176endchoice 177 178choice 179 prompt "CPU selection" 180 default CPU_MIPS32_R2 181 182config CPU_MIPS32_R1 183 bool "MIPS32 Release 1" 184 depends on SUPPORTS_CPU_MIPS32_R1 185 select 32BIT 186 help 187 Choose this option to build an U-Boot for release 1 through 5 of the 188 MIPS32 architecture. 189 190config CPU_MIPS32_R2 191 bool "MIPS32 Release 2" 192 depends on SUPPORTS_CPU_MIPS32_R2 193 select 32BIT 194 help 195 Choose this option to build an U-Boot for release 2 through 5 of the 196 MIPS32 architecture. 197 198config CPU_MIPS32_R6 199 bool "MIPS32 Release 6" 200 depends on SUPPORTS_CPU_MIPS32_R6 201 select 32BIT 202 help 203 Choose this option to build an U-Boot for release 6 or later of the 204 MIPS32 architecture. 205 206config CPU_MIPS64_R1 207 bool "MIPS64 Release 1" 208 depends on SUPPORTS_CPU_MIPS64_R1 209 select 64BIT 210 help 211 Choose this option to build a kernel for release 1 through 5 of the 212 MIPS64 architecture. 213 214config CPU_MIPS64_R2 215 bool "MIPS64 Release 2" 216 depends on SUPPORTS_CPU_MIPS64_R2 217 select 64BIT 218 help 219 Choose this option to build a kernel for release 2 through 5 of the 220 MIPS64 architecture. 221 222config CPU_MIPS64_R6 223 bool "MIPS64 Release 6" 224 depends on SUPPORTS_CPU_MIPS64_R6 225 select 64BIT 226 help 227 Choose this option to build a kernel for release 6 or later of the 228 MIPS64 architecture. 229 230endchoice 231 232menu "General setup" 233 234config ROM_EXCEPTION_VECTORS 235 bool "Build U-Boot image with exception vectors" 236 help 237 Enable this to include exception vectors in the U-Boot image. This is 238 required if the U-Boot entry point is equal to the address of the 239 CPU reset exception vector (e.g. U-Boot as ROM loader in Qemu, 240 U-Boot booted from parallel NOR flash). 241 Disable this, if the U-Boot image is booted from DRAM (e.g. by SPL). 242 In that case the image size will be reduced by 0x500 bytes. 243 244config MIPS_CM_BASE 245 hex "MIPS CM GCR Base Address" 246 depends on MIPS_CM 247 default 0x16100000 if TARGET_BOSTON 248 default 0x1fbf8000 249 help 250 The physical base address at which to map the MIPS Coherence Manager 251 Global Configuration Registers (GCRs). This should be set such that 252 the GCRs occupy a region of the physical address space which is 253 otherwise unused, or at minimum that software doesn't need to access. 254 255config MIPS_CACHE_INDEX_BASE 256 hex "Index base address for cache initialisation" 257 default 0x80000000 if CPU_MIPS32 258 default 0xffffffff80000000 if CPU_MIPS64 259 help 260 This is the base address for a memory block, which is used for 261 initialising the cache lines. This is also the base address of a memory 262 block which is used for loading and filling cache lines when 263 SYS_MIPS_CACHE_INIT_RAM_LOAD is selected. 264 Normally this is CKSEG0. If the MIPS system needs to move this block 265 to some SRAM or ScratchPad RAM, adapt this option accordingly. 266 267config MIPS_RELOCATION_TABLE_SIZE 268 hex "Relocation table size" 269 range 0x100 0x10000 270 default "0x8000" 271 ---help--- 272 A table of relocation data will be appended to the U-Boot binary 273 and parsed in relocate_code() to fix up all offsets in the relocated 274 U-Boot. 275 276 This option allows the amount of space reserved for the table to be 277 adjusted in a range from 256 up to 64k. The default is 32k and should 278 be ok in most cases. Reduce this value to shrink the size of U-Boot 279 binary. 280 281 The build will fail and a valid size suggested if this is too small. 282 283 If unsure, leave at the default value. 284 285endmenu 286 287menu "OS boot interface" 288 289config MIPS_BOOT_CMDLINE_LEGACY 290 bool "Hand over legacy command line to Linux kernel" 291 default y 292 help 293 Enable this option if you want U-Boot to hand over the Yamon-style 294 command line to the kernel. All bootargs will be prepared as argc/argv 295 compatible list. The argument count (argc) is stored in register $a0. 296 The address of the argument list (argv) is stored in register $a1. 297 298config MIPS_BOOT_ENV_LEGACY 299 bool "Hand over legacy environment to Linux kernel" 300 default y 301 help 302 Enable this option if you want U-Boot to hand over the Yamon-style 303 environment to the kernel. Information like memory size, initrd 304 address and size will be prepared as zero-terminated key/value list. 305 The address of the environment is stored in register $a2. 306 307config MIPS_BOOT_FDT 308 bool "Hand over a flattened device tree to Linux kernel" 309 default n 310 help 311 Enable this option if you want U-Boot to hand over a flattened 312 device tree to the kernel. According to UHI register $a0 will be set 313 to -2 and the FDT address is stored in $a1. 314 315endmenu 316 317config SUPPORTS_BIG_ENDIAN 318 bool 319 320config SUPPORTS_LITTLE_ENDIAN 321 bool 322 323config SUPPORTS_CPU_MIPS32_R1 324 bool 325 326config SUPPORTS_CPU_MIPS32_R2 327 bool 328 329config SUPPORTS_CPU_MIPS32_R6 330 bool 331 332config SUPPORTS_CPU_MIPS64_R1 333 bool 334 335config SUPPORTS_CPU_MIPS64_R2 336 bool 337 338config SUPPORTS_CPU_MIPS64_R6 339 bool 340 341config CPU_MIPS32 342 bool 343 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 || CPU_MIPS32_R6 344 345config CPU_MIPS64 346 bool 347 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R6 348 349config MIPS_TUNE_4KC 350 bool 351 352config MIPS_TUNE_14KC 353 bool 354 355config MIPS_TUNE_24KC 356 bool 357 358config MIPS_TUNE_34KC 359 bool 360 361config MIPS_TUNE_74KC 362 bool 363 364config 32BIT 365 bool 366 367config 64BIT 368 bool 369 370config SWAP_IO_SPACE 371 bool 372 373config SYS_MIPS_CACHE_INIT_RAM_LOAD 374 bool 375 376config MIPS_INIT_STACK_IN_SRAM 377 bool 378 default n 379 help 380 Select this if the initial stack frame could be setup in SRAM. 381 Normally the initial stack frame is set up in DRAM which is often 382 only available after lowlevel_init. With this option the initial 383 stack frame and the early C environment is set up before 384 lowlevel_init. Thus lowlevel_init does not need to be implemented 385 in assembler. 386 387config SYS_DCACHE_SIZE 388 int 389 default 0 390 help 391 The total size of the L1 Dcache, if known at compile time. 392 393config SYS_DCACHE_LINE_SIZE 394 int 395 default 0 396 help 397 The size of L1 Dcache lines, if known at compile time. 398 399config SYS_ICACHE_SIZE 400 int 401 default 0 402 help 403 The total size of the L1 ICache, if known at compile time. 404 405config SYS_ICACHE_LINE_SIZE 406 int 407 default 0 408 help 409 The size of L1 Icache lines, if known at compile time. 410 411config SYS_CACHE_SIZE_AUTO 412 def_bool y if SYS_DCACHE_SIZE = 0 && SYS_ICACHE_SIZE = 0 && \ 413 SYS_DCACHE_LINE_SIZE = 0 && SYS_ICACHE_LINE_SIZE = 0 414 help 415 Select this (or let it be auto-selected by not defining any cache 416 sizes) in order to allow U-Boot to automatically detect the sizes 417 of caches at runtime. This has a small cost in code size & runtime 418 so if you know the cache configuration for your system at compile 419 time it would be beneficial to configure it. 420 421config MIPS_L1_CACHE_SHIFT_4 422 bool 423 424config MIPS_L1_CACHE_SHIFT_5 425 bool 426 427config MIPS_L1_CACHE_SHIFT_6 428 bool 429 430config MIPS_L1_CACHE_SHIFT_7 431 bool 432 433config MIPS_L1_CACHE_SHIFT 434 int 435 default "7" if MIPS_L1_CACHE_SHIFT_7 436 default "6" if MIPS_L1_CACHE_SHIFT_6 437 default "5" if MIPS_L1_CACHE_SHIFT_5 438 default "4" if MIPS_L1_CACHE_SHIFT_4 439 default "5" 440 441config MIPS_L2_CACHE 442 bool 443 help 444 Select this if your system includes an L2 cache and you want U-Boot 445 to initialise & maintain it. 446 447config DYNAMIC_IO_PORT_BASE 448 bool 449 450config MIPS_CM 451 bool 452 help 453 Select this if your system contains a MIPS Coherence Manager and you 454 wish U-Boot to configure it or make use of it to retrieve system 455 information such as cache configuration. 456 457config MIPS_INSERT_BOOT_CONFIG 458 bool 459 default n 460 help 461 Enable this to insert some board-specific boot configuration in 462 the U-Boot binary at offset 0x10. 463 464config MIPS_BOOT_CONFIG_WORD0 465 hex 466 depends on MIPS_INSERT_BOOT_CONFIG 467 default 0x420 if TARGET_MALTA 468 default 0x0 469 help 470 Value which is inserted as boot config word 0. 471 472config MIPS_BOOT_CONFIG_WORD1 473 hex 474 depends on MIPS_INSERT_BOOT_CONFIG 475 default 0x0 476 help 477 Value which is inserted as boot config word 1. 478 479endif 480 481endmenu 482