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