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 140a2be69fSHeiko Stübnerconfig ROCKCHIP_RK3188 150a2be69fSHeiko Stübner bool "Support Rockchip RK3188" 160a2be69fSHeiko Stübner select CPU_V7 170680f1b1SLey Foon Tan select SPL_BOARD_INIT if SPL 180a2be69fSHeiko Stübner select SUPPORT_SPL 190a2be69fSHeiko Stübner select SPL 204bbb05bcSPhilipp Tomsich select SPL_CLK 214bbb05bcSPhilipp Tomsich select SPL_PINCTRL 224bbb05bcSPhilipp Tomsich select SPL_REGMAP 234bbb05bcSPhilipp Tomsich select SPL_SYSCON 244bbb05bcSPhilipp Tomsich select SPL_RAM 254bbb05bcSPhilipp Tomsich select SPL_DRIVERS_MISC_SUPPORT 264d9253fbSPhilipp Tomsich select SPL_ROCKCHIP_EARLYRETURN_TO_BROM 27008a610bSHeiko Stübner select BOARD_LATE_INIT 280a2be69fSHeiko Stübner select ROCKCHIP_BROM_HELPER 290a2be69fSHeiko Stübner help 300a2be69fSHeiko Stübner The Rockchip RK3188 is a ARM-based SoC with a quad-core Cortex-A9 310a2be69fSHeiko Stübner including NEON and GPU, 512KB L2 cache, Mali-400 graphics, two 320a2be69fSHeiko Stübner video interfaces, several memory options and video codec support. 330a2be69fSHeiko Stübner Peripherals include Fast Ethernet, USB2 host and OTG, SDIO, I2S, 340a2be69fSHeiko Stübner UART, SPI, I2C and PWMs. 350a2be69fSHeiko Stübner 36168eef7aSKever Yangconfig ROCKCHIP_RK322X 37168eef7aSKever Yang bool "Support Rockchip RK3228/RK3229" 38168eef7aSKever Yang select CPU_V7 39168eef7aSKever Yang select SUPPORT_SPL 40168eef7aSKever Yang select SPL 41168eef7aSKever Yang select ROCKCHIP_BROM_HELPER 42168eef7aSKever Yang select DEBUG_UART_BOARD_INIT 43168eef7aSKever Yang help 44168eef7aSKever Yang The Rockchip RK3229 is a ARM-based SoC with a dual-core Cortex-A7 45168eef7aSKever Yang including NEON and GPU, Mali-400 graphics, several DDR3 options 46168eef7aSKever Yang and video codec support. Peripherals include Gigabit Ethernet, 47168eef7aSKever Yang USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs. 48168eef7aSKever Yang 492444dae5SSimon Glassconfig ROCKCHIP_RK3288 502444dae5SSimon Glass bool "Support Rockchip RK3288" 51e0f5dbcbSAndreas Färber select CPU_V7 520680f1b1SLey Foon Tan select SPL_BOARD_INIT if SPL 53a381bcf5SKever Yang select SUPPORT_SPL 54a381bcf5SKever Yang select SPL 552444dae5SSimon Glass help 562444dae5SSimon Glass The Rockchip RK3288 is a ARM-based SoC with a quad-core Cortex-A17 572444dae5SSimon Glass including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two 582444dae5SSimon Glass video interfaces supporting HDMI and eDP, several DDR3 options 592444dae5SSimon Glass and video codec support. Peripherals include Gigabit Ethernet, 60ef904bf2SAndreas Färber USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs. 612444dae5SSimon Glass 6285a3cfb8SKever Yangconfig ROCKCHIP_RK3328 6385a3cfb8SKever Yang bool "Support Rockchip RK3328" 6485a3cfb8SKever Yang select ARM64 6585a3cfb8SKever Yang help 6685a3cfb8SKever Yang The Rockchip RK3328 is a ARM-based SoC with a quad-core Cortex-A53. 6785a3cfb8SKever Yang including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two 6885a3cfb8SKever Yang video interfaces supporting HDMI and eDP, several DDR3 options 6985a3cfb8SKever Yang and video codec support. Peripherals include Gigabit Ethernet, 7085a3cfb8SKever Yang USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs. 7185a3cfb8SKever Yang 7237a0c600SAndreas Färberconfig ROCKCHIP_RK3368 7337a0c600SAndreas Färber bool "Support Rockchip RK3368" 7437a0c600SAndreas Färber select ARM64 755071457eSPhilipp Tomsich select SUPPORT_SPL 765071457eSPhilipp Tomsich select SUPPORT_TPL 774cf4378eSPhilipp Tomsich select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL 784cf4378eSPhilipp Tomsich select TPL_NEEDS_SEPARATE_STACK if TPL 795071457eSPhilipp Tomsich imply SPL_SEPARATE_BSS 805071457eSPhilipp Tomsich imply SPL_SERIAL_SUPPORT 815071457eSPhilipp Tomsich imply TPL_SERIAL_SUPPORT 825071457eSPhilipp Tomsich select DEBUG_UART_BOARD_INIT 8337a0c600SAndreas Färber select SYS_NS16550 8437a0c600SAndreas Färber help 859a8f009fSPhilipp Tomsich The Rockchip RK3368 is a ARM-based SoC with a octa-core (organised 869a8f009fSPhilipp Tomsich into a big and little cluster with 4 cores each) Cortex-A53 including 879a8f009fSPhilipp Tomsich AdvSIMD, 512KB L2 cache (for the big cluster) and 256 KB L2 cache 889a8f009fSPhilipp Tomsich (for the little cluster), PowerVR G6110 based graphics, one video 899a8f009fSPhilipp Tomsich output processor supporting LVDS/HDMI/eDP, several DDR3 options and 909a8f009fSPhilipp Tomsich video codec support. 919a8f009fSPhilipp Tomsich 929a8f009fSPhilipp Tomsich On-chip peripherals include Gigabit Ethernet, USB2 host and OTG, SDIO, 939a8f009fSPhilipp Tomsich I2S, UARTs, SPI, I2C and PWMs. 9437a0c600SAndreas Färber 95d9d1242bSPhilipp Tomsichif ROCKCHIP_RK3368 96d9d1242bSPhilipp Tomsich 97d9d1242bSPhilipp Tomsichconfig TPL_LDSCRIPT 98d9d1242bSPhilipp Tomsich default "arch/arm/mach-rockchip/rk3368/u-boot-tpl.lds" 99d9d1242bSPhilipp Tomsich 1005aa49af3SPhilipp Tomsichconfig TPL_TEXT_BASE 1015aa49af3SPhilipp Tomsich default 0xff8c1000 1025aa49af3SPhilipp Tomsich 1035aa49af3SPhilipp Tomsichconfig TPL_MAX_SIZE 1045aa49af3SPhilipp Tomsich default 28672 1055aa49af3SPhilipp Tomsich 1065aa49af3SPhilipp Tomsichconfig TPL_STACK 1075aa49af3SPhilipp Tomsich default 0xff8cffff 1085aa49af3SPhilipp Tomsich 109d9d1242bSPhilipp Tomsichendif 110d9d1242bSPhilipp Tomsich 111a381bcf5SKever Yangconfig ROCKCHIP_RK3399 112a381bcf5SKever Yang bool "Support Rockchip RK3399" 113a381bcf5SKever Yang select ARM64 11466e87cc8SKever Yang select SUPPORT_SPL 11566e87cc8SKever Yang select SPL 11666e87cc8SKever Yang select SPL_SEPARATE_BSS 117c0508e42SPhilipp Tomsich select SPL_SERIAL_SUPPORT 118c0508e42SPhilipp Tomsich select SPL_DRIVERS_MISC_SUPPORT 1197ee16de5SPhilipp Tomsich select DEBUG_UART_BOARD_INIT 120e3067793SAndy Yan select BOARD_LATE_INIT 121*b4d23f76SAndy Yan select ROCKCHIP_BROM_HELPER 122a381bcf5SKever Yang help 123a381bcf5SKever Yang The Rockchip RK3399 is a ARM-based SoC with a dual-core Cortex-A72 124a381bcf5SKever Yang and quad-core Cortex-A53. 125a381bcf5SKever Yang including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two 126a381bcf5SKever Yang video interfaces supporting HDMI and eDP, several DDR3 options 127a381bcf5SKever Yang and video codec support. Peripherals include Gigabit Ethernet, 128a381bcf5SKever Yang USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs. 129a381bcf5SKever Yang 1302c1e11ddSAndy Yanconfig ROCKCHIP_RV1108 1312c1e11ddSAndy Yan bool "Support Rockchip RV1108" 1322c1e11ddSAndy Yan select CPU_V7 1332c1e11ddSAndy Yan help 1342c1e11ddSAndy Yan The Rockchip RV1108 is a ARM-based SoC with a single-core Cortex-A7 1352c1e11ddSAndy Yan and a DSP. 1362c1e11ddSAndy Yan 137ee14d29dSPhilipp Tomsichconfig SPL_ROCKCHIP_BACK_TO_BROM 138b47ea792SXu Ziyuan bool "SPL returns to bootrom" 139b47ea792SXu Ziyuan default y if ROCKCHIP_RK3036 1401d845947SHeiko Stübner select ROCKCHIP_BROM_HELPER 141ee14d29dSPhilipp Tomsich depends on SPL 142ee14d29dSPhilipp Tomsich help 143ee14d29dSPhilipp Tomsich Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled, 144ee14d29dSPhilipp Tomsich SPL will return to the boot rom, which will then load the U-Boot 145ee14d29dSPhilipp Tomsich binary to keep going on. 146ee14d29dSPhilipp Tomsich 147ee14d29dSPhilipp Tomsichconfig TPL_ROCKCHIP_BACK_TO_BROM 148ee14d29dSPhilipp Tomsich bool "TPL returns to bootrom" 149ee14d29dSPhilipp Tomsich default y if ROCKCHIP_RK3368 150ee14d29dSPhilipp Tomsich select ROCKCHIP_BROM_HELPER 151ee14d29dSPhilipp Tomsich depends on TPL 152b47ea792SXu Ziyuan help 153b47ea792SXu Ziyuan Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled, 154b47ea792SXu Ziyuan SPL will return to the boot rom, which will then load the U-Boot 155b47ea792SXu Ziyuan binary to keep going on. 156b47ea792SXu Ziyuan 157e3067793SAndy Yanconfig ROCKCHIP_BOOT_MODE_REG 158e3067793SAndy Yan hex "Rockchip boot mode flag register address" 159e3067793SAndy Yan default 0x200081c8 if ROCKCHIP_RK3036 160e3067793SAndy Yan default 0x20004040 if ROCKCHIP_RK3188 161e3067793SAndy Yan default 0x110005c8 if ROCKCHIP_RK322X 162e3067793SAndy Yan default 0xff730094 if ROCKCHIP_RK3288 163e3067793SAndy Yan default 0xff738200 if ROCKCHIP_RK3368 164e3067793SAndy Yan default 0xff320300 if ROCKCHIP_RK3399 165e3067793SAndy Yan default 0x10300580 if ROCKCHIP_RV1108 166e3067793SAndy Yan default 0 167e3067793SAndy Yan help 168e3067793SAndy Yan The Soc will enter to different boot mode(defined in asm/arch/boot_mode.h) 169e3067793SAndy Yan according to the value from this register. 170e3067793SAndy Yan 171fa1392a2SKever Yangconfig ROCKCHIP_SPL_RESERVE_IRAM 172fa1392a2SKever Yang hex "Size of IRAM reserved in SPL" 173fa1392a2SKever Yang default 0x4000 174fa1392a2SKever Yang help 175fa1392a2SKever Yang SPL may need reserve memory for firmware loaded by SPL, whose load 176fa1392a2SKever Yang address is in IRAM and may overlay with SPL text area if not 177fa1392a2SKever Yang reserved. 178fa1392a2SKever Yang 1791d845947SHeiko Stübnerconfig ROCKCHIP_BROM_HELPER 1801d845947SHeiko Stübner bool 1811d845947SHeiko Stübner 182b377d222SPhilipp Tomsichconfig SPL_ROCKCHIP_EARLYRETURN_TO_BROM 183b377d222SPhilipp Tomsich bool "SPL requires early-return (for RK3188-style BROM) to BROM" 184b377d222SPhilipp Tomsich depends on SPL && ENABLE_ARM_SOC_BOOT0_HOOK 185b377d222SPhilipp Tomsich help 186b377d222SPhilipp Tomsich Some Rockchip BROM variants (e.g. on the RK3188) load the 187b377d222SPhilipp Tomsich first stage in segments and enter multiple times. E.g. on 188b377d222SPhilipp Tomsich the RK3188, the first 1KB of the first stage are loaded 189b377d222SPhilipp Tomsich first and entered; after returning to the BROM, the 190b377d222SPhilipp Tomsich remainder of the first stage is loaded, but the BROM 191b377d222SPhilipp Tomsich re-enters at the same address/to the same code as previously. 192b377d222SPhilipp Tomsich 193b377d222SPhilipp Tomsich This enables support code in the BOOT0 hook for the SPL stage 194b377d222SPhilipp Tomsich to allow multiple entries. 195b377d222SPhilipp Tomsich 196b377d222SPhilipp Tomsichconfig TPL_ROCKCHIP_EARLYRETURN_TO_BROM 197b377d222SPhilipp Tomsich bool "TPL requires early-return (for RK3188-style BROM) to BROM" 198b377d222SPhilipp Tomsich depends on TPL && ENABLE_ARM_SOC_BOOT0_HOOK 199b377d222SPhilipp Tomsich help 200b377d222SPhilipp Tomsich Some Rockchip BROM variants (e.g. on the RK3188) load the 201b377d222SPhilipp Tomsich first stage in segments and enter multiple times. E.g. on 202b377d222SPhilipp Tomsich the RK3188, the first 1KB of the first stage are loaded 203b377d222SPhilipp Tomsich first and entered; after returning to the BROM, the 204b377d222SPhilipp Tomsich remainder of the first stage is loaded, but the BROM 205b377d222SPhilipp Tomsich re-enters at the same address/to the same code as previously. 206b377d222SPhilipp Tomsich 207b377d222SPhilipp Tomsich This enables support code in the BOOT0 hook for the TPL stage 208b377d222SPhilipp Tomsich to allow multiple entries. 209b377d222SPhilipp Tomsich 210230e0e09SSandy Pattersonconfig SPL_MMC_SUPPORT 211ee14d29dSPhilipp Tomsich default y if !SPL_ROCKCHIP_BACK_TO_BROM 212230e0e09SSandy Patterson 213be1d5e03Shuang linsource "arch/arm/mach-rockchip/rk3036/Kconfig" 2140a2be69fSHeiko Stübnersource "arch/arm/mach-rockchip/rk3188/Kconfig" 215b24a8ec1SKever Yangsource "arch/arm/mach-rockchip/rk322x/Kconfig" 216041cdb5fSHeiko Stübnersource "arch/arm/mach-rockchip/rk3288/Kconfig" 21785a3cfb8SKever Yangsource "arch/arm/mach-rockchip/rk3328/Kconfig" 21837a0c600SAndreas Färbersource "arch/arm/mach-rockchip/rk3368/Kconfig" 219a381bcf5SKever Yangsource "arch/arm/mach-rockchip/rk3399/Kconfig" 2202c1e11ddSAndy Yansource "arch/arm/mach-rockchip/rv1108/Kconfig" 2212444dae5SSimon Glassendif 222