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. 80f094cb29SShunqian Zheng 81f094cb29SShunqian Zhengconfig ROCKCHIP_PX3SE 82f094cb29SShunqian Zheng bool "Support Rockchip PX3SE" 83f094cb29SShunqian Zheng help 84f094cb29SShunqian Zheng PX3SE is a variant of RK3128, it shares codes with RK3128, but we still 85f094cb29SShunqian Zheng need this macro to distinguish PX3SE and RK3128. 86e1048023SJoseph Chenendif 87e1048023SJoseph Chen 88578306eaSPaweł Jaroszconfig ROCKCHIP_RK3066 89578306eaSPaweł Jarosz bool "Support Rockchip RK3066" 90578306eaSPaweł Jarosz select CPU_V7 91578306eaSPaweł Jarosz select SUPPORT_SPL 92578306eaSPaweł Jarosz select SUPPORT_TPL 93578306eaSPaweł Jarosz select SPL 94578306eaSPaweł Jarosz select TPL 95578306eaSPaweł Jarosz select BOARD_LATE_INIT 96578306eaSPaweł Jarosz select ROCKCHIP_BROM_HELPER 97ffb06671SKever Yang select SPL_ROCKCHIP_EARLYRETURN_TO_BROM 98578306eaSPaweł Jarosz help 99578306eaSPaweł Jarosz The Rockchip RK3066 is a ARM-based SoC with a dual-core Cortex-A9 100578306eaSPaweł Jarosz including NEON and GPU, Mali-400 graphics, several DDR3 options 101578306eaSPaweł Jarosz and video codec support. Peripherals include ethernet, USB2 host 102578306eaSPaweł Jarosz and OTG, SDIO, I2S, UART, SPI, I2C and PWMs. 103578306eaSPaweł Jarosz 1040a2be69fSHeiko Stübnerconfig ROCKCHIP_RK3188 1050a2be69fSHeiko Stübner bool "Support Rockchip RK3188" 1060a2be69fSHeiko Stübner select CPU_V7 1070680f1b1SLey Foon Tan select SPL_BOARD_INIT if SPL 1080a2be69fSHeiko Stübner select SUPPORT_SPL 1090a2be69fSHeiko Stübner select SPL 110397403c7SPhilipp Tomsich select SPL_CLK 111397403c7SPhilipp Tomsich select SPL_REGMAP 112397403c7SPhilipp Tomsich select SPL_SYSCON 113397403c7SPhilipp Tomsich select SPL_RAM 114397403c7SPhilipp Tomsich select SPL_DRIVERS_MISC_SUPPORT 115885cc66fSPhilipp Tomsich select SPL_ROCKCHIP_EARLYRETURN_TO_BROM 116008a610bSHeiko Stübner select BOARD_LATE_INIT 1170a2be69fSHeiko Stübner select ROCKCHIP_BROM_HELPER 1180a2be69fSHeiko Stübner help 1190a2be69fSHeiko Stübner The Rockchip RK3188 is a ARM-based SoC with a quad-core Cortex-A9 1200a2be69fSHeiko Stübner including NEON and GPU, 512KB L2 cache, Mali-400 graphics, two 1210a2be69fSHeiko Stübner video interfaces, several memory options and video codec support. 1220a2be69fSHeiko Stübner Peripherals include Fast Ethernet, USB2 host and OTG, SDIO, I2S, 1230a2be69fSHeiko Stübner UART, SPI, I2C and PWMs. 1240a2be69fSHeiko Stübner 125168eef7aSKever Yangconfig ROCKCHIP_RK322X 126168eef7aSKever Yang bool "Support Rockchip RK3228/RK3229" 127168eef7aSKever Yang select CPU_V7 128168eef7aSKever Yang select SUPPORT_SPL 12906d27531SKever Yang select SUPPORT_TPL 130168eef7aSKever Yang select SPL 13106d27531SKever Yang select TPL 13206d27531SKever Yang select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL 13306d27531SKever Yang select TPL_NEEDS_SEPARATE_STACK if TPL 13406d27531SKever Yang select SPL_DRIVERS_MISC_SUPPORT 13506d27531SKever Yang imply SPL_SERIAL_SUPPORT 13606d27531SKever Yang imply TPL_SERIAL_SUPPORT 137168eef7aSKever Yang select ROCKCHIP_BROM_HELPER 138168eef7aSKever Yang select DEBUG_UART_BOARD_INIT 13906d27531SKever Yang select TPL_LIBCOMMON_SUPPORT 14006d27531SKever Yang select TPL_LIBGENERIC_SUPPORT 141d1d395d7SJoseph Chen select GICV2 1426ba2d5cbSJoseph Chen select ARM_SMCCC 143168eef7aSKever Yang help 144168eef7aSKever Yang The Rockchip RK3229 is a ARM-based SoC with a dual-core Cortex-A7 145168eef7aSKever Yang including NEON and GPU, Mali-400 graphics, several DDR3 options 146168eef7aSKever Yang and video codec support. Peripherals include Gigabit Ethernet, 147168eef7aSKever Yang USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs. 148168eef7aSKever Yang 149ad9ba815SJoseph Chenif ROCKCHIP_RK322X 150ad9ba815SJoseph Chen 151ad9ba815SJoseph Chenconfig ROCKCHIP_RK3128X 152ad9ba815SJoseph Chen bool "Support Rockchip RK3128X " 153ad9ba815SJoseph Chen help 154ad9ba815SJoseph Chen RK3128X can use most code from RK322X, but at some situations we have 155ad9ba815SJoseph Chen to distinguish between RK3128X and RK322X, so this macro gives help. 156ad9ba815SJoseph Chen It is usually selected in RK3128X board defconfig. 157ad9ba815SJoseph Chenendif 158ad9ba815SJoseph Chen 1592444dae5SSimon Glassconfig ROCKCHIP_RK3288 1602444dae5SSimon Glass bool "Support Rockchip RK3288" 161e0f5dbcbSAndreas Färber select CPU_V7 1620680f1b1SLey Foon Tan select SPL_BOARD_INIT if SPL 163a381bcf5SKever Yang select SUPPORT_SPL 164a381bcf5SKever Yang select SPL 16586a31622SJoseph Chen select GICV2 1666ba2d5cbSJoseph Chen select ARM_SMCCC 1672444dae5SSimon Glass help 1682444dae5SSimon Glass The Rockchip RK3288 is a ARM-based SoC with a quad-core Cortex-A17 1692444dae5SSimon Glass including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two 1702444dae5SSimon Glass video interfaces supporting HDMI and eDP, several DDR3 options 1712444dae5SSimon Glass and video codec support. Peripherals include Gigabit Ethernet, 172ef904bf2SAndreas Färber USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs. 1732444dae5SSimon Glass 1743d78ac3eSAndy Yanconfig ROCKCHIP_RK3308 1753d78ac3eSAndy Yan bool "Support Rockchip RK3308" 176b4bed602SAndy Yan select ARM64 if !ARM64_BOOT_AARCH32 1773d78ac3eSAndy Yan select DEBUG_UART_BOARD_INIT 1786ba2d5cbSJoseph Chen select ARM_SMCCC 1793d78ac3eSAndy Yan help 1803d78ac3eSAndy Yan The Rockchip RK3308 is a ARM-based Soc which embeded with quad 1813d78ac3eSAndy Yan Cortex-A35 and highly integrated audio interfaces. 1823d78ac3eSAndy Yan 18385a3cfb8SKever Yangconfig ROCKCHIP_RK3328 18485a3cfb8SKever Yang bool "Support Rockchip RK3328" 18585a3cfb8SKever Yang select ARM64 18655da6f73SJoseph Chen select GICV2 187430b0146SKever Yang select SUPPORT_SPL 188430b0146SKever Yang select SUPPORT_TPL 189430b0146SKever Yang select SPL 190430b0146SKever Yang select TPL 191430b0146SKever Yang select TPL_NEEDS_SEPARATE_TEXT_BASE if TPL 192430b0146SKever Yang select TPL_NEEDS_SEPARATE_STACK if TPL 193430b0146SKever Yang imply SPL_SERIAL_SUPPORT 194430b0146SKever Yang imply TPL_SERIAL_SUPPORT 195430b0146SKever Yang imply SPL_SEPARATE_BSS 196430b0146SKever Yang select DEBUG_UART_BOARD_INIT 1976ba2d5cbSJoseph Chen select ARM_SMCCC 19885a3cfb8SKever Yang help 19985a3cfb8SKever Yang The Rockchip RK3328 is a ARM-based SoC with a quad-core Cortex-A53. 20085a3cfb8SKever Yang including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two 20185a3cfb8SKever Yang video interfaces supporting HDMI and eDP, several DDR3 options 20285a3cfb8SKever Yang and video codec support. Peripherals include Gigabit Ethernet, 20385a3cfb8SKever Yang USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs. 20485a3cfb8SKever Yang 205430b0146SKever Yangif ROCKCHIP_RK3328 206430b0146SKever Yang 207430b0146SKever Yangconfig TPL_LDSCRIPT 208430b0146SKever Yang default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds" 209430b0146SKever Yang 210430b0146SKever Yangconfig TPL_TEXT_BASE 211430b0146SKever Yang default 0xff091000 212430b0146SKever Yang 213430b0146SKever Yangconfig TPL_MAX_SIZE 214430b0146SKever Yang default 28672 215430b0146SKever Yang 216430b0146SKever Yangconfig TPL_STACK 217430b0146SKever Yang default 0xff098000 218430b0146SKever Yang 219430b0146SKever Yangendif 220430b0146SKever Yang 22137a0c600SAndreas Färberconfig ROCKCHIP_RK3368 22237a0c600SAndreas Färber bool "Support Rockchip RK3368" 22337a0c600SAndreas Färber select ARM64 2245071457eSPhilipp Tomsich select SUPPORT_SPL 2255071457eSPhilipp Tomsich select SUPPORT_TPL 2264cf4378eSPhilipp Tomsich select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL 2274cf4378eSPhilipp Tomsich select TPL_NEEDS_SEPARATE_STACK if TPL 2285071457eSPhilipp Tomsich imply SPL_SEPARATE_BSS 2295071457eSPhilipp Tomsich imply SPL_SERIAL_SUPPORT 2305071457eSPhilipp Tomsich imply TPL_SERIAL_SUPPORT 2315071457eSPhilipp Tomsich select DEBUG_UART_BOARD_INIT 232503f955fSJoseph Chen select GICV2 2336ba2d5cbSJoseph Chen select ARM_SMCCC 23437a0c600SAndreas Färber help 2359a8f009fSPhilipp Tomsich The Rockchip RK3368 is a ARM-based SoC with a octa-core (organised 2369a8f009fSPhilipp Tomsich into a big and little cluster with 4 cores each) Cortex-A53 including 2379a8f009fSPhilipp Tomsich AdvSIMD, 512KB L2 cache (for the big cluster) and 256 KB L2 cache 2389a8f009fSPhilipp Tomsich (for the little cluster), PowerVR G6110 based graphics, one video 2399a8f009fSPhilipp Tomsich output processor supporting LVDS/HDMI/eDP, several DDR3 options and 2409a8f009fSPhilipp Tomsich video codec support. 2419a8f009fSPhilipp Tomsich 2429a8f009fSPhilipp Tomsich On-chip peripherals include Gigabit Ethernet, USB2 host and OTG, SDIO, 2439a8f009fSPhilipp Tomsich I2S, UARTs, SPI, I2C and PWMs. 24437a0c600SAndreas Färber 245d9d1242bSPhilipp Tomsichif ROCKCHIP_RK3368 246d9d1242bSPhilipp Tomsich 247d9d1242bSPhilipp Tomsichconfig TPL_LDSCRIPT 248d9d1242bSPhilipp Tomsich default "arch/arm/mach-rockchip/rk3368/u-boot-tpl.lds" 249d9d1242bSPhilipp Tomsich 2505aa49af3SPhilipp Tomsichconfig TPL_TEXT_BASE 2515aa49af3SPhilipp Tomsich default 0xff8c1000 2525aa49af3SPhilipp Tomsich 2535aa49af3SPhilipp Tomsichconfig TPL_MAX_SIZE 2545aa49af3SPhilipp Tomsich default 28672 2555aa49af3SPhilipp Tomsich 2565aa49af3SPhilipp Tomsichconfig TPL_STACK 2575aa49af3SPhilipp Tomsich default 0xff8cffff 2585aa49af3SPhilipp Tomsich 259d9d1242bSPhilipp Tomsichendif 260d9d1242bSPhilipp Tomsich 261a381bcf5SKever Yangconfig ROCKCHIP_RK3399 262a381bcf5SKever Yang bool "Support Rockchip RK3399" 263a381bcf5SKever Yang select ARM64 26466e87cc8SKever Yang select SUPPORT_SPL 26566e87cc8SKever Yang select SPL 26666e87cc8SKever Yang select SPL_SEPARATE_BSS 267c0508e42SPhilipp Tomsich select SPL_SERIAL_SUPPORT 268c0508e42SPhilipp Tomsich select SPL_DRIVERS_MISC_SUPPORT 2697ee16de5SPhilipp Tomsich select DEBUG_UART_BOARD_INIT 2708f557da1SJoseph Chen select GICV3 271be55ced3SAndy Yan select BOARD_LATE_INIT 27247a9f8fcSAndy Yan select ROCKCHIP_BROM_HELPER 2736ba2d5cbSJoseph Chen select ARM_SMCCC 274a381bcf5SKever Yang help 275a381bcf5SKever Yang The Rockchip RK3399 is a ARM-based SoC with a dual-core Cortex-A72 276a381bcf5SKever Yang and quad-core Cortex-A53. 277a381bcf5SKever Yang including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two 278a381bcf5SKever Yang video interfaces supporting HDMI and eDP, several DDR3 options 279a381bcf5SKever Yang and video codec support. Peripherals include Gigabit Ethernet, 280a381bcf5SKever Yang USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs. 281a381bcf5SKever Yang 282*b8fa3d2aSJoseph Chenconfig ROCKCHIP_RK1808 283*b8fa3d2aSJoseph Chen bool "Support Rockchip RK1808" 284*b8fa3d2aSJoseph Chen select ARM64 285*b8fa3d2aSJoseph Chen select ARM_SMCCC 286*b8fa3d2aSJoseph Chen select DEBUG_UART_BOARD_INIT 287*b8fa3d2aSJoseph Chen help 288*b8fa3d2aSJoseph Chen The Rockchip RK1808 is a ARM-based Soc which embedded with dual 289*b8fa3d2aSJoseph Chen Cortex-A35. 290*b8fa3d2aSJoseph Chen 2912c1e11ddSAndy Yanconfig ROCKCHIP_RV1108 2922c1e11ddSAndy Yan bool "Support Rockchip RV1108" 2932c1e11ddSAndy Yan select CPU_V7 29452f7b21dSZhihuan He select SUPPORT_SPL 29552f7b21dSZhihuan He select SPL 296dfe03786SAndy Yan select BOARD_LATE_INIT 2972c1e11ddSAndy Yan help 2982c1e11ddSAndy Yan The Rockchip RV1108 is a ARM-based SoC with a single-core Cortex-A7 2992c1e11ddSAndy Yan and a DSP. 3002c1e11ddSAndy Yan 301ee14d29dSPhilipp Tomsichconfig SPL_ROCKCHIP_BACK_TO_BROM 302b47ea792SXu Ziyuan bool "SPL returns to bootrom" 303b47ea792SXu Ziyuan default y if ROCKCHIP_RK3036 3041d845947SHeiko Stübner select ROCKCHIP_BROM_HELPER 305ee14d29dSPhilipp Tomsich depends on SPL 306ee14d29dSPhilipp Tomsich help 307ee14d29dSPhilipp Tomsich Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled, 308ee14d29dSPhilipp Tomsich SPL will return to the boot rom, which will then load the U-Boot 309ee14d29dSPhilipp Tomsich binary to keep going on. 310ee14d29dSPhilipp Tomsich 311ee14d29dSPhilipp Tomsichconfig TPL_ROCKCHIP_BACK_TO_BROM 312ee14d29dSPhilipp Tomsich bool "TPL returns to bootrom" 313430b0146SKever Yang default y if ROCKCHIP_RK3368 || ROCKCHIP_RK3328 314ee14d29dSPhilipp Tomsich select ROCKCHIP_BROM_HELPER 315ee14d29dSPhilipp Tomsich depends on TPL 316b47ea792SXu Ziyuan help 317b47ea792SXu Ziyuan Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled, 318b47ea792SXu Ziyuan SPL will return to the boot rom, which will then load the U-Boot 319b47ea792SXu Ziyuan binary to keep going on. 320b47ea792SXu Ziyuan 321b4bed602SAndy Yanconfig ARM64_BOOT_AARCH32 322b4bed602SAndy Yan bool "Support Boot an ARM64 on AArch32 execution state" 323b4bed602SAndy Yan select CPU_V7 324b4bed602SAndy Yan default n 325b4bed602SAndy Yan help 326b4bed602SAndy Yan If you want to boot an ARM64 processor on 32-bit mode, say y here. 327b4bed602SAndy Yan 328be55ced3SAndy Yanconfig ROCKCHIP_BOOT_MODE_REG 329be55ced3SAndy Yan hex "Rockchip boot mode flag register address" 33010e73f7bSKever Yang default 0xff010200 if ROCKCHIP_PX30 331be55ced3SAndy Yan default 0x200081c8 if ROCKCHIP_RK3036 332dd9a11eaSAndy Yan default 0x100a0038 if ROCKCHIP_RK3128 333be55ced3SAndy Yan default 0x20004040 if ROCKCHIP_RK3188 334be55ced3SAndy Yan default 0x110005c8 if ROCKCHIP_RK322X 335be55ced3SAndy Yan default 0xff730094 if ROCKCHIP_RK3288 3363d78ac3eSAndy Yan default 0xff000500 if ROCKCHIP_RK3308 3378ec39620SKever Yang default 0xff1005c8 if ROCKCHIP_RK3328 338be55ced3SAndy Yan default 0xff738200 if ROCKCHIP_RK3368 339be55ced3SAndy Yan default 0xff320300 if ROCKCHIP_RK3399 340*b8fa3d2aSJoseph Chen default 0xfe020200 if ROCKCHIP_RK1808 341be55ced3SAndy Yan default 0x10300580 if ROCKCHIP_RV1108 342be55ced3SAndy Yan default 0 343be55ced3SAndy Yan help 344be55ced3SAndy Yan The Soc will enter to different boot mode(defined in asm/arch/boot_mode.h) 345be55ced3SAndy Yan according to the value from this register. 346be55ced3SAndy Yan 347d5ed5c22SKever Yangconfig ROCKCHIP_STIMER_BASE 348d5ed5c22SKever Yang hex "Rockchip Secure timer base address" 349d5ed5c22SKever Yang default 0xff220020 if ROCKCHIP_PX30 350d5ed5c22SKever Yang default 0x200440a0 if ROCKCHIP_RK3036 351d5ed5c22SKever Yang default 0x2000e000 if ROCKCHIP_RK3066 352d5ed5c22SKever Yang default 0x20018020 if ROCKCHIP_RK3126 353d5ed5c22SKever Yang default 0x200440a0 if ROCKCHIP_RK3128 354d5ed5c22SKever Yang default 0x2000e000 if ROCKCHIP_RK3188 355d5ed5c22SKever Yang default 0x110d0020 if ROCKCHIP_RK322X 356d5ed5c22SKever Yang default 0xff810020 if ROCKCHIP_RK3288 357d5ed5c22SKever Yang default 0xff1d0020 if ROCKCHIP_RK3328 358d5ed5c22SKever Yang default 0xff830020 if ROCKCHIP_RK3368 359d5ed5c22SKever Yang default 0xff8680a0 if ROCKCHIP_RK3399 360d5ed5c22SKever Yang default 0x10350020 if ROCKCHIP_RV1108 361d5ed5c22SKever Yang default 0 362d5ed5c22SKever Yang help 363d5ed5c22SKever Yang The secure timer inited in SPL/TPL in secure word, ARM generic timer 364d5ed5c22SKever Yang works after this timer work. 365d5ed5c22SKever Yang 366e8078e90SKever Yangconfig ROCKCHIP_IRAM_START_ADDR 367e8078e90SKever Yang hex "Rockchip Secure timer base address" 368e8078e90SKever Yang default 0xff0e0000 if ROCKCHIP_PX30 369e8078e90SKever Yang default 0x10080000 if ROCKCHIP_RK3036 370e8078e90SKever Yang default 0x10080000 if ROCKCHIP_RK3128 371e8078e90SKever Yang default 0x10080000 if ROCKCHIP_RK3188 372e8078e90SKever Yang default 0x10080000 if ROCKCHIP_RK322X 373e8078e90SKever Yang default 0xff700000 if ROCKCHIP_RK3288 374ade6d65fSZhihuan He default 0xfff80000 if ROCKCHIP_RK3308 375e8078e90SKever Yang default 0xff091000 if ROCKCHIP_RK3328 376e8078e90SKever Yang default 0xff8c0000 if ROCKCHIP_RK3368 377e8078e90SKever Yang default 0xff8c0000 if ROCKCHIP_RK3399 378e8078e90SKever Yang default 0x10080000 if ROCKCHIP_RV1108 379e8078e90SKever Yang default 0 380e8078e90SKever Yang help 381e8078e90SKever Yang The IRAM start addr is to locate variant of the boot device from 382e8078e90SKever Yang bootrom. 383e8078e90SKever Yang 384fa1392a2SKever Yangconfig ROCKCHIP_SPL_RESERVE_IRAM 385fa1392a2SKever Yang hex "Size of IRAM reserved in SPL" 386b2870221SKever Yang default 0 387fa1392a2SKever Yang help 388fa1392a2SKever Yang SPL may need reserve memory for firmware loaded by SPL, whose load 389fa1392a2SKever Yang address is in IRAM and may overlay with SPL text area if not 390fa1392a2SKever Yang reserved. 391fa1392a2SKever Yang 3921d845947SHeiko Stübnerconfig ROCKCHIP_BROM_HELPER 3931d845947SHeiko Stübner bool 3941d845947SHeiko Stübner 395dff737c4SPhilipp Tomsichconfig SPL_ROCKCHIP_EARLYRETURN_TO_BROM 396dff737c4SPhilipp Tomsich bool "SPL requires early-return (for RK3188-style BROM) to BROM" 397dff737c4SPhilipp Tomsich depends on SPL && ENABLE_ARM_SOC_BOOT0_HOOK 398dff737c4SPhilipp Tomsich help 399dff737c4SPhilipp Tomsich Some Rockchip BROM variants (e.g. on the RK3188) load the 400dff737c4SPhilipp Tomsich first stage in segments and enter multiple times. E.g. on 401dff737c4SPhilipp Tomsich the RK3188, the first 1KB of the first stage are loaded 402dff737c4SPhilipp Tomsich first and entered; after returning to the BROM, the 403dff737c4SPhilipp Tomsich remainder of the first stage is loaded, but the BROM 404dff737c4SPhilipp Tomsich re-enters at the same address/to the same code as previously. 405dff737c4SPhilipp Tomsich 406dff737c4SPhilipp Tomsich This enables support code in the BOOT0 hook for the SPL stage 407dff737c4SPhilipp Tomsich to allow multiple entries. 408dff737c4SPhilipp Tomsich 409dff737c4SPhilipp Tomsichconfig TPL_ROCKCHIP_EARLYRETURN_TO_BROM 410dff737c4SPhilipp Tomsich bool "TPL requires early-return (for RK3188-style BROM) to BROM" 411dff737c4SPhilipp Tomsich depends on TPL && ENABLE_ARM_SOC_BOOT0_HOOK 412dff737c4SPhilipp Tomsich help 413dff737c4SPhilipp Tomsich Some Rockchip BROM variants (e.g. on the RK3188) load the 414dff737c4SPhilipp Tomsich first stage in segments and enter multiple times. E.g. on 415dff737c4SPhilipp Tomsich the RK3188, the first 1KB of the first stage are loaded 416dff737c4SPhilipp Tomsich first and entered; after returning to the BROM, the 417dff737c4SPhilipp Tomsich remainder of the first stage is loaded, but the BROM 418dff737c4SPhilipp Tomsich re-enters at the same address/to the same code as previously. 419dff737c4SPhilipp Tomsich 420dff737c4SPhilipp Tomsich This enables support code in the BOOT0 hook for the TPL stage 421dff737c4SPhilipp Tomsich to allow multiple entries. 422dff737c4SPhilipp Tomsich 423230e0e09SSandy Pattersonconfig SPL_MMC_SUPPORT 424ee14d29dSPhilipp Tomsich default y if !SPL_ROCKCHIP_BACK_TO_BROM 425230e0e09SSandy Patterson 42606621a79SKever Yangconfig RKIMG_BOOTLOADER 42706621a79SKever Yang bool "Support for Rockchip Image Bootloader boot flow" 42806621a79SKever Yang default n 42906621a79SKever Yang help 43006621a79SKever Yang Rockchip use this to boot Android during development cycle and for 43106621a79SKever Yang other OS, typical content kernel.img with zImage/Image, boot.img and 43206621a79SKever Yang recovery.img with Ramdisk, packed with 'KNRL' header; and resource.img 43306621a79SKever Yang with dtb and uboot/kernel logo bmp, vendor storage for custom info 43406621a79SKever Yang like SN and MAC address. 43506621a79SKever Yang 43608dcd37cSAndy Yanconfig ROCKCHIP_RESOURCE_IMAGE 43708dcd37cSAndy Yan bool "Enable support for rockchip resource image" 438a12bbc34SJason Zhu depends on RKIMG_BOOTLOADER 439aae0febbSJoseph Chen default y 44008dcd37cSAndy Yan help 44108dcd37cSAndy Yan This enables support to get dtb or logo files from 44208dcd37cSAndy Yan rockchip resource image format partition. 44308dcd37cSAndy Yan 44491441457Sfrancis.fanconfig ROCKCHIP_VENDOR_PARTITION 4455bd6dc27SKever Yang bool "Rockchip vendor storage partition support" 4465bd6dc27SKever Yang depends on RKIMG_BOOTLOADER 44791441457Sfrancis.fan help 44891441457Sfrancis.fan This enable support to read/write vendor configuration data from/to 4495bd6dc27SKever Yang this partition. 45091441457Sfrancis.fan 451f8aaa2c2SKever Yangconfig USING_KERNEL_DTB 452f8aaa2c2SKever Yang bool "Using dtb from Kernel/resource for U-Boot" 453f8aaa2c2SKever Yang depends on RKIMG_BOOTLOADER && OF_LIVE 454f8aaa2c2SKever Yang default y 455f8aaa2c2SKever Yang help 456f8aaa2c2SKever Yang This enable support to read dtb from resource and use it for U-Boot, 457f8aaa2c2SKever Yang the uart and emmc will still using U-Boot dtb, but other devices like 458f8aaa2c2SKever Yang regulator/pmic, display, usb will use dts node from kernel. 459f8aaa2c2SKever Yang 460882c7251SJoseph Chenconfig ROCKCHIP_CRC 461882c7251SJoseph Chen bool "Rockchip CRC verify images" 462882c7251SJoseph Chen help 463882c7251SJoseph Chen This enable support Rockchip CRC verify images. It takes a lot of time, 464882c7251SJoseph Chen so it is better only used for debug. 465882c7251SJoseph Chen 466f270a3f8SJoseph Chenconfig ROCKCHIP_SMCCC 467f270a3f8SJoseph Chen bool "Rockchip SMCCC" 468f270a3f8SJoseph Chen default y if ARM_SMCCC 469f270a3f8SJoseph Chen help 470f270a3f8SJoseph Chen This enable support for Rockchip SMC calls 471f270a3f8SJoseph Chen 472c563adc7SJoseph Chenconfig ROCKCHIP_DEBUGGER 473c563adc7SJoseph Chen bool "Rockchip debugger" 474c563adc7SJoseph Chen depends on IRQ 475c563adc7SJoseph Chen help 476c563adc7SJoseph Chen This enable support for Rockchip debugger. Now we install a timer interrupt 477c563adc7SJoseph Chen and dump pt_regs when the timeout event trigger. This helps us to know cpu 478c563adc7SJoseph Chen state when system hang. 479c563adc7SJoseph Chen 48024cd8f36SJoseph Chenconfig ROCKCHIP_CRASH_DUMP 48124cd8f36SJoseph Chen bool "Rockchip crash dump registers" 48224cd8f36SJoseph Chen help 48324cd8f36SJoseph Chen This enable dump registers when system crash, the registers you would like 48424cd8f36SJoseph Chen to dump can be added in show_regs(). 48524cd8f36SJoseph Chen 486a93252dfSJoseph Chenconfig GICV2 487a93252dfSJoseph Chen bool "ARM GICv2" 488a93252dfSJoseph Chen 489a93252dfSJoseph Chenconfig GICV3 490a93252dfSJoseph Chen bool "ARM GICv3" 491a93252dfSJoseph Chen 492448a4b38SKever Yangsource "arch/arm/mach-rockchip/px30/Kconfig" 493be1d5e03Shuang linsource "arch/arm/mach-rockchip/rk3036/Kconfig" 494578306eaSPaweł Jaroszsource "arch/arm/mach-rockchip/rk3066/Kconfig" 4956a13bde3SKever Yangsource "arch/arm/mach-rockchip/rk3128/Kconfig" 4960a2be69fSHeiko Stübnersource "arch/arm/mach-rockchip/rk3188/Kconfig" 497b24a8ec1SKever Yangsource "arch/arm/mach-rockchip/rk322x/Kconfig" 498041cdb5fSHeiko Stübnersource "arch/arm/mach-rockchip/rk3288/Kconfig" 499c1e43163SAndy Yansource "arch/arm/mach-rockchip/rk3308/Kconfig" 50085a3cfb8SKever Yangsource "arch/arm/mach-rockchip/rk3328/Kconfig" 50137a0c600SAndreas Färbersource "arch/arm/mach-rockchip/rk3368/Kconfig" 502a381bcf5SKever Yangsource "arch/arm/mach-rockchip/rk3399/Kconfig" 5032c1e11ddSAndy Yansource "arch/arm/mach-rockchip/rv1108/Kconfig" 5042444dae5SSimon Glassendif 505