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