12444dae5SSimon Glassif ARCH_ROCKCHIP 22444dae5SSimon Glass 3041cdb5fSHeiko Stübnerconfig ROCKCHIP_RK3036 4041cdb5fSHeiko Stübner bool "Support Rockchip RK3036" 5041cdb5fSHeiko Stübner select CPU_V7 6a381bcf5SKever Yang select SUPPORT_SPL 7a381bcf5SKever Yang select SPL 8041cdb5fSHeiko Stübner help 9041cdb5fSHeiko Stübner The Rockchip RK3036 is a ARM-based SoC with a dual-core Cortex-A7 10041cdb5fSHeiko Stübner including NEON and GPU, Mali-400 graphics, several DDR3 options 11041cdb5fSHeiko Stübner and video codec support. Peripherals include Gigabit Ethernet, 12041cdb5fSHeiko Stübner USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs. 13041cdb5fSHeiko Stübner 14daeed1dbSKever Yangconfig ROCKCHIP_RK3128 15daeed1dbSKever Yang bool "Support Rockchip RK3128" 16daeed1dbSKever Yang select CPU_V7 17daeed1dbSKever Yang help 18daeed1dbSKever Yang The Rockchip RK3128 is a ARM-based SoC with a quad-core Cortex-A7 19daeed1dbSKever Yang including NEON and GPU, Mali-400 graphics, several DDR3 options 20daeed1dbSKever Yang and video codec support. Peripherals include Gigabit Ethernet, 21daeed1dbSKever Yang USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs. 22daeed1dbSKever Yang 230a2be69fSHeiko Stübnerconfig ROCKCHIP_RK3188 240a2be69fSHeiko Stübner bool "Support Rockchip RK3188" 250a2be69fSHeiko Stübner select CPU_V7 260680f1b1SLey Foon Tan select SPL_BOARD_INIT if SPL 270a2be69fSHeiko Stübner select SUPPORT_SPL 280a2be69fSHeiko Stübner select SPL 294bbb05bcSPhilipp Tomsich select SPL_CLK 304bbb05bcSPhilipp Tomsich select SPL_PINCTRL 314bbb05bcSPhilipp Tomsich select SPL_REGMAP 324bbb05bcSPhilipp Tomsich select SPL_SYSCON 334bbb05bcSPhilipp Tomsich select SPL_RAM 344bbb05bcSPhilipp Tomsich select SPL_DRIVERS_MISC_SUPPORT 354d9253fbSPhilipp Tomsich select SPL_ROCKCHIP_EARLYRETURN_TO_BROM 36008a610bSHeiko Stübner select BOARD_LATE_INIT 370a2be69fSHeiko Stübner select ROCKCHIP_BROM_HELPER 380a2be69fSHeiko Stübner help 390a2be69fSHeiko Stübner The Rockchip RK3188 is a ARM-based SoC with a quad-core Cortex-A9 400a2be69fSHeiko Stübner including NEON and GPU, 512KB L2 cache, Mali-400 graphics, two 410a2be69fSHeiko Stübner video interfaces, several memory options and video codec support. 420a2be69fSHeiko Stübner Peripherals include Fast Ethernet, USB2 host and OTG, SDIO, I2S, 430a2be69fSHeiko Stübner UART, SPI, I2C and PWMs. 440a2be69fSHeiko Stübner 45168eef7aSKever Yangconfig ROCKCHIP_RK322X 46168eef7aSKever Yang bool "Support Rockchip RK3228/RK3229" 47168eef7aSKever Yang select CPU_V7 48168eef7aSKever Yang select SUPPORT_SPL 49168eef7aSKever Yang select SPL 50168eef7aSKever Yang select ROCKCHIP_BROM_HELPER 51168eef7aSKever Yang select DEBUG_UART_BOARD_INIT 52168eef7aSKever Yang help 53168eef7aSKever Yang The Rockchip RK3229 is a ARM-based SoC with a dual-core Cortex-A7 54168eef7aSKever Yang including NEON and GPU, Mali-400 graphics, several DDR3 options 55168eef7aSKever Yang and video codec support. Peripherals include Gigabit Ethernet, 56168eef7aSKever Yang USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs. 57168eef7aSKever Yang 582444dae5SSimon Glassconfig ROCKCHIP_RK3288 592444dae5SSimon Glass bool "Support Rockchip RK3288" 60e0f5dbcbSAndreas Färber select CPU_V7 610680f1b1SLey Foon Tan select SPL_BOARD_INIT if SPL 62a381bcf5SKever Yang select SUPPORT_SPL 63a381bcf5SKever Yang select SPL 642444dae5SSimon Glass help 652444dae5SSimon Glass The Rockchip RK3288 is a ARM-based SoC with a quad-core Cortex-A17 662444dae5SSimon Glass including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two 672444dae5SSimon Glass video interfaces supporting HDMI and eDP, several DDR3 options 682444dae5SSimon Glass and video codec support. Peripherals include Gigabit Ethernet, 69ef904bf2SAndreas Färber USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs. 702444dae5SSimon Glass 7185a3cfb8SKever Yangconfig ROCKCHIP_RK3328 7285a3cfb8SKever Yang bool "Support Rockchip RK3328" 7385a3cfb8SKever Yang select ARM64 7485a3cfb8SKever Yang help 7585a3cfb8SKever Yang The Rockchip RK3328 is a ARM-based SoC with a quad-core Cortex-A53. 7685a3cfb8SKever Yang including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two 7785a3cfb8SKever Yang video interfaces supporting HDMI and eDP, several DDR3 options 7885a3cfb8SKever Yang and video codec support. Peripherals include Gigabit Ethernet, 7985a3cfb8SKever Yang USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs. 8085a3cfb8SKever Yang 8137a0c600SAndreas Färberconfig ROCKCHIP_RK3368 8237a0c600SAndreas Färber bool "Support Rockchip RK3368" 8337a0c600SAndreas Färber select ARM64 845071457eSPhilipp Tomsich select SUPPORT_SPL 855071457eSPhilipp Tomsich select SUPPORT_TPL 864cf4378eSPhilipp Tomsich select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL 874cf4378eSPhilipp Tomsich select TPL_NEEDS_SEPARATE_STACK if TPL 885071457eSPhilipp Tomsich imply SPL_SEPARATE_BSS 895071457eSPhilipp Tomsich imply SPL_SERIAL_SUPPORT 905071457eSPhilipp Tomsich imply TPL_SERIAL_SUPPORT 915071457eSPhilipp Tomsich select DEBUG_UART_BOARD_INIT 9237a0c600SAndreas Färber select SYS_NS16550 9337a0c600SAndreas Färber help 949a8f009fSPhilipp Tomsich The Rockchip RK3368 is a ARM-based SoC with a octa-core (organised 959a8f009fSPhilipp Tomsich into a big and little cluster with 4 cores each) Cortex-A53 including 969a8f009fSPhilipp Tomsich AdvSIMD, 512KB L2 cache (for the big cluster) and 256 KB L2 cache 979a8f009fSPhilipp Tomsich (for the little cluster), PowerVR G6110 based graphics, one video 989a8f009fSPhilipp Tomsich output processor supporting LVDS/HDMI/eDP, several DDR3 options and 999a8f009fSPhilipp Tomsich video codec support. 1009a8f009fSPhilipp Tomsich 1019a8f009fSPhilipp Tomsich On-chip peripherals include Gigabit Ethernet, USB2 host and OTG, SDIO, 1029a8f009fSPhilipp Tomsich I2S, UARTs, SPI, I2C and PWMs. 10337a0c600SAndreas Färber 104d9d1242bSPhilipp Tomsichif ROCKCHIP_RK3368 105d9d1242bSPhilipp Tomsich 106d9d1242bSPhilipp Tomsichconfig TPL_LDSCRIPT 107d9d1242bSPhilipp Tomsich default "arch/arm/mach-rockchip/rk3368/u-boot-tpl.lds" 108d9d1242bSPhilipp Tomsich 1095aa49af3SPhilipp Tomsichconfig TPL_TEXT_BASE 1105aa49af3SPhilipp Tomsich default 0xff8c1000 1115aa49af3SPhilipp Tomsich 1125aa49af3SPhilipp Tomsichconfig TPL_MAX_SIZE 1135aa49af3SPhilipp Tomsich default 28672 1145aa49af3SPhilipp Tomsich 1155aa49af3SPhilipp Tomsichconfig TPL_STACK 1165aa49af3SPhilipp Tomsich default 0xff8cffff 1175aa49af3SPhilipp Tomsich 118d9d1242bSPhilipp Tomsichendif 119d9d1242bSPhilipp Tomsich 120a381bcf5SKever Yangconfig ROCKCHIP_RK3399 121a381bcf5SKever Yang bool "Support Rockchip RK3399" 122a381bcf5SKever Yang select ARM64 12366e87cc8SKever Yang select SUPPORT_SPL 12466e87cc8SKever Yang select SPL 12566e87cc8SKever Yang select SPL_SEPARATE_BSS 126c0508e42SPhilipp Tomsich select SPL_SERIAL_SUPPORT 127c0508e42SPhilipp Tomsich select SPL_DRIVERS_MISC_SUPPORT 1287ee16de5SPhilipp Tomsich select DEBUG_UART_BOARD_INIT 129e3067793SAndy Yan select BOARD_LATE_INIT 130b4d23f76SAndy Yan select ROCKCHIP_BROM_HELPER 131a381bcf5SKever Yang help 132a381bcf5SKever Yang The Rockchip RK3399 is a ARM-based SoC with a dual-core Cortex-A72 133a381bcf5SKever Yang and quad-core Cortex-A53. 134a381bcf5SKever Yang including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two 135a381bcf5SKever Yang video interfaces supporting HDMI and eDP, several DDR3 options 136a381bcf5SKever Yang and video codec support. Peripherals include Gigabit Ethernet, 137a381bcf5SKever Yang USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs. 138a381bcf5SKever Yang 1392c1e11ddSAndy Yanconfig ROCKCHIP_RV1108 1402c1e11ddSAndy Yan bool "Support Rockchip RV1108" 1412c1e11ddSAndy Yan select CPU_V7 1422c1e11ddSAndy Yan help 1432c1e11ddSAndy Yan The Rockchip RV1108 is a ARM-based SoC with a single-core Cortex-A7 1442c1e11ddSAndy Yan and a DSP. 1452c1e11ddSAndy Yan 146ee14d29dSPhilipp Tomsichconfig SPL_ROCKCHIP_BACK_TO_BROM 147b47ea792SXu Ziyuan bool "SPL returns to bootrom" 148b47ea792SXu Ziyuan default y if ROCKCHIP_RK3036 1491d845947SHeiko Stübner select ROCKCHIP_BROM_HELPER 150ee14d29dSPhilipp Tomsich depends on SPL 151ee14d29dSPhilipp Tomsich help 152ee14d29dSPhilipp Tomsich Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled, 153ee14d29dSPhilipp Tomsich SPL will return to the boot rom, which will then load the U-Boot 154ee14d29dSPhilipp Tomsich binary to keep going on. 155ee14d29dSPhilipp Tomsich 156ee14d29dSPhilipp Tomsichconfig TPL_ROCKCHIP_BACK_TO_BROM 157ee14d29dSPhilipp Tomsich bool "TPL returns to bootrom" 158ee14d29dSPhilipp Tomsich default y if ROCKCHIP_RK3368 159ee14d29dSPhilipp Tomsich select ROCKCHIP_BROM_HELPER 160ee14d29dSPhilipp Tomsich depends on TPL 161b47ea792SXu Ziyuan help 162b47ea792SXu Ziyuan Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled, 163b47ea792SXu Ziyuan SPL will return to the boot rom, which will then load the U-Boot 164b47ea792SXu Ziyuan binary to keep going on. 165b47ea792SXu Ziyuan 166e3067793SAndy Yanconfig ROCKCHIP_BOOT_MODE_REG 167e3067793SAndy Yan hex "Rockchip boot mode flag register address" 168e3067793SAndy Yan default 0x200081c8 if ROCKCHIP_RK3036 169e3067793SAndy Yan default 0x20004040 if ROCKCHIP_RK3188 170e3067793SAndy Yan default 0x110005c8 if ROCKCHIP_RK322X 171e3067793SAndy Yan default 0xff730094 if ROCKCHIP_RK3288 172e3067793SAndy Yan default 0xff738200 if ROCKCHIP_RK3368 173e3067793SAndy Yan default 0xff320300 if ROCKCHIP_RK3399 174e3067793SAndy Yan default 0x10300580 if ROCKCHIP_RV1108 175e3067793SAndy Yan default 0 176e3067793SAndy Yan help 177e3067793SAndy Yan The Soc will enter to different boot mode(defined in asm/arch/boot_mode.h) 178e3067793SAndy Yan according to the value from this register. 179e3067793SAndy Yan 180fa1392a2SKever Yangconfig ROCKCHIP_SPL_RESERVE_IRAM 181fa1392a2SKever Yang hex "Size of IRAM reserved in SPL" 182*8a8106f0SKever Yang default 0 183fa1392a2SKever Yang help 184fa1392a2SKever Yang SPL may need reserve memory for firmware loaded by SPL, whose load 185fa1392a2SKever Yang address is in IRAM and may overlay with SPL text area if not 186fa1392a2SKever Yang reserved. 187fa1392a2SKever Yang 1881d845947SHeiko Stübnerconfig ROCKCHIP_BROM_HELPER 1891d845947SHeiko Stübner bool 1901d845947SHeiko Stübner 191b377d222SPhilipp Tomsichconfig SPL_ROCKCHIP_EARLYRETURN_TO_BROM 192b377d222SPhilipp Tomsich bool "SPL requires early-return (for RK3188-style BROM) to BROM" 193b377d222SPhilipp Tomsich depends on SPL && ENABLE_ARM_SOC_BOOT0_HOOK 194b377d222SPhilipp Tomsich help 195b377d222SPhilipp Tomsich Some Rockchip BROM variants (e.g. on the RK3188) load the 196b377d222SPhilipp Tomsich first stage in segments and enter multiple times. E.g. on 197b377d222SPhilipp Tomsich the RK3188, the first 1KB of the first stage are loaded 198b377d222SPhilipp Tomsich first and entered; after returning to the BROM, the 199b377d222SPhilipp Tomsich remainder of the first stage is loaded, but the BROM 200b377d222SPhilipp Tomsich re-enters at the same address/to the same code as previously. 201b377d222SPhilipp Tomsich 202b377d222SPhilipp Tomsich This enables support code in the BOOT0 hook for the SPL stage 203b377d222SPhilipp Tomsich to allow multiple entries. 204b377d222SPhilipp Tomsich 205b377d222SPhilipp Tomsichconfig TPL_ROCKCHIP_EARLYRETURN_TO_BROM 206b377d222SPhilipp Tomsich bool "TPL requires early-return (for RK3188-style BROM) to BROM" 207b377d222SPhilipp Tomsich depends on TPL && ENABLE_ARM_SOC_BOOT0_HOOK 208b377d222SPhilipp Tomsich help 209b377d222SPhilipp Tomsich Some Rockchip BROM variants (e.g. on the RK3188) load the 210b377d222SPhilipp Tomsich first stage in segments and enter multiple times. E.g. on 211b377d222SPhilipp Tomsich the RK3188, the first 1KB of the first stage are loaded 212b377d222SPhilipp Tomsich first and entered; after returning to the BROM, the 213b377d222SPhilipp Tomsich remainder of the first stage is loaded, but the BROM 214b377d222SPhilipp Tomsich re-enters at the same address/to the same code as previously. 215b377d222SPhilipp Tomsich 216b377d222SPhilipp Tomsich This enables support code in the BOOT0 hook for the TPL stage 217b377d222SPhilipp Tomsich to allow multiple entries. 218b377d222SPhilipp Tomsich 219230e0e09SSandy Pattersonconfig SPL_MMC_SUPPORT 220ee14d29dSPhilipp Tomsich default y if !SPL_ROCKCHIP_BACK_TO_BROM 221230e0e09SSandy Patterson 222be1d5e03Shuang linsource "arch/arm/mach-rockchip/rk3036/Kconfig" 223daeed1dbSKever Yangsource "arch/arm/mach-rockchip/rk3128/Kconfig" 2240a2be69fSHeiko Stübnersource "arch/arm/mach-rockchip/rk3188/Kconfig" 225b24a8ec1SKever Yangsource "arch/arm/mach-rockchip/rk322x/Kconfig" 226041cdb5fSHeiko Stübnersource "arch/arm/mach-rockchip/rk3288/Kconfig" 22785a3cfb8SKever Yangsource "arch/arm/mach-rockchip/rk3328/Kconfig" 22837a0c600SAndreas Färbersource "arch/arm/mach-rockchip/rk3368/Kconfig" 229a381bcf5SKever Yangsource "arch/arm/mach-rockchip/rk3399/Kconfig" 2302c1e11ddSAndy Yansource "arch/arm/mach-rockchip/rv1108/Kconfig" 2312444dae5SSimon Glassendif 232