12444dae5SSimon Glassif ARCH_ROCKCHIP 22444dae5SSimon Glass 310e73f7bSKever Yangconfig ROCKCHIP_PX30 410e73f7bSKever Yang bool "Support Rockchip PX30" 510e73f7bSKever Yang select ARM64 660848109SJoseph Chen select GICV2 793f9f019SJoseph Chen select ARM_SMCCC 8f6d4196eSYouMin Chen select SUPPORT_SPL 9f6d4196eSYouMin Chen select SUPPORT_TPL 10f6d4196eSYouMin Chen select SPL 11f6d4196eSYouMin Chen select TPL 12f6d4196eSYouMin Chen select TPL_TINY_FRAMEWORK if TPL 13f6d4196eSYouMin Chen 14f6d4196eSYouMin Chen imply SPL_SERIAL_SUPPORT 15f6d4196eSYouMin Chen imply TPL_SERIAL_SUPPORT 16f6d4196eSYouMin Chen select DEBUG_UART_BOARD_INIT 1710e73f7bSKever Yang help 1810e73f7bSKever Yang The Rockchip PX30 is a ARM-based SoC with a quad-core Cortex-A35 1910e73f7bSKever Yang including NEON and GPU, Mali-400 graphics, several DDR3 options 2010e73f7bSKever Yang and video codec support. Peripherals include Gigabit Ethernet, 2110e73f7bSKever Yang USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs. 2210e73f7bSKever Yang 23a08ded54SJoseph Chenif ROCKCHIP_PX30 24a08ded54SJoseph Chen 25f6d4196eSYouMin Chenconfig TPL_LDSCRIPT 26f6d4196eSYouMin Chen default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds" 27f6d4196eSYouMin Chen 28f6d4196eSYouMin Chenconfig TPL_TEXT_BASE 29f6d4196eSYouMin Chen default 0xff0e1000 30f6d4196eSYouMin Chen 31f6d4196eSYouMin Chenconfig TPL_MAX_SIZE 32f6d4196eSYouMin Chen default 10240 33f6d4196eSYouMin Chen 34a08ded54SJoseph Chenconfig ROCKCHIP_RK3326 35a08ded54SJoseph Chen bool "Support Rockchip RK3326 " 36a08ded54SJoseph Chen help 37a08ded54SJoseph Chen RK3326 can use most code from PX30, but at some situations we have 38a08ded54SJoseph Chen to distinguish between RK3326 and PX30, so this macro gives help. 39a08ded54SJoseph Chen It is usually selected in rk3326 board defconfig. 40a08ded54SJoseph Chenendif 41a08ded54SJoseph Chen 42041cdb5fSHeiko Stübnerconfig ROCKCHIP_RK3036 43041cdb5fSHeiko Stübner bool "Support Rockchip RK3036" 44041cdb5fSHeiko Stübner select CPU_V7 45a381bcf5SKever Yang select SUPPORT_SPL 46cdfcfbccSDavid Wu select SUPPORT_TPL 47a381bcf5SKever Yang select SPL 48cdfcfbccSDavid Wu select TPL 49cdfcfbccSDavid Wu select BOARD_LATE_INIT 50cdfcfbccSDavid Wu select ROCKCHIP_BROM_HELPER 51cdfcfbccSDavid Wu select TPL_NEEDS_SEPARATE_TEXT_BASE if TPL 52cdfcfbccSDavid Wu select TPL_NEEDS_SEPARATE_STACK if TPL 53cdfcfbccSDavid Wu select DEBUG_UART_BOARD_INIT 546ba2d5cbSJoseph Chen select ARM_SMCCC 55041cdb5fSHeiko Stübner help 56041cdb5fSHeiko Stübner The Rockchip RK3036 is a ARM-based SoC with a dual-core Cortex-A7 57041cdb5fSHeiko Stübner including NEON and GPU, Mali-400 graphics, several DDR3 options 58041cdb5fSHeiko Stübner and video codec support. Peripherals include Gigabit Ethernet, 59041cdb5fSHeiko Stübner USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs. 60041cdb5fSHeiko Stübner 616a13bde3SKever Yangconfig ROCKCHIP_RK3128 626a13bde3SKever Yang bool "Support Rockchip RK3128" 636a13bde3SKever Yang select CPU_V7 64f3d84b4aSJoseph Chen select GICV2 65965c1b10SJoseph Chen select ARM_SMCCC 666a13bde3SKever Yang help 676a13bde3SKever Yang The Rockchip RK3128 is a ARM-based SoC with a quad-core Cortex-A7 686a13bde3SKever Yang including NEON and GPU, Mali-400 graphics, several DDR3 options 696a13bde3SKever Yang and video codec support. Peripherals include Gigabit Ethernet, 706a13bde3SKever Yang USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs. 716a13bde3SKever Yang 72e1048023SJoseph Chenif ROCKCHIP_RK3128 73e1048023SJoseph Chen 74e1048023SJoseph Chenconfig ROCKCHIP_RK3126 75e1048023SJoseph Chen bool "Support Rockchip RK3126 " 76e1048023SJoseph Chen help 77e1048023SJoseph Chen RK3126 can use most code from RK3128, but at some situations we have 78e1048023SJoseph Chen to distinguish between RK3126 and RK3128, so this macro gives help. 79e1048023SJoseph Chen It is usually selected in rk3126 board defconfig. 80e1048023SJoseph Chenendif 81e1048023SJoseph Chen 82578306eaSPaweł Jaroszconfig ROCKCHIP_RK3066 83578306eaSPaweł Jarosz bool "Support Rockchip RK3066" 84578306eaSPaweł Jarosz select CPU_V7 85578306eaSPaweł Jarosz select SUPPORT_SPL 86578306eaSPaweł Jarosz select SUPPORT_TPL 87578306eaSPaweł Jarosz select SPL 88578306eaSPaweł Jarosz select TPL 89578306eaSPaweł Jarosz select BOARD_LATE_INIT 90578306eaSPaweł Jarosz select ROCKCHIP_BROM_HELPER 91ffb06671SKever Yang select SPL_ROCKCHIP_EARLYRETURN_TO_BROM 92578306eaSPaweł Jarosz help 93578306eaSPaweł Jarosz The Rockchip RK3066 is a ARM-based SoC with a dual-core Cortex-A9 94578306eaSPaweł Jarosz including NEON and GPU, Mali-400 graphics, several DDR3 options 95578306eaSPaweł Jarosz and video codec support. Peripherals include ethernet, USB2 host 96578306eaSPaweł Jarosz and OTG, SDIO, I2S, UART, SPI, I2C and PWMs. 97578306eaSPaweł Jarosz 980a2be69fSHeiko Stübnerconfig ROCKCHIP_RK3188 990a2be69fSHeiko Stübner bool "Support Rockchip RK3188" 1000a2be69fSHeiko Stübner select CPU_V7 1010680f1b1SLey Foon Tan select SPL_BOARD_INIT if SPL 1020a2be69fSHeiko Stübner select SUPPORT_SPL 1030a2be69fSHeiko Stübner select SPL 104397403c7SPhilipp Tomsich select SPL_CLK 105397403c7SPhilipp Tomsich select SPL_REGMAP 106397403c7SPhilipp Tomsich select SPL_SYSCON 107397403c7SPhilipp Tomsich select SPL_RAM 108397403c7SPhilipp Tomsich select SPL_DRIVERS_MISC_SUPPORT 109885cc66fSPhilipp Tomsich select SPL_ROCKCHIP_EARLYRETURN_TO_BROM 110008a610bSHeiko Stübner select BOARD_LATE_INIT 1110a2be69fSHeiko Stübner select ROCKCHIP_BROM_HELPER 1120a2be69fSHeiko Stübner help 1130a2be69fSHeiko Stübner The Rockchip RK3188 is a ARM-based SoC with a quad-core Cortex-A9 1140a2be69fSHeiko Stübner including NEON and GPU, 512KB L2 cache, Mali-400 graphics, two 1150a2be69fSHeiko Stübner video interfaces, several memory options and video codec support. 1160a2be69fSHeiko Stübner Peripherals include Fast Ethernet, USB2 host and OTG, SDIO, I2S, 1170a2be69fSHeiko Stübner UART, SPI, I2C and PWMs. 1180a2be69fSHeiko Stübner 119168eef7aSKever Yangconfig ROCKCHIP_RK322X 120168eef7aSKever Yang bool "Support Rockchip RK3228/RK3229" 121168eef7aSKever Yang select CPU_V7 122168eef7aSKever Yang select SUPPORT_SPL 12306d27531SKever Yang select SUPPORT_TPL 124168eef7aSKever Yang select SPL 12506d27531SKever Yang select TPL 12606d27531SKever Yang select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL 12706d27531SKever Yang select TPL_NEEDS_SEPARATE_STACK if TPL 12806d27531SKever Yang select SPL_DRIVERS_MISC_SUPPORT 12906d27531SKever Yang imply SPL_SERIAL_SUPPORT 13006d27531SKever Yang imply TPL_SERIAL_SUPPORT 131168eef7aSKever Yang select ROCKCHIP_BROM_HELPER 132168eef7aSKever Yang select DEBUG_UART_BOARD_INIT 13306d27531SKever Yang select TPL_LIBCOMMON_SUPPORT 13406d27531SKever Yang select TPL_LIBGENERIC_SUPPORT 135d1d395d7SJoseph Chen select GICV2 1366ba2d5cbSJoseph Chen select ARM_SMCCC 137168eef7aSKever Yang help 138168eef7aSKever Yang The Rockchip RK3229 is a ARM-based SoC with a dual-core Cortex-A7 139168eef7aSKever Yang including NEON and GPU, Mali-400 graphics, several DDR3 options 140168eef7aSKever Yang and video codec support. Peripherals include Gigabit Ethernet, 141168eef7aSKever Yang USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs. 142168eef7aSKever Yang 1432444dae5SSimon Glassconfig ROCKCHIP_RK3288 1442444dae5SSimon Glass bool "Support Rockchip RK3288" 145e0f5dbcbSAndreas Färber select CPU_V7 1460680f1b1SLey Foon Tan select SPL_BOARD_INIT if SPL 147a381bcf5SKever Yang select SUPPORT_SPL 148a381bcf5SKever Yang select SPL 14986a31622SJoseph Chen select GICV2 1506ba2d5cbSJoseph Chen select ARM_SMCCC 1512444dae5SSimon Glass help 1522444dae5SSimon Glass The Rockchip RK3288 is a ARM-based SoC with a quad-core Cortex-A17 1532444dae5SSimon Glass including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two 1542444dae5SSimon Glass video interfaces supporting HDMI and eDP, several DDR3 options 1552444dae5SSimon Glass and video codec support. Peripherals include Gigabit Ethernet, 156ef904bf2SAndreas Färber USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs. 1572444dae5SSimon Glass 1583d78ac3eSAndy Yanconfig ROCKCHIP_RK3308 1593d78ac3eSAndy Yan bool "Support Rockchip RK3308" 160b4bed602SAndy Yan select ARM64 if !ARM64_BOOT_AARCH32 1613d78ac3eSAndy Yan select DEBUG_UART_BOARD_INIT 1626ba2d5cbSJoseph Chen select ARM_SMCCC 1633d78ac3eSAndy Yan help 1643d78ac3eSAndy Yan The Rockchip RK3308 is a ARM-based Soc which embeded with quad 1653d78ac3eSAndy Yan Cortex-A35 and highly integrated audio interfaces. 1663d78ac3eSAndy Yan 16785a3cfb8SKever Yangconfig ROCKCHIP_RK3328 16885a3cfb8SKever Yang bool "Support Rockchip RK3328" 16985a3cfb8SKever Yang select ARM64 17055da6f73SJoseph Chen select GICV2 171430b0146SKever Yang select SUPPORT_SPL 172430b0146SKever Yang select SUPPORT_TPL 173430b0146SKever Yang select SPL 174430b0146SKever Yang select TPL 175430b0146SKever Yang select TPL_NEEDS_SEPARATE_TEXT_BASE if TPL 176430b0146SKever Yang select TPL_NEEDS_SEPARATE_STACK if TPL 177430b0146SKever Yang imply SPL_SERIAL_SUPPORT 178430b0146SKever Yang imply TPL_SERIAL_SUPPORT 179430b0146SKever Yang imply SPL_SEPARATE_BSS 180430b0146SKever Yang select DEBUG_UART_BOARD_INIT 1816ba2d5cbSJoseph Chen select ARM_SMCCC 18285a3cfb8SKever Yang help 18385a3cfb8SKever Yang The Rockchip RK3328 is a ARM-based SoC with a quad-core Cortex-A53. 18485a3cfb8SKever Yang including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two 18585a3cfb8SKever Yang video interfaces supporting HDMI and eDP, several DDR3 options 18685a3cfb8SKever Yang and video codec support. Peripherals include Gigabit Ethernet, 18785a3cfb8SKever Yang USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs. 18885a3cfb8SKever Yang 189430b0146SKever Yangif ROCKCHIP_RK3328 190430b0146SKever Yang 191430b0146SKever Yangconfig TPL_LDSCRIPT 192430b0146SKever Yang default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds" 193430b0146SKever Yang 194430b0146SKever Yangconfig TPL_TEXT_BASE 195430b0146SKever Yang default 0xff091000 196430b0146SKever Yang 197430b0146SKever Yangconfig TPL_MAX_SIZE 198430b0146SKever Yang default 28672 199430b0146SKever Yang 200430b0146SKever Yangconfig TPL_STACK 201430b0146SKever Yang default 0xff098000 202430b0146SKever Yang 203430b0146SKever Yangendif 204430b0146SKever Yang 20537a0c600SAndreas Färberconfig ROCKCHIP_RK3368 20637a0c600SAndreas Färber bool "Support Rockchip RK3368" 20737a0c600SAndreas Färber select ARM64 2085071457eSPhilipp Tomsich select SUPPORT_SPL 2095071457eSPhilipp Tomsich select SUPPORT_TPL 2104cf4378eSPhilipp Tomsich select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL 2114cf4378eSPhilipp Tomsich select TPL_NEEDS_SEPARATE_STACK if TPL 2125071457eSPhilipp Tomsich imply SPL_SEPARATE_BSS 2135071457eSPhilipp Tomsich imply SPL_SERIAL_SUPPORT 2145071457eSPhilipp Tomsich imply TPL_SERIAL_SUPPORT 2155071457eSPhilipp Tomsich select DEBUG_UART_BOARD_INIT 216503f955fSJoseph Chen select GICV2 2176ba2d5cbSJoseph Chen select ARM_SMCCC 21837a0c600SAndreas Färber help 2199a8f009fSPhilipp Tomsich The Rockchip RK3368 is a ARM-based SoC with a octa-core (organised 2209a8f009fSPhilipp Tomsich into a big and little cluster with 4 cores each) Cortex-A53 including 2219a8f009fSPhilipp Tomsich AdvSIMD, 512KB L2 cache (for the big cluster) and 256 KB L2 cache 2229a8f009fSPhilipp Tomsich (for the little cluster), PowerVR G6110 based graphics, one video 2239a8f009fSPhilipp Tomsich output processor supporting LVDS/HDMI/eDP, several DDR3 options and 2249a8f009fSPhilipp Tomsich video codec support. 2259a8f009fSPhilipp Tomsich 2269a8f009fSPhilipp Tomsich On-chip peripherals include Gigabit Ethernet, USB2 host and OTG, SDIO, 2279a8f009fSPhilipp Tomsich I2S, UARTs, SPI, I2C and PWMs. 22837a0c600SAndreas Färber 229d9d1242bSPhilipp Tomsichif ROCKCHIP_RK3368 230d9d1242bSPhilipp Tomsich 231d9d1242bSPhilipp Tomsichconfig TPL_LDSCRIPT 232d9d1242bSPhilipp Tomsich default "arch/arm/mach-rockchip/rk3368/u-boot-tpl.lds" 233d9d1242bSPhilipp Tomsich 2345aa49af3SPhilipp Tomsichconfig TPL_TEXT_BASE 2355aa49af3SPhilipp Tomsich default 0xff8c1000 2365aa49af3SPhilipp Tomsich 2375aa49af3SPhilipp Tomsichconfig TPL_MAX_SIZE 2385aa49af3SPhilipp Tomsich default 28672 2395aa49af3SPhilipp Tomsich 2405aa49af3SPhilipp Tomsichconfig TPL_STACK 2415aa49af3SPhilipp Tomsich default 0xff8cffff 2425aa49af3SPhilipp Tomsich 243d9d1242bSPhilipp Tomsichendif 244d9d1242bSPhilipp Tomsich 245a381bcf5SKever Yangconfig ROCKCHIP_RK3399 246a381bcf5SKever Yang bool "Support Rockchip RK3399" 247a381bcf5SKever Yang select ARM64 24866e87cc8SKever Yang select SUPPORT_SPL 24966e87cc8SKever Yang select SPL 25066e87cc8SKever Yang select SPL_SEPARATE_BSS 251c0508e42SPhilipp Tomsich select SPL_SERIAL_SUPPORT 252c0508e42SPhilipp Tomsich select SPL_DRIVERS_MISC_SUPPORT 2537ee16de5SPhilipp Tomsich select DEBUG_UART_BOARD_INIT 2548f557da1SJoseph Chen select GICV3 255be55ced3SAndy Yan select BOARD_LATE_INIT 25647a9f8fcSAndy Yan select ROCKCHIP_BROM_HELPER 2576ba2d5cbSJoseph Chen select ARM_SMCCC 258a381bcf5SKever Yang help 259a381bcf5SKever Yang The Rockchip RK3399 is a ARM-based SoC with a dual-core Cortex-A72 260a381bcf5SKever Yang and quad-core Cortex-A53. 261a381bcf5SKever Yang including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two 262a381bcf5SKever Yang video interfaces supporting HDMI and eDP, several DDR3 options 263a381bcf5SKever Yang and video codec support. Peripherals include Gigabit Ethernet, 264a381bcf5SKever Yang USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs. 265a381bcf5SKever Yang 2662c1e11ddSAndy Yanconfig ROCKCHIP_RV1108 2672c1e11ddSAndy Yan bool "Support Rockchip RV1108" 2682c1e11ddSAndy Yan select CPU_V7 26952f7b21dSZhihuan He select SUPPORT_SPL 27052f7b21dSZhihuan He select SPL 271dfe03786SAndy Yan select BOARD_LATE_INIT 2722c1e11ddSAndy Yan help 2732c1e11ddSAndy Yan The Rockchip RV1108 is a ARM-based SoC with a single-core Cortex-A7 2742c1e11ddSAndy Yan and a DSP. 2752c1e11ddSAndy Yan 276ee14d29dSPhilipp Tomsichconfig SPL_ROCKCHIP_BACK_TO_BROM 277b47ea792SXu Ziyuan bool "SPL returns to bootrom" 278b47ea792SXu Ziyuan default y if ROCKCHIP_RK3036 2791d845947SHeiko Stübner select ROCKCHIP_BROM_HELPER 280ee14d29dSPhilipp Tomsich depends on SPL 281ee14d29dSPhilipp Tomsich help 282ee14d29dSPhilipp Tomsich Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled, 283ee14d29dSPhilipp Tomsich SPL will return to the boot rom, which will then load the U-Boot 284ee14d29dSPhilipp Tomsich binary to keep going on. 285ee14d29dSPhilipp Tomsich 286ee14d29dSPhilipp Tomsichconfig TPL_ROCKCHIP_BACK_TO_BROM 287ee14d29dSPhilipp Tomsich bool "TPL returns to bootrom" 288430b0146SKever Yang default y if ROCKCHIP_RK3368 || ROCKCHIP_RK3328 289ee14d29dSPhilipp Tomsich select ROCKCHIP_BROM_HELPER 290ee14d29dSPhilipp Tomsich depends on TPL 291b47ea792SXu Ziyuan help 292b47ea792SXu Ziyuan Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled, 293b47ea792SXu Ziyuan SPL will return to the boot rom, which will then load the U-Boot 294b47ea792SXu Ziyuan binary to keep going on. 295b47ea792SXu Ziyuan 296b4bed602SAndy Yanconfig ARM64_BOOT_AARCH32 297b4bed602SAndy Yan bool "Support Boot an ARM64 on AArch32 execution state" 298b4bed602SAndy Yan select CPU_V7 299b4bed602SAndy Yan default n 300b4bed602SAndy Yan help 301b4bed602SAndy Yan If you want to boot an ARM64 processor on 32-bit mode, say y here. 302b4bed602SAndy Yan 303be55ced3SAndy Yanconfig ROCKCHIP_BOOT_MODE_REG 304be55ced3SAndy Yan hex "Rockchip boot mode flag register address" 30510e73f7bSKever Yang default 0xff010200 if ROCKCHIP_PX30 306be55ced3SAndy Yan default 0x200081c8 if ROCKCHIP_RK3036 307dd9a11eaSAndy Yan default 0x100a0038 if ROCKCHIP_RK3128 308be55ced3SAndy Yan default 0x20004040 if ROCKCHIP_RK3188 309be55ced3SAndy Yan default 0x110005c8 if ROCKCHIP_RK322X 310be55ced3SAndy Yan default 0xff730094 if ROCKCHIP_RK3288 3113d78ac3eSAndy Yan default 0xff000500 if ROCKCHIP_RK3308 3128ec39620SKever Yang default 0xff1005c8 if ROCKCHIP_RK3328 313be55ced3SAndy Yan default 0xff738200 if ROCKCHIP_RK3368 314be55ced3SAndy Yan default 0xff320300 if ROCKCHIP_RK3399 315be55ced3SAndy Yan default 0x10300580 if ROCKCHIP_RV1108 316be55ced3SAndy Yan default 0 317be55ced3SAndy Yan help 318be55ced3SAndy Yan The Soc will enter to different boot mode(defined in asm/arch/boot_mode.h) 319be55ced3SAndy Yan according to the value from this register. 320be55ced3SAndy Yan 321d5ed5c22SKever Yangconfig ROCKCHIP_STIMER_BASE 322d5ed5c22SKever Yang hex "Rockchip Secure timer base address" 323d5ed5c22SKever Yang default 0xff220020 if ROCKCHIP_PX30 324d5ed5c22SKever Yang default 0x200440a0 if ROCKCHIP_RK3036 325d5ed5c22SKever Yang default 0x2000e000 if ROCKCHIP_RK3066 326d5ed5c22SKever Yang default 0x20018020 if ROCKCHIP_RK3126 327d5ed5c22SKever Yang default 0x200440a0 if ROCKCHIP_RK3128 328d5ed5c22SKever Yang default 0x2000e000 if ROCKCHIP_RK3188 329d5ed5c22SKever Yang default 0x110d0020 if ROCKCHIP_RK322X 330d5ed5c22SKever Yang default 0xff810020 if ROCKCHIP_RK3288 331d5ed5c22SKever Yang default 0xff1d0020 if ROCKCHIP_RK3328 332d5ed5c22SKever Yang default 0xff830020 if ROCKCHIP_RK3368 333d5ed5c22SKever Yang default 0xff8680a0 if ROCKCHIP_RK3399 334d5ed5c22SKever Yang default 0x10350020 if ROCKCHIP_RV1108 335d5ed5c22SKever Yang default 0 336d5ed5c22SKever Yang help 337d5ed5c22SKever Yang The secure timer inited in SPL/TPL in secure word, ARM generic timer 338d5ed5c22SKever Yang works after this timer work. 339d5ed5c22SKever Yang 340e8078e90SKever Yangconfig ROCKCHIP_IRAM_START_ADDR 341e8078e90SKever Yang hex "Rockchip Secure timer base address" 342e8078e90SKever Yang default 0xff0e0000 if ROCKCHIP_PX30 343e8078e90SKever Yang default 0x10080000 if ROCKCHIP_RK3036 344e8078e90SKever Yang default 0x10080000 if ROCKCHIP_RK3128 345e8078e90SKever Yang default 0x10080000 if ROCKCHIP_RK3188 346e8078e90SKever Yang default 0x10080000 if ROCKCHIP_RK322X 347e8078e90SKever Yang default 0xff700000 if ROCKCHIP_RK3288 348*ade6d65fSZhihuan He default 0xfff80000 if ROCKCHIP_RK3308 349e8078e90SKever Yang default 0xff091000 if ROCKCHIP_RK3328 350e8078e90SKever Yang default 0xff8c0000 if ROCKCHIP_RK3368 351e8078e90SKever Yang default 0xff8c0000 if ROCKCHIP_RK3399 352e8078e90SKever Yang default 0x10080000 if ROCKCHIP_RV1108 353e8078e90SKever Yang default 0 354e8078e90SKever Yang help 355e8078e90SKever Yang The IRAM start addr is to locate variant of the boot device from 356e8078e90SKever Yang bootrom. 357e8078e90SKever Yang 358fa1392a2SKever Yangconfig ROCKCHIP_SPL_RESERVE_IRAM 359fa1392a2SKever Yang hex "Size of IRAM reserved in SPL" 360b2870221SKever Yang default 0 361fa1392a2SKever Yang help 362fa1392a2SKever Yang SPL may need reserve memory for firmware loaded by SPL, whose load 363fa1392a2SKever Yang address is in IRAM and may overlay with SPL text area if not 364fa1392a2SKever Yang reserved. 365fa1392a2SKever Yang 3661d845947SHeiko Stübnerconfig ROCKCHIP_BROM_HELPER 3671d845947SHeiko Stübner bool 3681d845947SHeiko Stübner 369dff737c4SPhilipp Tomsichconfig SPL_ROCKCHIP_EARLYRETURN_TO_BROM 370dff737c4SPhilipp Tomsich bool "SPL requires early-return (for RK3188-style BROM) to BROM" 371dff737c4SPhilipp Tomsich depends on SPL && ENABLE_ARM_SOC_BOOT0_HOOK 372dff737c4SPhilipp Tomsich help 373dff737c4SPhilipp Tomsich Some Rockchip BROM variants (e.g. on the RK3188) load the 374dff737c4SPhilipp Tomsich first stage in segments and enter multiple times. E.g. on 375dff737c4SPhilipp Tomsich the RK3188, the first 1KB of the first stage are loaded 376dff737c4SPhilipp Tomsich first and entered; after returning to the BROM, the 377dff737c4SPhilipp Tomsich remainder of the first stage is loaded, but the BROM 378dff737c4SPhilipp Tomsich re-enters at the same address/to the same code as previously. 379dff737c4SPhilipp Tomsich 380dff737c4SPhilipp Tomsich This enables support code in the BOOT0 hook for the SPL stage 381dff737c4SPhilipp Tomsich to allow multiple entries. 382dff737c4SPhilipp Tomsich 383dff737c4SPhilipp Tomsichconfig TPL_ROCKCHIP_EARLYRETURN_TO_BROM 384dff737c4SPhilipp Tomsich bool "TPL requires early-return (for RK3188-style BROM) to BROM" 385dff737c4SPhilipp Tomsich depends on TPL && ENABLE_ARM_SOC_BOOT0_HOOK 386dff737c4SPhilipp Tomsich help 387dff737c4SPhilipp Tomsich Some Rockchip BROM variants (e.g. on the RK3188) load the 388dff737c4SPhilipp Tomsich first stage in segments and enter multiple times. E.g. on 389dff737c4SPhilipp Tomsich the RK3188, the first 1KB of the first stage are loaded 390dff737c4SPhilipp Tomsich first and entered; after returning to the BROM, the 391dff737c4SPhilipp Tomsich remainder of the first stage is loaded, but the BROM 392dff737c4SPhilipp Tomsich re-enters at the same address/to the same code as previously. 393dff737c4SPhilipp Tomsich 394dff737c4SPhilipp Tomsich This enables support code in the BOOT0 hook for the TPL stage 395dff737c4SPhilipp Tomsich to allow multiple entries. 396dff737c4SPhilipp Tomsich 397230e0e09SSandy Pattersonconfig SPL_MMC_SUPPORT 398ee14d29dSPhilipp Tomsich default y if !SPL_ROCKCHIP_BACK_TO_BROM 399230e0e09SSandy Patterson 40006621a79SKever Yangconfig RKIMG_BOOTLOADER 40106621a79SKever Yang bool "Support for Rockchip Image Bootloader boot flow" 40206621a79SKever Yang default n 40306621a79SKever Yang help 40406621a79SKever Yang Rockchip use this to boot Android during development cycle and for 40506621a79SKever Yang other OS, typical content kernel.img with zImage/Image, boot.img and 40606621a79SKever Yang recovery.img with Ramdisk, packed with 'KNRL' header; and resource.img 40706621a79SKever Yang with dtb and uboot/kernel logo bmp, vendor storage for custom info 40806621a79SKever Yang like SN and MAC address. 40906621a79SKever Yang 41008dcd37cSAndy Yanconfig ROCKCHIP_RESOURCE_IMAGE 41108dcd37cSAndy Yan bool "Enable support for rockchip resource image" 412a12bbc34SJason Zhu depends on RKIMG_BOOTLOADER 413aae0febbSJoseph Chen default y 41408dcd37cSAndy Yan help 41508dcd37cSAndy Yan This enables support to get dtb or logo files from 41608dcd37cSAndy Yan rockchip resource image format partition. 41708dcd37cSAndy Yan 41891441457Sfrancis.fanconfig ROCKCHIP_VENDOR_PARTITION 4195bd6dc27SKever Yang bool "Rockchip vendor storage partition support" 4205bd6dc27SKever Yang depends on RKIMG_BOOTLOADER 42191441457Sfrancis.fan help 42291441457Sfrancis.fan This enable support to read/write vendor configuration data from/to 4235bd6dc27SKever Yang this partition. 42491441457Sfrancis.fan 425f8aaa2c2SKever Yangconfig USING_KERNEL_DTB 426f8aaa2c2SKever Yang bool "Using dtb from Kernel/resource for U-Boot" 427f8aaa2c2SKever Yang depends on RKIMG_BOOTLOADER && OF_LIVE 428f8aaa2c2SKever Yang default y 429f8aaa2c2SKever Yang help 430f8aaa2c2SKever Yang This enable support to read dtb from resource and use it for U-Boot, 431f8aaa2c2SKever Yang the uart and emmc will still using U-Boot dtb, but other devices like 432f8aaa2c2SKever Yang regulator/pmic, display, usb will use dts node from kernel. 433f8aaa2c2SKever Yang 434882c7251SJoseph Chenconfig ROCKCHIP_CRC 435882c7251SJoseph Chen bool "Rockchip CRC verify images" 436882c7251SJoseph Chen help 437882c7251SJoseph Chen This enable support Rockchip CRC verify images. It takes a lot of time, 438882c7251SJoseph Chen so it is better only used for debug. 439882c7251SJoseph Chen 440f270a3f8SJoseph Chenconfig ROCKCHIP_SMCCC 441f270a3f8SJoseph Chen bool "Rockchip SMCCC" 442f270a3f8SJoseph Chen default y if ARM_SMCCC 443f270a3f8SJoseph Chen help 444f270a3f8SJoseph Chen This enable support for Rockchip SMC calls 445f270a3f8SJoseph Chen 446c563adc7SJoseph Chenconfig ROCKCHIP_DEBUGGER 447c563adc7SJoseph Chen bool "Rockchip debugger" 448c563adc7SJoseph Chen depends on IRQ 449c563adc7SJoseph Chen help 450c563adc7SJoseph Chen This enable support for Rockchip debugger. Now we install a timer interrupt 451c563adc7SJoseph Chen and dump pt_regs when the timeout event trigger. This helps us to know cpu 452c563adc7SJoseph Chen state when system hang. 453c563adc7SJoseph Chen 45424cd8f36SJoseph Chenconfig ROCKCHIP_CRASH_DUMP 45524cd8f36SJoseph Chen bool "Rockchip crash dump registers" 45624cd8f36SJoseph Chen help 45724cd8f36SJoseph Chen This enable dump registers when system crash, the registers you would like 45824cd8f36SJoseph Chen to dump can be added in show_regs(). 45924cd8f36SJoseph Chen 460a93252dfSJoseph Chenconfig GICV2 461a93252dfSJoseph Chen bool "ARM GICv2" 462a93252dfSJoseph Chen 463a93252dfSJoseph Chenconfig GICV3 464a93252dfSJoseph Chen bool "ARM GICv3" 465a93252dfSJoseph Chen 466448a4b38SKever Yangsource "arch/arm/mach-rockchip/px30/Kconfig" 467be1d5e03Shuang linsource "arch/arm/mach-rockchip/rk3036/Kconfig" 468578306eaSPaweł Jaroszsource "arch/arm/mach-rockchip/rk3066/Kconfig" 4696a13bde3SKever Yangsource "arch/arm/mach-rockchip/rk3128/Kconfig" 4700a2be69fSHeiko Stübnersource "arch/arm/mach-rockchip/rk3188/Kconfig" 471b24a8ec1SKever Yangsource "arch/arm/mach-rockchip/rk322x/Kconfig" 472041cdb5fSHeiko Stübnersource "arch/arm/mach-rockchip/rk3288/Kconfig" 473c1e43163SAndy Yansource "arch/arm/mach-rockchip/rk3308/Kconfig" 47485a3cfb8SKever Yangsource "arch/arm/mach-rockchip/rk3328/Kconfig" 47537a0c600SAndreas Färbersource "arch/arm/mach-rockchip/rk3368/Kconfig" 476a381bcf5SKever Yangsource "arch/arm/mach-rockchip/rk3399/Kconfig" 4772c1e11ddSAndy Yansource "arch/arm/mach-rockchip/rv1108/Kconfig" 4782444dae5SSimon Glassendif 479