1if ARCH_ROCKCHIP 2 3config ROCKCHIP_PX30 4 bool "Support Rockchip PX30" 5 select ARM64 if !ARM64_BOOT_AARCH32 6 select GICV2 7 select ARM_SMCCC 8 select SUPPORT_SPL 9 select SUPPORT_TPL 10 select SPL if !ARM64_BOOT_AARCH32 11 select TPL if !ARM64_BOOT_AARCH32 12 select TPL_TINY_FRAMEWORK if TPL 13 14 imply SPL_SEPARATE_BSS 15 imply SPL_SERIAL_SUPPORT 16 imply TPL_SERIAL_SUPPORT 17 help 18 The Rockchip PX30 is a ARM-based SoC with a quad-core Cortex-A35 19 including NEON and GPU, Mali-400 graphics, several DDR3 options 20 and video codec support. Peripherals include Gigabit Ethernet, 21 USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs. 22 23if ROCKCHIP_PX30 24 25config TPL_LDSCRIPT 26 default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds" 27 28config TPL_TEXT_BASE 29 default 0xff0e1000 30 31config TPL_MAX_SIZE 32 default 10240 33 34config ROCKCHIP_RK3326 35 bool "Support Rockchip RK3326 " 36 help 37 RK3326 can use most code from PX30, but at some situations we have 38 to distinguish between RK3326 and PX30, so this macro gives help. 39 It is usually selected in rk3326 board defconfig. 40endif 41 42config ROCKCHIP_RK3036 43 bool "Support Rockchip RK3036" 44 select CPU_V7 45 select SUPPORT_SPL 46 select SUPPORT_TPL 47 select SPL 48 select TPL 49 select BOARD_LATE_INIT 50 select ROCKCHIP_BROM_HELPER 51 select TPL_NEEDS_SEPARATE_TEXT_BASE if TPL 52 select TPL_NEEDS_SEPARATE_STACK if TPL 53 select ARM_SMCCC 54 help 55 The Rockchip RK3036 is a ARM-based SoC with a dual-core Cortex-A7 56 including NEON and GPU, Mali-400 graphics, several DDR3 options 57 and video codec support. Peripherals include Gigabit Ethernet, 58 USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs. 59 60config ROCKCHIP_RK3128 61 bool "Support Rockchip RK3128" 62 select CPU_V7 63 select GICV2 64 select ARM_SMCCC 65 help 66 The Rockchip RK3128 is a ARM-based SoC with a quad-core Cortex-A7 67 including NEON and GPU, Mali-400 graphics, several DDR3 options 68 and video codec support. Peripherals include Gigabit Ethernet, 69 USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs. 70 71if ROCKCHIP_RK3128 72 73config ROCKCHIP_RK3126 74 bool "Support Rockchip RK3126 " 75 help 76 RK3126 can use most code from RK3128, but at some situations we have 77 to distinguish between RK3126 and RK3128, so this macro gives help. 78 It is usually selected in rk3126 board defconfig. 79 80config ROCKCHIP_PX3SE 81 bool "Support Rockchip PX3SE" 82 help 83 PX3SE is a variant of RK3128, it shares codes with RK3128, but we still 84 need this macro to distinguish PX3SE and RK3128. 85endif 86 87config ROCKCHIP_RK3066 88 bool "Support Rockchip RK3066" 89 select CPU_V7 90 select SUPPORT_SPL 91 select SUPPORT_TPL 92 select SPL 93 select TPL 94 select BOARD_LATE_INIT 95 select ROCKCHIP_BROM_HELPER 96 select SPL_ROCKCHIP_EARLYRETURN_TO_BROM 97 help 98 The Rockchip RK3066 is a ARM-based SoC with a dual-core Cortex-A9 99 including NEON and GPU, Mali-400 graphics, several DDR3 options 100 and video codec support. Peripherals include ethernet, USB2 host 101 and OTG, SDIO, I2S, UART, SPI, I2C and PWMs. 102 103config ROCKCHIP_RK3188 104 bool "Support Rockchip RK3188" 105 select CPU_V7 106 select SPL_BOARD_INIT if SPL 107 select SUPPORT_SPL 108 select SPL 109 select SPL_CLK 110 select SPL_REGMAP 111 select SPL_SYSCON 112 select SPL_RAM 113 select SPL_DRIVERS_MISC_SUPPORT 114 select SPL_ROCKCHIP_EARLYRETURN_TO_BROM 115 select BOARD_LATE_INIT 116 select ROCKCHIP_BROM_HELPER 117 help 118 The Rockchip RK3188 is a ARM-based SoC with a quad-core Cortex-A9 119 including NEON and GPU, 512KB L2 cache, Mali-400 graphics, two 120 video interfaces, several memory options and video codec support. 121 Peripherals include Fast Ethernet, USB2 host and OTG, SDIO, I2S, 122 UART, SPI, I2C and PWMs. 123 124config ROCKCHIP_RK322X 125 bool "Support Rockchip RK3228/RK3229" 126 select CPU_V7 127 select SUPPORT_SPL 128 select SUPPORT_TPL 129 select SPL 130 select TPL 131 select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL 132 select TPL_NEEDS_SEPARATE_STACK if TPL 133 select SPL_DRIVERS_MISC_SUPPORT 134 imply SPL_SERIAL_SUPPORT 135 imply TPL_SERIAL_SUPPORT 136 select ROCKCHIP_BROM_HELPER 137 select TPL_LIBCOMMON_SUPPORT 138 select TPL_LIBGENERIC_SUPPORT 139 select GICV2 140 select ARM_SMCCC 141 help 142 The Rockchip RK3229 is a ARM-based SoC with a dual-core Cortex-A7 143 including NEON and GPU, Mali-400 graphics, several DDR3 options 144 and video codec support. Peripherals include Gigabit Ethernet, 145 USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs. 146 147if ROCKCHIP_RK322X 148 149config ROCKCHIP_RK3128X 150 bool "Support Rockchip RK3128X " 151 help 152 RK3128X can use most code from RK322X, but at some situations we have 153 to distinguish between RK3128X and RK322X, so this macro gives help. 154 It is usually selected in RK3128X board defconfig. 155endif 156 157config ROCKCHIP_RK3288 158 bool "Support Rockchip RK3288" 159 select CPU_V7 160 select SPL_BOARD_INIT if SPL 161 select SUPPORT_SPL 162 select SUPPORT_TPL 163 select SPL 164 select TPL 165 select TPL_NEEDS_SEPARATE_TEXT_BASE if TPL 166 select TPL_NEEDS_SEPARATE_STACK if TPL 167 imply TPL_SERIAL_SUPPORT 168 select GICV2 169 select ARM_SMCCC 170 select SPL_OPTEE 171 select FIT 172 select SPL_LOAD_FIT 173 select TPL_LIBCOMMON_SUPPORT 174 select TPL_LIBGENERIC_SUPPORT 175 select TPL_SYS_MALLOC_SIMPLE 176 select TPL_BOOTROM_SUPPORT 177 select TPL_DRIVERS_MISC_SUPPORT 178 select TPL_OF_CONTROL 179 select TPL_DM 180 select TPL_REGMAP 181 select TPL_SYSCON 182 select TPL_RAM 183 select TPL_CLK 184 select TPL_TINY_MEMSET 185 help 186 The Rockchip RK3288 is a ARM-based SoC with a quad-core Cortex-A17 187 including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two 188 video interfaces supporting HDMI and eDP, several DDR3 options 189 and video codec support. Peripherals include Gigabit Ethernet, 190 USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs. 191 192if ROCKCHIP_RK3288 193config SPL_FIT_GENERATOR 194 default "arch/arm/mach-rockchip/make_fit_optee.sh" 195 196config TPL_LDSCRIPT 197 default "arch/arm/mach-rockchip/u-boot-tpl.lds" 198 199config TPL_TEXT_BASE 200 default 0xff704000 201 202config TPL_MAX_SIZE 203 default 32768 204 205config TPL_STACK 206 default 0xff718000 207 208endif 209 210config ROCKCHIP_RK3308 211 bool "Support Rockchip RK3308" 212 select ARM64 if !ARM64_BOOT_AARCH32 213 select ARM_SMCCC 214 imply GICV2 215 select SUPPORT_SPL if !ARM64_BOOT_AARCH32 216 select SUPPORT_TPL if !ARM64_BOOT_AARCH32 217 select SPL if !ARM64_BOOT_AARCH32 218 select TPL if !ARM64_BOOT_AARCH32 219 imply SPL_CLK 220 imply SPL_REGMAP 221 imply SPL_SYSCON 222 imply SPL_RAM 223 imply SPL_SERIAL_SUPPORT 224 imply TPL_SERIAL_SUPPORT 225 imply SPL_SEPARATE_BSS 226 help 227 The Rockchip RK3308 is a ARM-based Soc which embeded with quad 228 Cortex-A35 and highly integrated audio interfaces. 229 230if ROCKCHIP_RK3308 231 232config TPL_LDSCRIPT 233 default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds" 234 235config TPL_TEXT_BASE 236 default 0xfff81000 237 238config TPL_MAX_SIZE 239 default 10240 240 241config TPL_STACK 242 default 0xfff84000 243 244endif 245 246config ROCKCHIP_RK3328 247 bool "Support Rockchip RK3328" 248 select ARM64 249 select GICV2 250 select SUPPORT_SPL 251 select SUPPORT_TPL 252 select SPL 253 select TPL 254 select TPL_NEEDS_SEPARATE_TEXT_BASE if TPL 255 select TPL_NEEDS_SEPARATE_STACK if TPL 256 imply SPL_SERIAL_SUPPORT 257 imply TPL_SERIAL_SUPPORT 258 imply SPL_SEPARATE_BSS 259 select ARM_SMCCC 260 help 261 The Rockchip RK3328 is a ARM-based SoC with a quad-core Cortex-A53. 262 including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two 263 video interfaces supporting HDMI and eDP, several DDR3 options 264 and video codec support. Peripherals include Gigabit Ethernet, 265 USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs. 266 267if ROCKCHIP_RK3328 268 269config TPL_LDSCRIPT 270 default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds" 271 272config TPL_TEXT_BASE 273 default 0xff091000 274 275config TPL_MAX_SIZE 276 default 28672 277 278config TPL_STACK 279 default 0xff098000 280 281endif 282 283config ROCKCHIP_RK3368 284 bool "Support Rockchip RK3368" 285 select ARM64 286 select SUPPORT_SPL 287 select SUPPORT_TPL 288 select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL 289 select TPL_NEEDS_SEPARATE_STACK if TPL 290 imply SPL_SEPARATE_BSS 291 imply SPL_SERIAL_SUPPORT 292 imply TPL_SERIAL_SUPPORT 293 select GICV2 294 select ARM_SMCCC 295 help 296 The Rockchip RK3368 is a ARM-based SoC with a octa-core (organised 297 into a big and little cluster with 4 cores each) Cortex-A53 including 298 AdvSIMD, 512KB L2 cache (for the big cluster) and 256 KB L2 cache 299 (for the little cluster), PowerVR G6110 based graphics, one video 300 output processor supporting LVDS/HDMI/eDP, several DDR3 options and 301 video codec support. 302 303 On-chip peripherals include Gigabit Ethernet, USB2 host and OTG, SDIO, 304 I2S, UARTs, SPI, I2C and PWMs. 305 306if ROCKCHIP_RK3368 307 308config ROCKCHIP_PX5 309 bool "Support Rockchip PX5" 310 help 311 PX5 is a variant of RK3368, it shares codes with RK3368, but we still 312 need this macro to distinguish PX5 and RK3368. 313 314config TPL_LDSCRIPT 315 default "arch/arm/mach-rockchip/rk3368/u-boot-tpl.lds" 316 317config TPL_TEXT_BASE 318 default 0xff8c1000 319 320config TPL_MAX_SIZE 321 default 28672 322 323config TPL_STACK 324 default 0xff8cffff 325 326endif 327 328config ROCKCHIP_RK3399 329 bool "Support Rockchip RK3399" 330 select ARM64 331 select SUPPORT_SPL 332 select SUPPORT_TPL 333 select SPL 334 select TPL 335 select TPL_NEEDS_SEPARATE_TEXT_BASE if TPL 336 select TPL_NEEDS_SEPARATE_STACK if TPL 337 imply TPL_SERIAL_SUPPORT 338 select SPL_SEPARATE_BSS 339 select SPL_SERIAL_SUPPORT 340 select SPL_DRIVERS_MISC_SUPPORT 341 select GICV3 342 select BOARD_LATE_INIT 343 select ROCKCHIP_BROM_HELPER 344 select ARM_SMCCC 345 select TPL_LIBCOMMON_SUPPORT 346 select TPL_LIBGENERIC_SUPPORT 347 select TPL_SYS_MALLOC_SIMPLE 348 select TPL_BOOTROM_SUPPORT 349 select TPL_DRIVERS_MISC_SUPPORT 350 select TPL_OF_CONTROL 351 select TPL_DM 352 select TPL_REGMAP 353 select TPL_SYSCON 354 select TPL_RAM 355 select TPL_CLK 356 select TPL_TINY_MEMSET 357 help 358 The Rockchip RK3399 is a ARM-based SoC with a dual-core Cortex-A72 359 and quad-core Cortex-A53. 360 including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two 361 video interfaces supporting HDMI and eDP, several DDR3 options 362 and video codec support. Peripherals include Gigabit Ethernet, 363 USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs. 364 365if ROCKCHIP_RK3399 366 367config ROCKCHIP_RK3399PRO 368 bool "Support Rockchip RK3399Pro" 369 370config TPL_LDSCRIPT 371 default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds" 372 373config TPL_TEXT_BASE 374 default 0xff8c2000 375 376config TPL_MAX_SIZE 377 default 188416 378 379config TPL_STACK 380 default 0xff8effff 381 382endif 383 384config ROCKCHIP_RK3528 385 bool "Support Rockchip RK3528" 386 select ARM64 if !ARM64_BOOT_AARCH32 387 select GICV2 if !ARM64_BOOT_AARCH32 388 select SUPPORT_TPL if !ARM64_BOOT_AARCH32 389 select SUPPORT_SPL if !ARM64_BOOT_AARCH32 390 select TPL_TINY_FRAMEWORK if TPL 391 select DEBUG_UART_BOARD_INIT 392 imply TPL if !ARM64_BOOT_AARCH32 393 imply SPL if !ARM64_BOOT_AARCH32 394 imply TPL_SERIAL_SUPPORT 395 help 396 The Rockchip RK3528 is a ARM-based SoC with a quad-core Cortex-A53. 397 398if ROCKCHIP_RK3528 399 400config TPL_LDSCRIPT 401 default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds" 402 403config TPL_TEXT_BASE 404 default 0xfe481000 405 406config TPL_MAX_SIZE 407 default 61440 408 409endif 410 411config ROCKCHIP_RK3562 412 bool "Support Rockchip RK3562" 413 select GICV2 414 select ARM64 415 select ARM_SMCCC 416 select SUPPORT_TPL 417 select SUPPORT_SPL 418 select TPL_TINY_FRAMEWORK if TPL 419 select DEBUG_UART_BOARD_INIT 420 imply TPL 421 imply SPL 422 imply TPL_SERIAL_SUPPORT 423 help 424 The Rockchip RK3562 is a ARM-based SoC with a quad-core Cortex-A53. 425 426if ROCKCHIP_RK3562 427 428config TPL_LDSCRIPT 429 default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds" 430 431config TPL_TEXT_BASE 432 default 0xfe481000 433 434config TPL_MAX_SIZE 435 default 61440 436 437endif 438 439config ROCKCHIP_RK3568 440 bool "Support Rockchip RK3568" 441 select ARM64 if !ARM64_BOOT_AARCH32 442 select ARM_SMCCC 443 select GICV3 if !ARM64_BOOT_AARCH32 && !SUPPORT_USBPLUG 444 select SUPPORT_TPL if !ARM64_BOOT_AARCH32 445 select SUPPORT_SPL if !ARM64_BOOT_AARCH32 446 select TPL_TINY_FRAMEWORK if TPL 447 select DEBUG_UART_BOARD_INIT 448 imply TPL if !ARM64_BOOT_AARCH32 449 imply SPL if !ARM64_BOOT_AARCH32 450 imply TPL_SERIAL_SUPPORT 451 help 452 The Rockchip RK3568 is a ARM-based SoC with a quad-core Cortex-A55. 453 454if ROCKCHIP_RK3568 455 456config TPL_LDSCRIPT 457 default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds" 458 459config TPL_TEXT_BASE 460 default 0xfdcc1000 461 462config TPL_MAX_SIZE 463 default 61440 464 465endif 466 467config ROCKCHIP_RK3576 468 bool "Support Rockchip RK3576" 469 select ARM64 470 select GICV2 471 select ARM_SMCCC 472 select DEBUG_UART_BOARD_INIT 473 select ROCKCHIP_BROM_HELPER 474 select SUPPORT_SPL 475 select SUPPORT_TPL 476 select TPL_TINY_FRAMEWORK if TPL 477 imply TPL 478 imply SPL 479 imply TPL_SERIAL_SUPPORT 480 481 help 482 The Rockchip RK3576 is a ARM-based SoC with a quad-core Cortex-A53 483 and a quad-core Cortex-A72. 484 485if ROCKCHIP_RK3576 486 487config TPL_LDSCRIPT 488 default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds" 489 490config TPL_TEXT_BASE 491 default 0x3ff81000 492 493config TPL_MAX_SIZE 494 default 61440 495 496endif 497 498config ROCKCHIP_RK3588 499 bool "Support Rockchip RK3588" 500 select ARM64 if !ARM64_BOOT_AARCH32 501 select ARM_SMCCC 502 select DEBUG_UART_BOARD_INIT 503 select GICV3 if !ARM64_BOOT_AARCH32 && !SUPPORT_USBPLUG 504 select ROCKCHIP_BROM_HELPER 505 select SUPPORT_SPL if !ARM64_BOOT_AARCH32 506 select SUPPORT_TPL if !ARM64_BOOT_AARCH32 507 select TPL_TINY_FRAMEWORK if TPL 508 imply TPL if !ARM64_BOOT_AARCH32 509 imply SPL if !ARM64_BOOT_AARCH32 510 imply TPL_SERIAL_SUPPORT 511 select DEBUG_UART_BOARD_INIT 512 help 513 The Rockchip RK3588 is a ARM-based SoC with a quad-core Cortex-A55. 514 515if ROCKCHIP_RK3588 516 517config TPL_LDSCRIPT 518 default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds" 519 520config TPL_TEXT_BASE 521 default 0xff001000 522 523config TPL_MAX_SIZE 524 default 61440 525endif 526 527config ROCKCHIP_RK1808 528 bool "Support Rockchip RK1808" 529 select ARM64 530 select ARM_SMCCC 531 select GICV3 if !COPROCESSOR_RK1808 532 select SUPPORT_SPL if !COPROCESSOR_RK1808 533 select SUPPORT_TPL if !COPROCESSOR_RK1808 534 help 535 The Rockchip RK1808 is a ARM-based Soc which embedded with dual 536 Cortex-A35. 537 538if ROCKCHIP_RK1808 539 540config ROCKCHIP_RK1806 541 bool "Support Rockchip RK1806" 542 help 543 The Rockchip RK1806 is a ARM-based Soc which embedded with dual 544 Cortex-A35. 545 546config COPROCESSOR_RK1808 547 bool "RK1808 coprocessor" 548 help 549 This indicates the RK1808 is working as a coprocessor for another 550 more powerful SoC. 551 552endif 553 554config ROCKCHIP_RV1103B 555 bool "Support Rockchip RV1103B" 556 select CPU_V7 557 select ARM_ZERO_CNTVOFF 558 select ROCKCHIP_BROM_HELPER 559 select DEBUG_UART_BOARD_INIT 560 imply SUPPORT_SPL 561 imply SUPPORT_TPL 562 imply SPL 563 imply TPL 564 imply TPL_SERIAL_SUPPORT 565 imply TPL_TINY_FRAMEWORK if TPL 566 imply BOARD_LATE_INIT 567 imply ROCKCHIP_GPIO_V2 568 569 help 570 The Rockchip RV1103B is a ARM-based SoC with a Cortex-A7 and 571 other modules. 572 573if ROCKCHIP_RV1103B 574 575config TPL_LDSCRIPT 576 default "arch/arm/mach-rockchip/u-boot-tpl.lds" 577 578config TPL_TEXT_BASE 579 default 0x210f7000 580 581config TPL_MAX_SIZE 582 default 32768 583endif 584 585config ROCKCHIP_RV1106 586 bool "Support Rockchip RV1106" 587 select CPU_V7 588 select DEBUG_UART_BOARD_INIT 589 imply SUPPORT_SPL 590 imply SUPPORT_TPL 591 imply SPL 592 imply TPL 593 imply TPL_SERIAL_SUPPORT 594 imply TPL_TINY_FRAMEWORK if TPL 595 imply BOARD_LATE_INIT 596 imply ROCKCHIP_GPIO_V2 597 help 598 The Rockchip RV1106 is a ARM-based SoC with a Cortex-A7 and 599 other modules. 600 601if ROCKCHIP_RV1106 602 603config TPL_LDSCRIPT 604 default "arch/arm/mach-rockchip/u-boot-tpl.lds" 605 606config TPL_TEXT_BASE 607 default 0xff701000 608 609config TPL_MAX_SIZE 610 default 32768 611endif 612 613config ROCKCHIP_RV1108 614 bool "Support Rockchip RV1108" 615 select CPU_V7 616 select SUPPORT_SPL 617 select SUPPORT_TPL 618 select SPL 619 select TPL 620 select BOARD_LATE_INIT 621 help 622 The Rockchip RV1108 is a ARM-based SoC with a single-core Cortex-A7 623 and a DSP. 624 625if ROCKCHIP_RV1108 626 627config TPL_LDSCRIPT 628 default "arch/arm/mach-rockchip/u-boot-tpl.lds" 629 630config TPL_TEXT_BASE 631 default 0x10080800 632 633config TPL_MAX_SIZE 634 default 6144 635 636config TPL_STACK 637 default 0x10082000 638 639endif 640 641config ROCKCHIP_RV1126 642 bool "Support Rockchip RV1126" 643 select CPU_V7 644 imply SUPPORT_TPL 645 imply SUPPORT_SPL 646 imply TPL_TINY_FRAMEWORK if TPL 647 select DEBUG_UART_BOARD_INIT 648 imply TPL 649 imply SPL 650 imply GICV2 651 imply ARM_SMCCC 652 imply BOARD_LATE_INIT 653 imply ROCKCHIP_GPIO_V2 654 imply TPL_SERIAL_SUPPORT 655 help 656 The Rockchip RV1126 is a ARM-based SoC with a quad-core Cortex-A7 657 and a risc-v core. 658 659if ROCKCHIP_RV1126 660 661config TPL_LDSCRIPT 662 default "arch/arm/mach-rockchip/u-boot-tpl.lds" 663 664config TPL_TEXT_BASE 665 default 0xff701000 666 667config TPL_MAX_SIZE 668 default 32768 669endif 670 671config SPL_ROCKCHIP_BACK_TO_BROM 672 bool "SPL returns to bootrom" 673 default y if ROCKCHIP_RK3036 674 select ROCKCHIP_BROM_HELPER 675 depends on SPL 676 help 677 Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled, 678 SPL will return to the boot rom, which will then load the U-Boot 679 binary to keep going on. 680 681config TPL_ROCKCHIP_BACK_TO_BROM 682 bool "TPL returns to bootrom" 683 default y 684 select ROCKCHIP_BROM_HELPER 685 depends on TPL 686 help 687 Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled, 688 SPL will return to the boot rom, which will then load the U-Boot 689 binary to keep going on. 690 691config ARM64_BOOT_AARCH32 692 bool "Support Boot an ARM64 on AArch32 execution state, ie. U-Boot is in AArch32" 693 select CPU_V7 694 default n 695 help 696 If you want to boot an ARM64 processor on 32-bit mode, say y here. 697 698config ARM64_SWITCH_TO_AARCH32 699 bool "Support AArch64 U-Boot boot AArch32 kernel" 700 default n 701 help 702 If you want AArch64 U-Boot to boot AArch32 kernel, say y here. 703 This feature needs ATF to help switch the PE state. 704 705config ROCKCHIP_BOOT_MODE_REG 706 hex "Rockchip boot mode flag register address" 707 default 0xff010200 if ROCKCHIP_PX30 708 default 0x200081c8 if ROCKCHIP_RK3036 709 default 0x100a0038 if ROCKCHIP_RK3128 710 default 0x20004040 if ROCKCHIP_RK3188 711 default 0x110005c8 if ROCKCHIP_RK322X 712 default 0xff730094 if ROCKCHIP_RK3288 713 default 0xff000500 if ROCKCHIP_RK3308 714 default 0xff1005c8 if ROCKCHIP_RK3328 715 default 0xff738200 if ROCKCHIP_RK3368 716 default 0xff320300 if ROCKCHIP_RK3399 717 default 0xff370200 if ROCKCHIP_RK3528 718 default 0xff010220 if ROCKCHIP_RK3562 719 default 0xfdc20200 if ROCKCHIP_RK3568 720 default 0x26024040 if ROCKCHIP_RK3576 721 default 0xfd588080 if ROCKCHIP_RK3588 722 default 0xfe020200 if ROCKCHIP_RK1808 723 default 0x20160200 if ROCKCHIP_RV1103B 724 default 0xff020200 if ROCKCHIP_RV1106 725 default 0x10300580 if ROCKCHIP_RV1108 726 default 0xfe020200 if ROCKCHIP_RV1126 727 default 0 728 help 729 The Soc will enter to different boot mode(defined in asm/arch/boot_mode.h) 730 according to the value from this register. 731 732config ROCKCHIP_STIMER_BASE 733 hex "Rockchip Secure timer base address" 734 default 0xff220020 if ROCKCHIP_PX30 735 default 0x200440a0 if ROCKCHIP_RK3036 736 default 0x2000e000 if ROCKCHIP_RK3066 737 default 0x20018020 if ROCKCHIP_RK3126 738 default 0x200440a0 if ROCKCHIP_RK3128 739 default 0x2000e000 if ROCKCHIP_RK3188 740 default 0x110d0020 if ROCKCHIP_RK322X 741 default 0xff810020 if ROCKCHIP_RK3288 742 default 0xff1b00a0 if ROCKCHIP_RK3308 743 default 0xff1d0020 if ROCKCHIP_RK3328 744 default 0xff830020 if ROCKCHIP_RK3368 745 default 0xff8680a0 if ROCKCHIP_RK3399 746 default 0xff620000 if ROCKCHIP_RK3528 747 default 0xffa90020 if ROCKCHIP_RK3562 748 default 0xfdd1c020 if ROCKCHIP_RK3568 749 default 0x27400000 if ROCKCHIP_RK3576 750 default 0xfd8c8000 if ROCKCHIP_RK3588 751 default 0x20500000 if ROCKCHIP_RV1103B 752 default 0xff590020 if ROCKCHIP_RV1106 753 default 0x10350020 if ROCKCHIP_RV1108 754 default 0xff670020 if ROCKCHIP_RV1126 755 default 0 756 help 757 The secure timer inited in SPL/TPL in secure word, ARM generic timer 758 works after this timer work. 759 760config ROCKCHIP_IRAM_START_ADDR 761 hex "Rockchip Secure timer base address" 762 default 0xff0e0000 if ROCKCHIP_PX30 763 default 0x10080000 if ROCKCHIP_RK3036 764 default 0x10080000 if ROCKCHIP_RK3128 765 default 0x10080000 if ROCKCHIP_RK3188 766 default 0x10080000 if ROCKCHIP_RK322X 767 default 0xff700000 if ROCKCHIP_RK3288 768 default 0xfff80000 if ROCKCHIP_RK3308 769 default 0xff091000 if ROCKCHIP_RK3328 770 default 0xff8c0000 if ROCKCHIP_RK3368 771 default 0xff8c0000 if ROCKCHIP_RK3399 772 default 0xfe480000 if ROCKCHIP_RK3528 773 default 0xfe480000 if ROCKCHIP_RK3562 774 default 0xfdcc0000 if ROCKCHIP_RK3568 775 default 0x3ff80000 if ROCKCHIP_RK3576 776 default 0xff000000 if ROCKCHIP_RK3588 777 default 0x210f6000 if ROCKCHIP_RV1103B 778 default 0xff6c0000 if ROCKCHIP_RV1106 779 default 0x10080000 if ROCKCHIP_RV1108 780 default 0xff700000 if ROCKCHIP_RV1126 781 default 0 782 help 783 The IRAM start addr is to locate variant of the boot device from 784 bootrom. 785 786config ROCKCHIP_SPL_RESERVE_IRAM 787 hex "Size of IRAM reserved in SPL" 788 default 0 789 help 790 SPL may need reserve memory for firmware loaded by SPL, whose load 791 address is in IRAM and may overlay with SPL text area if not 792 reserved. 793 794config ROCKCHIP_BROM_HELPER 795 bool 796 797config SPL_ROCKCHIP_EARLYRETURN_TO_BROM 798 bool "SPL requires early-return (for RK3188-style BROM) to BROM" 799 depends on SPL && ENABLE_ARM_SOC_BOOT0_HOOK 800 help 801 Some Rockchip BROM variants (e.g. on the RK3188) load the 802 first stage in segments and enter multiple times. E.g. on 803 the RK3188, the first 1KB of the first stage are loaded 804 first and entered; after returning to the BROM, the 805 remainder of the first stage is loaded, but the BROM 806 re-enters at the same address/to the same code as previously. 807 808 This enables support code in the BOOT0 hook for the SPL stage 809 to allow multiple entries. 810 811config TPL_ROCKCHIP_EARLYRETURN_TO_BROM 812 bool "TPL requires early-return (for RK3188-style BROM) to BROM" 813 depends on TPL && ENABLE_ARM_SOC_BOOT0_HOOK 814 help 815 Some Rockchip BROM variants (e.g. on the RK3188) load the 816 first stage in segments and enter multiple times. E.g. on 817 the RK3188, the first 1KB of the first stage are loaded 818 first and entered; after returning to the BROM, the 819 remainder of the first stage is loaded, but the BROM 820 re-enters at the same address/to the same code as previously. 821 822 This enables support code in the BOOT0 hook for the TPL stage 823 to allow multiple entries. 824 825config SPL_MMC_SUPPORT 826 default y if !SPL_ROCKCHIP_BACK_TO_BROM && MMC 827 828config RKIMG_BOOTLOADER 829 bool "Support for Rockchip platform features" 830 default y 831 help 832 Actually this is a compatible configure for code compilation. 833 834config RKIMG_ANDROID_BOOTMODE_LEGACY 835 bool "Support set androidboot.mode with legacy rule" 836 depends on RKIMG_BOOTLOADER 837 default n 838 help 839 Rockchip set "androidboot.mode=" as "charger" or boot media for android, 840 which is a rockchip private solution(SDK < 8.1) and deprecated. 841 842config ROCKCHIP_BOOTDEV 843 string "Set the boot device for multiple storage board" 844 default "" 845 help 846 On the multiple storage on board, set this to determine what we really 847 want to be the boot device, which contains kernel, rootfs and etc. 848 Fall through to get from preloader or scan list when it's NULL. 849 850config ROCKCHIP_RESOURCE_IMAGE 851 bool "Enable support for rockchip resource image" 852 depends on RKIMG_BOOTLOADER 853 default y 854 help 855 This enables support to get dtb or logo files from 856 rockchip resource image format partition. 857 858config ROCKCHIP_DTB_VERIFY 859 bool "Enable hash verify for DTB in the resource file" 860 depends on ROCKCHIP_RESOURCE_IMAGE 861 select SHA1 if !DM_CRYPTO 862 select SHA256 if !DM_CRYPTO 863 default y 864 help 865 This enables the hash verify for DTB in the resource file, it means we 866 always read DTB from second position even the DTB position is present. 867 868config ROCKCHIP_USB_BOOT 869 bool "Enable support for rockchip U-disk boot" 870 depends on USB 871 default n 872 help 873 This enables support for rockchip U-disk boot. 874 875config ROCKCHIP_FIT_IMAGE 876 bool "Enable support for FIT image" 877 depends on FIT 878 select CMD_BOOT_FIT 879 default n 880 help 881 This enables loading dtb from fit image. 882 883config ROCKCHIP_UIMAGE 884 bool "Enable support for legacy uImage" 885 depends on !FIT_SIGNATURE && USING_KERNEL_DTB 886 select CMD_BOOT_UIMAGE 887 default n 888 help 889 This enables loading dtb from uImage image. 890 891config ROCKCHIP_EARLY_DISTRO_DTB 892 bool "Enable support for distro dtb early" 893 depends on DISTRO_DEFAULTS && USING_KERNEL_DTB && CMD_FS_GENERIC 894 default n 895 help 896 This enables loading dtb from distro bootable partition when there 897 is no valid dtb in android boot.img and rockchip resource.img. 898 899if ROCKCHIP_EARLY_DISTRO_DTB 900 901config ROCKCHIP_EARLY_DISTRO_DTB_PATH 902 string "/rk-kernel.dtb" 903 help 904 "DTB file path in the bootable partition image" 905endif 906 907config ROCKCHIP_HWID_DTB 908 bool "Enable support for selecting DTB by hardware id" 909 depends on ROCKCHIP_RESOURCE_IMAGE 910 default n 911 help 912 This enables select the expected DTB from sets by hardware id, 913 i.e. GPIO or ADC value. 914 915config ROCKCHIP_VENDOR_PARTITION 916 bool "Rockchip vendor storage partition support" 917 depends on (RKIMG_BOOTLOADER || SUPPORT_USBPLUG) 918 help 919 This enable support to read/write vendor configuration data from/to 920 this partition. 921 922config USING_KERNEL_DTB 923 bool "Using dtb from Kernel/resource for U-Boot" 924 depends on RKIMG_BOOTLOADER && OF_LIVE 925 default y 926 help 927 This enable support to read dtb from resource and use it for U-Boot, 928 the uart and emmc will still using U-Boot dtb, but other devices like 929 regulator/pmic, display, usb will use dts node from kernel. 930 931config USING_KERNEL_DTB_V2 932 bool "Version 2 of kernel dtb mechanism" 933 depends on USING_KERNEL_DTB 934 default n 935 help 936 The V2 mechanism: 937 - both of U-Boot and kernel's *ALL* devices are exist in dm tree. 938 - put the necessary U-Boot devices in the head of device uclass list. 939 - the both existence policy don't require phandle fixup any more. 940 - it is for the next generation(rk3588 ...) or necessary platforms. 941 The V1 mechanism(legacy): 942 - U-Boot: only some necessary U-Boot devices(storage, crypto...) in dm tree. 943 - kernel: all the devices(except the U-Boot only) in dm tree. 944 945config EMBED_KERNEL_DTB 946 bool "Enable embedded dtb support" 947 default n 948 help 949 Enable embedded dtb support. 950 951config EMBED_KERNEL_DTB_PATH 952 string "Embedded kernel dtb file path" 953 depends on EMBED_KERNEL_DTB && USING_KERNEL_DTB 954 default "dts/kern.dtb" 955 help 956 This file will auto be appended to the u-boot.bin. 957 958config EMBED_KERNEL_DTB_ALWAYS 959 bool "Always using embedded kernel dtb" 960 depends on EMBED_KERNEL_DTB && USING_KERNEL_DTB 961 default n 962 help 963 Allow fallback to always use a prepared kernel dtb even USING_KERNEL_DTB 964 is set. This makes U-Boot stage more stable but not flexible any more to 965 compatible different boards. 966 967config ROCKCHIP_CRC 968 bool "Rockchip CRC verify images" 969 help 970 This enable support Rockchip CRC verify images. It takes a lot of time, 971 so it is better only used for debug. 972 973config ROCKCHIP_SMCCC 974 bool "Rockchip SMCCC" 975 default y if ARM_SMCCC 976 help 977 This enable support for Rockchip SMC calls 978 979config ROCKCHIP_DEBUGGER 980 bool "Rockchip debugger" 981 depends on IRQ 982 help 983 This enable support for Rockchip debugger. Now we install a timer interrupt 984 and dump pt_regs when the timeout event trigger. This helps us to know cpu 985 state when system hang. 986 987config ROCKCHIP_CRASH_DUMP 988 bool "Rockchip crash dump registers" 989 help 990 This enable dump registers when system crash, the registers you would like 991 to dump can be added in show_regs(). 992 993config ROCKCHIP_PRELOADER_ATAGS 994 bool "Rockchip pre-loader atags" 995 default y if ARCH_ROCKCHIP 996 help 997 This enable support Rockchip atags among pre-loaders, i.e. ddr, miniloader, ATF, 998 tos, U-Boot, etc. It delivers boot and configure information, shared with pre-loaders 999 and finally ends with U-Boot. 1000 1001config ROCKCHIP_META 1002 bool "Rockchip Meta" 1003 depends on SPL_KERNEL_BOOT && SPL_LIBDISK_SUPPORT 1004 help 1005 This support to load Rockchip meta data which like isp parameter, peripheral 1006 parameters, etc. 1007 1008config ROCKCHIP_PRELOADER_SERIAL 1009 bool "Rockchip pre-loader serial" 1010 default y if ROCKCHIP_PRELOADER_ATAGS 1011 help 1012 This enable U-Boot using pre-loader atags serial configure to initialize console. 1013 It denpends on serial aliases to find pre-loader serial number. 1014 1015config ROCKCHIP_IMAGE_TINY 1016 bool "Rockchip tiny Image generation" 1017 default n 1018 help 1019 This enable tiny image generation 1020 1021config ROCKCHIP_FIT_IMAGE_PACK 1022 bool "Rockchip fit image pack of U-Boot and TEE" 1023 depends on ROCKCHIP_FIT_IMAGE 1024 default n 1025 help 1026 This enable fit image pack of U-Boot and TEE, it's used for make.sh script. 1027 1028config ROCKCHIP_UART_MUX_SEL_M 1029 int "UART mux select" 1030 default 0 1031 depends on TPL 1032 help 1033 This select uart multiplexer for debug uart iomux in board_debug_uart_init. 1034 1035config ROCKCHIP_REBOOT_TEST 1036 bool "Rockchip reboot stress test before kernel" 1037 default n 1038 help 1039 It's a reboot stress test before kernel stages. 1040 1041config ROCKCHIP_NEW_IDB 1042 bool "Rockchip new IDB header" 1043 default n 1044 help 1045 The new IDB header was introduced from RK356X. 1046 1047config ROCKCHIP_HOTKEY 1048 bool "Rockchip hotkey" 1049 default y 1050 help 1051 Define a lot of hotkeys for debug. 1052 1053config ROCKCHIP_CMD 1054 string "Rockchip specific command" 1055 default "" 1056 help 1057 It defines a command to be run when the key is pressed if assigned. 1058 String format: "cmd key". 1059 @cmd: any U-Boot cmd. 1060 @key: any key map id, '-' standard for ignore. 1061 e.g. "sd_update 115", 115 is KEY_VOLUMEUP. 1062 1063config GICV2 1064 bool "ARM GICv2" 1065 1066config GICV3 1067 bool "ARM GICv3" 1068 1069config ROCKCHIP_EMMC_IOMUX 1070 bool "ROCKCHIP EMMC IOMUX" 1071 default n 1072 help 1073 This enable U-Boot to config EMMC iomux. 1074 1075config ROCKCHIP_NAND_IOMUX 1076 bool "ROCKCHIP NAND IOMUX" 1077 default n 1078 help 1079 This enable U-Boot to config NAND iomux. 1080 1081config ROCKCHIP_SFC_IOMUX 1082 bool "ROCKCHIP SFC IOMUX" 1083 default n 1084 help 1085 This enable U-Boot to config SFC iomux. 1086 1087config ROCKCHIP_SET_SN 1088 bool "Rockchip set serial number" 1089 default y 1090 1091config ROCKCHIP_SET_ETHADDR 1092 bool "Rockchip set eth address" 1093 default y 1094 1095config BASE_DEFCONFIG 1096 string "Base defconfig of config fragment" 1097 default "" 1098 help 1099 Indicate the base defconfig of config fragment. 1100 1101config CHIP_NAME 1102 string "Chip label name" 1103 default "" 1104 1105config LOADER_INI 1106 string "Name of Loader ini file in rkbin repository" 1107 default "" 1108 help 1109 The ini file is used to pack loader image. 1110 1111config TRUST_INI 1112 string "Name of Trust ini file in rkbin repository" 1113 default "" 1114 help 1115 The ini file is used to pack trust image. 1116 1117if !ROCKCHIP_FIT_IMAGE_PACK 1118config UBOOT_SIZE_KB 1119 int "Per u-boot.bin Image size, unit: KB" 1120 default 1024 1121 1122config UBOOT_NUM 1123 int "Number of u-boot.bin image being packed into trust.img" 1124 default 4 1125 1126config TRUST_SIZE_KB 1127 int "Per trust Image size, unit: KB" 1128 default 2048 1129 1130config TRUST_NUM 1131 int "Number of trust image being packed into trust.img" 1132 default 2 1133 1134config TRUST_RSA_MODE 1135 int "RSA mode of trust.img on ARM64" 1136 default 2 1137 help 1138 The RSA mode for tools to pack, the mode id can be: 1139 0: none; 1: RSA-1024; 2: RSA-2048; 3: RSA-2048-pss. 1140 1141config TRUST_SHA_MODE 1142 int "SHA mode of trust.img on ARM64" 1143 default 3 1144 help 1145 The SHA mode for tools to pack, the mode id can be: 1146 0: none; 1: sha1; 2: sha256 RK big endian; 3: sha256 little endian. 1147endif 1148 1149config PSTORE 1150 bool "Print log to linux pstore buffer" 1151 default n 1152 help 1153 This enable Print uboot log to linux pstore buffer which address 1154 is default 0x110000 for most soc. 1155 1156config PERSISTENT_RAM_ADDR 1157 hex "Linux pstore buffer address" 1158 default 0x0 1159 depends on PSTORE 1160 help 1161 This select linux pstore buffer address for U-Boot. When value is 1162 0, U-Boot auto gets this address from preloader atags. 1163 1164config PERSISTENT_RAM_SIZE 1165 hex "Linux pstore buffer size" 1166 default 0x0 1167 depends on (PERSISTENT_RAM_ADDR != 0) 1168 help 1169 This select linux pstore buffer size for U-Boot, the value must be 1170 set if PERSISTENT_RAM_ADDR != 0. 1171 1172config ROCKCHIP_MINIDUMP 1173 bool "Minidump Save Linux Debug Data To Ram Elf" 1174 default n 1175 help 1176 This enable saving linux debug data to a reserved memory as a elf file. 1177 1178config ROCKCHIP_MINIDUMP_SMEM_BASE 1179 hex "The base of share memory between Uboot and Linux" 1180 default 0x1f0000 1181 depends on ROCKCHIP_MINIDUMP 1182 help 1183 This select the base address of share memory, which is behind PSTORE. 1184 1185config ROCKCHIP_MINIDUMP_MAX_ELF_SIZE 1186 hex "The max size of minidump elf" 1187 default 0x2000000 1188 depends on ROCKCHIP_MINIDUMP 1189 help 1190 This is used to judge the elf program size and section size. 1191 1192config ROCKCHIP_MINIDUMP_MAX_ENTRIES 1193 hex "The max entries of minidump region" 1194 default 0x200 1195 depends on ROCKCHIP_MINIDUMP 1196 help 1197 This sets the max entries of minidump region. 1198 1199config SANITY_CPU_SWAP 1200 bool "Sanity cpu swap" 1201 help 1202 This enale checking current cpu mpidr and kernel 1203 dts cpu0 mpidr. 1204 1205source "arch/arm/mach-rockchip/px30/Kconfig" 1206source "arch/arm/mach-rockchip/rk3036/Kconfig" 1207source "arch/arm/mach-rockchip/rk3066/Kconfig" 1208source "arch/arm/mach-rockchip/rk3128/Kconfig" 1209source "arch/arm/mach-rockchip/rk3188/Kconfig" 1210source "arch/arm/mach-rockchip/rk322x/Kconfig" 1211source "arch/arm/mach-rockchip/rk3288/Kconfig" 1212source "arch/arm/mach-rockchip/rk3308/Kconfig" 1213source "arch/arm/mach-rockchip/rk3328/Kconfig" 1214source "arch/arm/mach-rockchip/rk3368/Kconfig" 1215source "arch/arm/mach-rockchip/rk3399/Kconfig" 1216source "arch/arm/mach-rockchip/rk3528/Kconfig" 1217source "arch/arm/mach-rockchip/rk3562/Kconfig" 1218source "arch/arm/mach-rockchip/rk3568/Kconfig" 1219source "arch/arm/mach-rockchip/rk3576/Kconfig" 1220source "arch/arm/mach-rockchip/rk3588/Kconfig" 1221source "arch/arm/mach-rockchip/rk1808/Kconfig" 1222source "arch/arm/mach-rockchip/rv1103b/Kconfig" 1223source "arch/arm/mach-rockchip/rv1106/Kconfig" 1224source "arch/arm/mach-rockchip/rv1108/Kconfig" 1225source "arch/arm/mach-rockchip/rv1126/Kconfig" 1226 1227endif 1228