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_RK3506 385 bool "Support Rockchip RK3506" 386 select CPU_V7 387 select ROCKCHIP_BROM_HELPER 388 select DEBUG_UART_BOARD_INIT 389 select ARM_SMCCC 390 select GICV2 391 imply SUPPORT_SPL 392 imply SUPPORT_TPL 393 imply SPL 394 imply TPL 395 imply TPL_SERIAL_SUPPORT 396 imply SPL_SERIAL_SUPPORT 397 imply TPL_TINY_FRAMEWORK if TPL 398 imply BOARD_LATE_INIT 399 imply ROCKCHIP_GPIO_V2 400 401 help 402 The Rockchip RK3506 is a ARM-based SoC with a tri-core Cortex-A7. 403 404if ROCKCHIP_RK3506 405 406config TPL_LDSCRIPT 407 default "arch/arm/mach-rockchip/u-boot-tpl.lds" 408 409config TPL_TEXT_BASE 410 default 0xfff81000 411 412config TPL_MAX_SIZE 413 default 45056 414 415endif 416 417config ROCKCHIP_RK3528 418 bool "Support Rockchip RK3528" 419 select ARM64 if !ARM64_BOOT_AARCH32 420 select GICV2 if !ARM64_BOOT_AARCH32 421 select SUPPORT_TPL if !ARM64_BOOT_AARCH32 422 select SUPPORT_SPL if !ARM64_BOOT_AARCH32 423 select TPL_TINY_FRAMEWORK if TPL 424 select DEBUG_UART_BOARD_INIT 425 imply TPL if !ARM64_BOOT_AARCH32 426 imply SPL if !ARM64_BOOT_AARCH32 427 imply TPL_SERIAL_SUPPORT 428 help 429 The Rockchip RK3528 is a ARM-based SoC with a quad-core Cortex-A53. 430 431if ROCKCHIP_RK3528 432 433config TPL_LDSCRIPT 434 default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds" 435 436config TPL_TEXT_BASE 437 default 0xfe481000 438 439config TPL_MAX_SIZE 440 default 61440 441 442endif 443 444config ROCKCHIP_RK3562 445 bool "Support Rockchip RK3562" 446 select GICV2 447 select ARM64 448 select ARM_SMCCC 449 select SUPPORT_TPL 450 select SUPPORT_SPL 451 select TPL_TINY_FRAMEWORK if TPL 452 select DEBUG_UART_BOARD_INIT 453 imply TPL 454 imply SPL 455 imply TPL_SERIAL_SUPPORT 456 help 457 The Rockchip RK3562 is a ARM-based SoC with a quad-core Cortex-A53. 458 459if ROCKCHIP_RK3562 460 461config TPL_LDSCRIPT 462 default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds" 463 464config TPL_TEXT_BASE 465 default 0xfe481000 466 467config TPL_MAX_SIZE 468 default 61440 469 470endif 471 472config ROCKCHIP_RK3568 473 bool "Support Rockchip RK3568" 474 select ARM64 if !ARM64_BOOT_AARCH32 475 select ARM_SMCCC 476 select GICV3 if !ARM64_BOOT_AARCH32 && !SUPPORT_USBPLUG 477 select SUPPORT_TPL if !ARM64_BOOT_AARCH32 478 select SUPPORT_SPL if !ARM64_BOOT_AARCH32 479 select TPL_TINY_FRAMEWORK if TPL 480 select DEBUG_UART_BOARD_INIT 481 imply TPL if !ARM64_BOOT_AARCH32 482 imply SPL if !ARM64_BOOT_AARCH32 483 imply TPL_SERIAL_SUPPORT 484 help 485 The Rockchip RK3568 is a ARM-based SoC with a quad-core Cortex-A55. 486 487if ROCKCHIP_RK3568 488 489config TPL_LDSCRIPT 490 default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds" 491 492config TPL_TEXT_BASE 493 default 0xfdcc1000 494 495config TPL_MAX_SIZE 496 default 61440 497 498endif 499 500config ROCKCHIP_RK3576 501 bool "Support Rockchip RK3576" 502 select ARM64 503 select GICV2 504 select ARM_SMCCC 505 select DEBUG_UART_BOARD_INIT 506 select ROCKCHIP_BROM_HELPER 507 select SUPPORT_SPL 508 select SUPPORT_TPL 509 select TPL_TINY_FRAMEWORK if TPL 510 imply TPL 511 imply SPL 512 imply TPL_SERIAL_SUPPORT 513 514 help 515 The Rockchip RK3576 is a ARM-based SoC with a quad-core Cortex-A53 516 and a quad-core Cortex-A72. 517 518if ROCKCHIP_RK3576 519 520config TPL_LDSCRIPT 521 default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds" 522 523config TPL_TEXT_BASE 524 default 0x3ff81000 525 526config TPL_MAX_SIZE 527 default 61440 528 529endif 530 531config ROCKCHIP_RK3588 532 bool "Support Rockchip RK3588" 533 select ARM64 if !ARM64_BOOT_AARCH32 534 select ARM_SMCCC 535 select DEBUG_UART_BOARD_INIT 536 select GICV3 if !ARM64_BOOT_AARCH32 && !SUPPORT_USBPLUG 537 select ROCKCHIP_BROM_HELPER 538 select SUPPORT_SPL if !ARM64_BOOT_AARCH32 539 select SUPPORT_TPL if !ARM64_BOOT_AARCH32 540 select TPL_TINY_FRAMEWORK if TPL 541 imply TPL if !ARM64_BOOT_AARCH32 542 imply SPL if !ARM64_BOOT_AARCH32 543 imply TPL_SERIAL_SUPPORT 544 select DEBUG_UART_BOARD_INIT 545 help 546 The Rockchip RK3588 is a ARM-based SoC with a quad-core Cortex-A55. 547 548if ROCKCHIP_RK3588 549 550config TPL_LDSCRIPT 551 default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds" 552 553config TPL_TEXT_BASE 554 default 0xff001000 555 556config TPL_MAX_SIZE 557 default 61440 558endif 559 560config ROCKCHIP_RK1808 561 bool "Support Rockchip RK1808" 562 select ARM64 563 select ARM_SMCCC 564 select GICV3 if !COPROCESSOR_RK1808 565 select SUPPORT_SPL if !COPROCESSOR_RK1808 566 select SUPPORT_TPL if !COPROCESSOR_RK1808 567 help 568 The Rockchip RK1808 is a ARM-based Soc which embedded with dual 569 Cortex-A35. 570 571if ROCKCHIP_RK1808 572 573config ROCKCHIP_RK1806 574 bool "Support Rockchip RK1806" 575 help 576 The Rockchip RK1806 is a ARM-based Soc which embedded with dual 577 Cortex-A35. 578 579config COPROCESSOR_RK1808 580 bool "RK1808 coprocessor" 581 help 582 This indicates the RK1808 is working as a coprocessor for another 583 more powerful SoC. 584 585endif 586 587config ROCKCHIP_RV1103B 588 bool "Support Rockchip RV1103B" 589 select CPU_V7 590 select ARM_ZERO_CNTVOFF 591 select ROCKCHIP_BROM_HELPER 592 select DEBUG_UART_BOARD_INIT 593 imply SUPPORT_SPL 594 imply SUPPORT_TPL 595 imply SPL 596 imply TPL 597 imply TPL_SERIAL_SUPPORT 598 imply TPL_TINY_FRAMEWORK if TPL 599 imply BOARD_LATE_INIT 600 imply ROCKCHIP_GPIO_V2 601 602 help 603 The Rockchip RV1103B is a ARM-based SoC with a Cortex-A7 and 604 other modules. 605 606if ROCKCHIP_RV1103B 607 608config TPL_LDSCRIPT 609 default "arch/arm/mach-rockchip/u-boot-tpl.lds" 610 611config TPL_TEXT_BASE 612 default 0x210f7000 613 614config TPL_MAX_SIZE 615 default 32768 616endif 617 618config ROCKCHIP_RV1106 619 bool "Support Rockchip RV1106" 620 select CPU_V7 621 select DEBUG_UART_BOARD_INIT 622 imply SUPPORT_SPL 623 imply SUPPORT_TPL 624 imply SPL 625 imply TPL 626 imply TPL_SERIAL_SUPPORT 627 imply TPL_TINY_FRAMEWORK if TPL 628 imply BOARD_LATE_INIT 629 imply ROCKCHIP_GPIO_V2 630 help 631 The Rockchip RV1106 is a ARM-based SoC with a Cortex-A7 and 632 other modules. 633 634if ROCKCHIP_RV1106 635 636config TPL_LDSCRIPT 637 default "arch/arm/mach-rockchip/u-boot-tpl.lds" 638 639config TPL_TEXT_BASE 640 default 0xff701000 641 642config TPL_MAX_SIZE 643 default 32768 644endif 645 646config ROCKCHIP_RV1108 647 bool "Support Rockchip RV1108" 648 select CPU_V7 649 select SUPPORT_SPL 650 select SUPPORT_TPL 651 select SPL 652 select TPL 653 select BOARD_LATE_INIT 654 help 655 The Rockchip RV1108 is a ARM-based SoC with a single-core Cortex-A7 656 and a DSP. 657 658if ROCKCHIP_RV1108 659 660config TPL_LDSCRIPT 661 default "arch/arm/mach-rockchip/u-boot-tpl.lds" 662 663config TPL_TEXT_BASE 664 default 0x10080800 665 666config TPL_MAX_SIZE 667 default 6144 668 669config TPL_STACK 670 default 0x10082000 671 672endif 673 674config ROCKCHIP_RV1126 675 bool "Support Rockchip RV1126" 676 select CPU_V7 677 imply SUPPORT_TPL 678 imply SUPPORT_SPL 679 imply TPL_TINY_FRAMEWORK if TPL 680 select DEBUG_UART_BOARD_INIT 681 imply TPL 682 imply SPL 683 imply GICV2 684 imply ARM_SMCCC 685 imply BOARD_LATE_INIT 686 imply ROCKCHIP_GPIO_V2 687 imply TPL_SERIAL_SUPPORT 688 help 689 The Rockchip RV1126 is a ARM-based SoC with a quad-core Cortex-A7 690 and a risc-v core. 691 692if ROCKCHIP_RV1126 693 694config TPL_LDSCRIPT 695 default "arch/arm/mach-rockchip/u-boot-tpl.lds" 696 697config TPL_TEXT_BASE 698 default 0xff701000 699 700config TPL_MAX_SIZE 701 default 32768 702endif 703 704config SPL_ROCKCHIP_BACK_TO_BROM 705 bool "SPL returns to bootrom" 706 default y if ROCKCHIP_RK3036 707 select ROCKCHIP_BROM_HELPER 708 depends on SPL 709 help 710 Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled, 711 SPL will return to the boot rom, which will then load the U-Boot 712 binary to keep going on. 713 714config TPL_ROCKCHIP_BACK_TO_BROM 715 bool "TPL returns to bootrom" 716 default y 717 select ROCKCHIP_BROM_HELPER 718 depends on TPL 719 help 720 Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled, 721 SPL will return to the boot rom, which will then load the U-Boot 722 binary to keep going on. 723 724config ARM64_BOOT_AARCH32 725 bool "Support Boot an ARM64 on AArch32 execution state, ie. U-Boot is in AArch32" 726 select CPU_V7 727 default n 728 help 729 If you want to boot an ARM64 processor on 32-bit mode, say y here. 730 731config ARM64_SWITCH_TO_AARCH32 732 bool "Support AArch64 U-Boot boot AArch32 kernel" 733 default n 734 help 735 If you want AArch64 U-Boot to boot AArch32 kernel, say y here. 736 This feature needs ATF to help switch the PE state. 737 738config ROCKCHIP_BOOT_MODE_REG 739 hex "Rockchip boot mode flag register address" 740 default 0xff010200 if ROCKCHIP_PX30 741 default 0x200081c8 if ROCKCHIP_RK3036 742 default 0x100a0038 if ROCKCHIP_RK3128 743 default 0x20004040 if ROCKCHIP_RK3188 744 default 0x110005c8 if ROCKCHIP_RK322X 745 default 0xff730094 if ROCKCHIP_RK3288 746 default 0xff000500 if ROCKCHIP_RK3308 747 default 0xff1005c8 if ROCKCHIP_RK3328 748 default 0xff738200 if ROCKCHIP_RK3368 749 default 0xff320300 if ROCKCHIP_RK3399 750 default 0xff910200 if ROCKCHIP_RK3506 751 default 0xff370200 if ROCKCHIP_RK3528 752 default 0xff010220 if ROCKCHIP_RK3562 753 default 0xfdc20200 if ROCKCHIP_RK3568 754 default 0x26024040 if ROCKCHIP_RK3576 755 default 0xfd588080 if ROCKCHIP_RK3588 756 default 0xfe020200 if ROCKCHIP_RK1808 757 default 0x20160200 if ROCKCHIP_RV1103B 758 default 0xff020200 if ROCKCHIP_RV1106 759 default 0x10300580 if ROCKCHIP_RV1108 760 default 0xfe020200 if ROCKCHIP_RV1126 761 default 0 762 help 763 The Soc will enter to different boot mode(defined in asm/arch/boot_mode.h) 764 according to the value from this register. 765 766config ROCKCHIP_STIMER_BASE 767 hex "Rockchip Secure timer base address" 768 default 0xff220020 if ROCKCHIP_PX30 769 default 0x200440a0 if ROCKCHIP_RK3036 770 default 0x2000e000 if ROCKCHIP_RK3066 771 default 0x20018020 if ROCKCHIP_RK3126 772 default 0x200440a0 if ROCKCHIP_RK3128 773 default 0x2000e000 if ROCKCHIP_RK3188 774 default 0x110d0020 if ROCKCHIP_RK322X 775 default 0xff810020 if ROCKCHIP_RK3288 776 default 0xff1b00a0 if ROCKCHIP_RK3308 777 default 0xff1d0020 if ROCKCHIP_RK3328 778 default 0xff830020 if ROCKCHIP_RK3368 779 default 0xff8680a0 if ROCKCHIP_RK3399 780 default 0xff980000 if ROCKCHIP_RK3506 781 default 0xff620000 if ROCKCHIP_RK3528 782 default 0xffa90020 if ROCKCHIP_RK3562 783 default 0xfdd1c020 if ROCKCHIP_RK3568 784 default 0x27400000 if ROCKCHIP_RK3576 785 default 0xfd8c8000 if ROCKCHIP_RK3588 786 default 0x20500000 if ROCKCHIP_RV1103B 787 default 0xff590020 if ROCKCHIP_RV1106 788 default 0x10350020 if ROCKCHIP_RV1108 789 default 0xff670020 if ROCKCHIP_RV1126 790 default 0 791 help 792 The secure timer inited in SPL/TPL in secure word, ARM generic timer 793 works after this timer work. 794 795config ROCKCHIP_IRAM_START_ADDR 796 hex "Rockchip Secure timer base address" 797 default 0xff0e0000 if ROCKCHIP_PX30 798 default 0x10080000 if ROCKCHIP_RK3036 799 default 0x10080000 if ROCKCHIP_RK3128 800 default 0x10080000 if ROCKCHIP_RK3188 801 default 0x10080000 if ROCKCHIP_RK322X 802 default 0xff700000 if ROCKCHIP_RK3288 803 default 0xfff80000 if ROCKCHIP_RK3308 804 default 0xff091000 if ROCKCHIP_RK3328 805 default 0xff8c0000 if ROCKCHIP_RK3368 806 default 0xff8c0000 if ROCKCHIP_RK3399 807 default 0xfff80000 if ROCKCHIP_RK3506 808 default 0xfe480000 if ROCKCHIP_RK3528 809 default 0xfe480000 if ROCKCHIP_RK3562 810 default 0xfdcc0000 if ROCKCHIP_RK3568 811 default 0x3ff80000 if ROCKCHIP_RK3576 812 default 0xff000000 if ROCKCHIP_RK3588 813 default 0x210f6000 if ROCKCHIP_RV1103B 814 default 0xff6c0000 if ROCKCHIP_RV1106 815 default 0x10080000 if ROCKCHIP_RV1108 816 default 0xff700000 if ROCKCHIP_RV1126 817 default 0 818 help 819 The IRAM start addr is to locate variant of the boot device from 820 bootrom. 821 822config ROCKCHIP_SPL_RESERVE_IRAM 823 hex "Size of IRAM reserved in SPL" 824 default 0 825 help 826 SPL may need reserve memory for firmware loaded by SPL, whose load 827 address is in IRAM and may overlay with SPL text area if not 828 reserved. 829 830config ROCKCHIP_BROM_HELPER 831 bool 832 833config SPL_ROCKCHIP_EARLYRETURN_TO_BROM 834 bool "SPL requires early-return (for RK3188-style BROM) to BROM" 835 depends on SPL && ENABLE_ARM_SOC_BOOT0_HOOK 836 help 837 Some Rockchip BROM variants (e.g. on the RK3188) load the 838 first stage in segments and enter multiple times. E.g. on 839 the RK3188, the first 1KB of the first stage are loaded 840 first and entered; after returning to the BROM, the 841 remainder of the first stage is loaded, but the BROM 842 re-enters at the same address/to the same code as previously. 843 844 This enables support code in the BOOT0 hook for the SPL stage 845 to allow multiple entries. 846 847config TPL_ROCKCHIP_EARLYRETURN_TO_BROM 848 bool "TPL requires early-return (for RK3188-style BROM) to BROM" 849 depends on TPL && ENABLE_ARM_SOC_BOOT0_HOOK 850 help 851 Some Rockchip BROM variants (e.g. on the RK3188) load the 852 first stage in segments and enter multiple times. E.g. on 853 the RK3188, the first 1KB of the first stage are loaded 854 first and entered; after returning to the BROM, the 855 remainder of the first stage is loaded, but the BROM 856 re-enters at the same address/to the same code as previously. 857 858 This enables support code in the BOOT0 hook for the TPL stage 859 to allow multiple entries. 860 861config SPL_MMC_SUPPORT 862 default y if !SPL_ROCKCHIP_BACK_TO_BROM && MMC 863 864config RKIMG_BOOTLOADER 865 bool "Support for Rockchip platform features" 866 default y 867 help 868 Actually this is a compatible configure for code compilation. 869 870config RKIMG_ANDROID_BOOTMODE_LEGACY 871 bool "Support set androidboot.mode with legacy rule" 872 depends on RKIMG_BOOTLOADER 873 default n 874 help 875 Rockchip set "androidboot.mode=" as "charger" or boot media for android, 876 which is a rockchip private solution(SDK < 8.1) and deprecated. 877 878config ROCKCHIP_BOOTDEV 879 string "Set the boot device for multiple storage board" 880 default "" 881 help 882 On the multiple storage on board, set this to determine what we really 883 want to be the boot device, which contains kernel, rootfs and etc. 884 Fall through to get from preloader or scan list when it's NULL. 885 886config ROCKCHIP_RESOURCE_IMAGE 887 bool "Enable support for rockchip resource image" 888 depends on RKIMG_BOOTLOADER 889 default y 890 help 891 This enables support to get dtb or logo files from 892 rockchip resource image format partition. 893 894config ROCKCHIP_DTB_VERIFY 895 bool "Enable hash verify for DTB in the resource file" 896 depends on ROCKCHIP_RESOURCE_IMAGE 897 select SHA1 if !DM_CRYPTO 898 select SHA256 if !DM_CRYPTO 899 default y 900 help 901 This enables the hash verify for DTB in the resource file, it means we 902 always read DTB from second position even the DTB position is present. 903 904config ROCKCHIP_USB_BOOT 905 bool "Enable support for rockchip U-disk boot" 906 depends on USB 907 default n 908 help 909 This enables support for rockchip U-disk boot. 910 911config ROCKCHIP_FIT_IMAGE 912 bool "Enable support for FIT image" 913 depends on FIT 914 select CMD_BOOT_FIT 915 default n 916 help 917 This enables loading dtb from fit image. 918 919config ROCKCHIP_UIMAGE 920 bool "Enable support for legacy uImage" 921 depends on !FIT_SIGNATURE && USING_KERNEL_DTB 922 select CMD_BOOT_UIMAGE 923 default n 924 help 925 This enables loading dtb from uImage image. 926 927config ROCKCHIP_EARLY_DISTRO_DTB 928 bool "Enable support for distro dtb early" 929 depends on DISTRO_DEFAULTS && USING_KERNEL_DTB && CMD_FS_GENERIC 930 default n 931 help 932 This enables loading dtb from distro bootable partition when there 933 is no valid dtb in android boot.img and rockchip resource.img. 934 935if ROCKCHIP_EARLY_DISTRO_DTB 936 937config ROCKCHIP_EARLY_DISTRO_DTB_PATH 938 string "/rk-kernel.dtb" 939 help 940 "DTB file path in the bootable partition image" 941endif 942 943config ROCKCHIP_HWID_DTB 944 bool "Enable support for selecting DTB by hardware id" 945 depends on ROCKCHIP_RESOURCE_IMAGE 946 default n 947 help 948 This enables select the expected DTB from sets by hardware id, 949 i.e. GPIO or ADC value. 950 951config SPL_ROCKCHIP_HWID_DTB 952 bool "Enable support for selecting DTB by hardware id in SPL" 953 depends on SPL_KERNEL_BOOT 954 default n 955 help 956 This enables select the expected kernel DTB from sets by hardware id in SPL, 957 i.e. GPIO or ADC value. 958 959config ROCKCHIP_VENDOR_PARTITION 960 bool "Rockchip vendor storage partition support" 961 depends on (RKIMG_BOOTLOADER || SUPPORT_USBPLUG) 962 help 963 This enable support to read/write vendor configuration data from/to 964 this partition. 965 966config USING_KERNEL_DTB 967 bool "Using dtb from Kernel/resource for U-Boot" 968 depends on RKIMG_BOOTLOADER && OF_LIVE 969 default y 970 help 971 This enable support to read dtb from resource and use it for U-Boot, 972 the uart and emmc will still using U-Boot dtb, but other devices like 973 regulator/pmic, display, usb will use dts node from kernel. 974 975config USING_KERNEL_DTB_V2 976 bool "Version 2 of kernel dtb mechanism" 977 depends on USING_KERNEL_DTB 978 default n 979 help 980 The V2 mechanism: 981 - both of U-Boot and kernel's *ALL* devices are exist in dm tree. 982 - put the necessary U-Boot devices in the head of device uclass list. 983 - the both existence policy don't require phandle fixup any more. 984 - it is for the next generation(rk3588 ...) or necessary platforms. 985 The V1 mechanism(legacy): 986 - U-Boot: only some necessary U-Boot devices(storage, crypto...) in dm tree. 987 - kernel: all the devices(except the U-Boot only) in dm tree. 988 989config EMBED_KERNEL_DTB 990 bool "Enable embedded dtb support" 991 default n 992 help 993 Enable embedded dtb support. 994 995config EMBED_KERNEL_DTB_PATH 996 string "Embedded kernel dtb file path" 997 depends on EMBED_KERNEL_DTB && USING_KERNEL_DTB 998 default "dts/kern.dtb" 999 help 1000 This file will auto be appended to the u-boot.bin. 1001 1002config EMBED_KERNEL_DTB_ALWAYS 1003 bool "Always using embedded kernel dtb" 1004 depends on EMBED_KERNEL_DTB && USING_KERNEL_DTB 1005 default n 1006 help 1007 Allow fallback to always use a prepared kernel dtb even USING_KERNEL_DTB 1008 is set. This makes U-Boot stage more stable but not flexible any more to 1009 compatible different boards. 1010 1011config ROCKCHIP_CRC 1012 bool "Rockchip CRC verify images" 1013 help 1014 This enable support Rockchip CRC verify images. It takes a lot of time, 1015 so it is better only used for debug. 1016 1017config ROCKCHIP_SMCCC 1018 bool "Rockchip SMCCC" 1019 default y if ARM_SMCCC 1020 help 1021 This enable support for Rockchip SMC calls 1022 1023config ROCKCHIP_DEBUGGER 1024 bool "Rockchip debugger" 1025 depends on IRQ 1026 help 1027 This enable support for Rockchip debugger. Now we install a timer interrupt 1028 and dump pt_regs when the timeout event trigger. This helps us to know cpu 1029 state when system hang. 1030 1031config ROCKCHIP_CRASH_DUMP 1032 bool "Rockchip crash dump registers" 1033 help 1034 This enable dump registers when system crash, the registers you would like 1035 to dump can be added in show_regs(). 1036 1037config ROCKCHIP_PRELOADER_ATAGS 1038 bool "Rockchip pre-loader atags" 1039 default y if ARCH_ROCKCHIP 1040 help 1041 This enable support Rockchip atags among pre-loaders, i.e. ddr, miniloader, ATF, 1042 tos, U-Boot, etc. It delivers boot and configure information, shared with pre-loaders 1043 and finally ends with U-Boot. 1044 1045config ROCKCHIP_META 1046 bool "Rockchip Meta" 1047 depends on SPL_KERNEL_BOOT && SPL_LIBDISK_SUPPORT 1048 help 1049 This support to load Rockchip meta data which like isp parameter, peripheral 1050 parameters, etc. 1051 1052config ROCKCHIP_PRELOADER_SERIAL 1053 bool "Rockchip pre-loader serial" 1054 default y if ROCKCHIP_PRELOADER_ATAGS 1055 help 1056 This enable U-Boot using pre-loader atags serial configure to initialize console. 1057 It denpends on serial aliases to find pre-loader serial number. 1058 1059config ROCKCHIP_IMAGE_TINY 1060 bool "Rockchip tiny Image generation" 1061 default n 1062 help 1063 This enable tiny image generation 1064 1065config ROCKCHIP_FIT_IMAGE_PACK 1066 bool "Rockchip fit image pack of U-Boot and TEE" 1067 depends on ROCKCHIP_FIT_IMAGE 1068 default n 1069 help 1070 This enable fit image pack of U-Boot and TEE, it's used for make.sh script. 1071 1072config ROCKCHIP_UART_MUX_SEL_M 1073 int "UART mux select" 1074 default 0 1075 depends on TPL 1076 help 1077 This select uart multiplexer for debug uart iomux in board_debug_uart_init. 1078 1079config ROCKCHIP_REBOOT_TEST 1080 bool "Rockchip reboot stress test before kernel" 1081 default n 1082 help 1083 It's a reboot stress test before kernel stages. 1084 1085config ROCKCHIP_NEW_IDB 1086 bool "Rockchip new IDB header" 1087 default n 1088 help 1089 The new IDB header was introduced from RK356X. 1090 1091config ROCKCHIP_HOTKEY 1092 bool "Rockchip hotkey" 1093 default y 1094 help 1095 Define a lot of hotkeys for debug. 1096 1097config ROCKCHIP_CMD 1098 string "Rockchip specific command" 1099 default "" 1100 help 1101 It defines a command to be run when the key is pressed if assigned. 1102 String format: "cmd key". 1103 @cmd: any U-Boot cmd. 1104 @key: any key map id, '-' standard for ignore. 1105 e.g. "sd_update 115", 115 is KEY_VOLUMEUP. 1106 1107config GICV2 1108 bool "ARM GICv2" 1109 1110config GICV3 1111 bool "ARM GICv3" 1112 1113config ROCKCHIP_EMMC_IOMUX 1114 bool "ROCKCHIP EMMC IOMUX" 1115 default n 1116 help 1117 This enable U-Boot to config EMMC iomux. 1118 1119config ROCKCHIP_NAND_IOMUX 1120 bool "ROCKCHIP NAND IOMUX" 1121 default n 1122 help 1123 This enable U-Boot to config NAND iomux. 1124 1125config ROCKCHIP_SFC_IOMUX 1126 bool "ROCKCHIP SFC IOMUX" 1127 default n 1128 help 1129 This enable U-Boot to config SFC iomux. 1130 1131config ROCKCHIP_SET_SN 1132 bool "Rockchip set serial number" 1133 default y 1134 1135config ROCKCHIP_SET_ETHADDR 1136 bool "Rockchip set eth address" 1137 default y 1138 1139config BASE_DEFCONFIG 1140 string "Base defconfig of config fragment" 1141 default "" 1142 help 1143 Indicate the base defconfig of config fragment. 1144 1145config CHIP_NAME 1146 string "Chip label name" 1147 default "" 1148 1149config LOADER_INI 1150 string "Name of Loader ini file in rkbin repository" 1151 default "" 1152 help 1153 The ini file is used to pack loader image. 1154 1155config TRUST_INI 1156 string "Name of Trust ini file in rkbin repository" 1157 default "" 1158 help 1159 The ini file is used to pack trust image. 1160 1161if !ROCKCHIP_FIT_IMAGE_PACK 1162config UBOOT_SIZE_KB 1163 int "Per u-boot.bin Image size, unit: KB" 1164 default 1024 1165 1166config UBOOT_NUM 1167 int "Number of u-boot.bin image being packed into trust.img" 1168 default 4 1169 1170config TRUST_SIZE_KB 1171 int "Per trust Image size, unit: KB" 1172 default 2048 1173 1174config TRUST_NUM 1175 int "Number of trust image being packed into trust.img" 1176 default 2 1177 1178config TRUST_RSA_MODE 1179 int "RSA mode of trust.img on ARM64" 1180 default 2 1181 help 1182 The RSA mode for tools to pack, the mode id can be: 1183 0: none; 1: RSA-1024; 2: RSA-2048; 3: RSA-2048-pss. 1184 1185config TRUST_SHA_MODE 1186 int "SHA mode of trust.img on ARM64" 1187 default 3 1188 help 1189 The SHA mode for tools to pack, the mode id can be: 1190 0: none; 1: sha1; 2: sha256 RK big endian; 3: sha256 little endian. 1191endif 1192 1193config PSTORE 1194 bool "Print log to linux pstore buffer" 1195 default n 1196 help 1197 This enable Print uboot log to linux pstore buffer which address 1198 is default 0x110000 for most soc. 1199 1200config PERSISTENT_RAM_ADDR 1201 hex "Linux pstore buffer address" 1202 default 0x0 1203 depends on PSTORE 1204 help 1205 This select linux pstore buffer address for U-Boot. When value is 1206 0, U-Boot auto gets this address from preloader atags. 1207 1208config PERSISTENT_RAM_SIZE 1209 hex "Linux pstore buffer size" 1210 default 0x0 1211 depends on (PERSISTENT_RAM_ADDR != 0) 1212 help 1213 This select linux pstore buffer size for U-Boot, the value must be 1214 set if PERSISTENT_RAM_ADDR != 0. 1215 1216config ROCKCHIP_MINIDUMP 1217 bool "Minidump Save Linux Debug Data To Ram Elf" 1218 default n 1219 help 1220 This enable saving linux debug data to a reserved memory as a elf file. 1221 1222config ROCKCHIP_MINIDUMP_SMEM_BASE 1223 hex "The base of share memory between Uboot and Linux" 1224 default 0x1f0000 1225 depends on ROCKCHIP_MINIDUMP 1226 help 1227 This select the base address of share memory, which is behind PSTORE. 1228 1229config ROCKCHIP_MINIDUMP_MAX_ELF_SIZE 1230 hex "The max size of minidump elf" 1231 default 0x2000000 1232 depends on ROCKCHIP_MINIDUMP 1233 help 1234 This is used to judge the elf program size and section size. 1235 1236config ROCKCHIP_MINIDUMP_MAX_ENTRIES 1237 hex "The max entries of minidump region" 1238 default 0x200 1239 depends on ROCKCHIP_MINIDUMP 1240 help 1241 This sets the max entries of minidump region. 1242 1243config SANITY_CPU_SWAP 1244 bool "Sanity cpu swap" 1245 help 1246 This enale checking current cpu mpidr and kernel 1247 dts cpu0 mpidr. 1248 1249source "arch/arm/mach-rockchip/px30/Kconfig" 1250source "arch/arm/mach-rockchip/rk3036/Kconfig" 1251source "arch/arm/mach-rockchip/rk3066/Kconfig" 1252source "arch/arm/mach-rockchip/rk3128/Kconfig" 1253source "arch/arm/mach-rockchip/rk3188/Kconfig" 1254source "arch/arm/mach-rockchip/rk322x/Kconfig" 1255source "arch/arm/mach-rockchip/rk3288/Kconfig" 1256source "arch/arm/mach-rockchip/rk3308/Kconfig" 1257source "arch/arm/mach-rockchip/rk3328/Kconfig" 1258source "arch/arm/mach-rockchip/rk3368/Kconfig" 1259source "arch/arm/mach-rockchip/rk3399/Kconfig" 1260source "arch/arm/mach-rockchip/rk3506/Kconfig" 1261source "arch/arm/mach-rockchip/rk3528/Kconfig" 1262source "arch/arm/mach-rockchip/rk3562/Kconfig" 1263source "arch/arm/mach-rockchip/rk3568/Kconfig" 1264source "arch/arm/mach-rockchip/rk3576/Kconfig" 1265source "arch/arm/mach-rockchip/rk3588/Kconfig" 1266source "arch/arm/mach-rockchip/rk1808/Kconfig" 1267source "arch/arm/mach-rockchip/rv1103b/Kconfig" 1268source "arch/arm/mach-rockchip/rv1106/Kconfig" 1269source "arch/arm/mach-rockchip/rv1108/Kconfig" 1270source "arch/arm/mach-rockchip/rv1126/Kconfig" 1271 1272endif 1273