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 120*e3067793SAndy Yan select BOARD_LATE_INIT 121a381bcf5SKever Yang help 122a381bcf5SKever Yang The Rockchip RK3399 is a ARM-based SoC with a dual-core Cortex-A72 123a381bcf5SKever Yang and quad-core Cortex-A53. 124a381bcf5SKever Yang including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two 125a381bcf5SKever Yang video interfaces supporting HDMI and eDP, several DDR3 options 126a381bcf5SKever Yang and video codec support. Peripherals include Gigabit Ethernet, 127a381bcf5SKever Yang USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs. 128a381bcf5SKever Yang 1292c1e11ddSAndy Yanconfig ROCKCHIP_RV1108 1302c1e11ddSAndy Yan bool "Support Rockchip RV1108" 1312c1e11ddSAndy Yan select CPU_V7 1322c1e11ddSAndy Yan help 1332c1e11ddSAndy Yan The Rockchip RV1108 is a ARM-based SoC with a single-core Cortex-A7 1342c1e11ddSAndy Yan and a DSP. 1352c1e11ddSAndy Yan 136ee14d29dSPhilipp Tomsichconfig SPL_ROCKCHIP_BACK_TO_BROM 137b47ea792SXu Ziyuan bool "SPL returns to bootrom" 138b47ea792SXu Ziyuan default y if ROCKCHIP_RK3036 1391d845947SHeiko Stübner select ROCKCHIP_BROM_HELPER 140ee14d29dSPhilipp Tomsich depends on SPL 141ee14d29dSPhilipp Tomsich help 142ee14d29dSPhilipp Tomsich Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled, 143ee14d29dSPhilipp Tomsich SPL will return to the boot rom, which will then load the U-Boot 144ee14d29dSPhilipp Tomsich binary to keep going on. 145ee14d29dSPhilipp Tomsich 146ee14d29dSPhilipp Tomsichconfig TPL_ROCKCHIP_BACK_TO_BROM 147ee14d29dSPhilipp Tomsich bool "TPL returns to bootrom" 148ee14d29dSPhilipp Tomsich default y if ROCKCHIP_RK3368 149ee14d29dSPhilipp Tomsich select ROCKCHIP_BROM_HELPER 150ee14d29dSPhilipp Tomsich depends on TPL 151b47ea792SXu Ziyuan help 152b47ea792SXu Ziyuan Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled, 153b47ea792SXu Ziyuan SPL will return to the boot rom, which will then load the U-Boot 154b47ea792SXu Ziyuan binary to keep going on. 155b47ea792SXu Ziyuan 156*e3067793SAndy Yanconfig ROCKCHIP_BOOT_MODE_REG 157*e3067793SAndy Yan hex "Rockchip boot mode flag register address" 158*e3067793SAndy Yan default 0x200081c8 if ROCKCHIP_RK3036 159*e3067793SAndy Yan default 0x20004040 if ROCKCHIP_RK3188 160*e3067793SAndy Yan default 0x110005c8 if ROCKCHIP_RK322X 161*e3067793SAndy Yan default 0xff730094 if ROCKCHIP_RK3288 162*e3067793SAndy Yan default 0xff738200 if ROCKCHIP_RK3368 163*e3067793SAndy Yan default 0xff320300 if ROCKCHIP_RK3399 164*e3067793SAndy Yan default 0x10300580 if ROCKCHIP_RV1108 165*e3067793SAndy Yan default 0 166*e3067793SAndy Yan help 167*e3067793SAndy Yan The Soc will enter to different boot mode(defined in asm/arch/boot_mode.h) 168*e3067793SAndy Yan according to the value from this register. 169*e3067793SAndy Yan 170fa1392a2SKever Yangconfig ROCKCHIP_SPL_RESERVE_IRAM 171fa1392a2SKever Yang hex "Size of IRAM reserved in SPL" 172fa1392a2SKever Yang default 0x4000 173fa1392a2SKever Yang help 174fa1392a2SKever Yang SPL may need reserve memory for firmware loaded by SPL, whose load 175fa1392a2SKever Yang address is in IRAM and may overlay with SPL text area if not 176fa1392a2SKever Yang reserved. 177fa1392a2SKever Yang 1781d845947SHeiko Stübnerconfig ROCKCHIP_BROM_HELPER 1791d845947SHeiko Stübner bool 1801d845947SHeiko Stübner 181b377d222SPhilipp Tomsichconfig SPL_ROCKCHIP_EARLYRETURN_TO_BROM 182b377d222SPhilipp Tomsich bool "SPL requires early-return (for RK3188-style BROM) to BROM" 183b377d222SPhilipp Tomsich depends on SPL && ENABLE_ARM_SOC_BOOT0_HOOK 184b377d222SPhilipp Tomsich help 185b377d222SPhilipp Tomsich Some Rockchip BROM variants (e.g. on the RK3188) load the 186b377d222SPhilipp Tomsich first stage in segments and enter multiple times. E.g. on 187b377d222SPhilipp Tomsich the RK3188, the first 1KB of the first stage are loaded 188b377d222SPhilipp Tomsich first and entered; after returning to the BROM, the 189b377d222SPhilipp Tomsich remainder of the first stage is loaded, but the BROM 190b377d222SPhilipp Tomsich re-enters at the same address/to the same code as previously. 191b377d222SPhilipp Tomsich 192b377d222SPhilipp Tomsich This enables support code in the BOOT0 hook for the SPL stage 193b377d222SPhilipp Tomsich to allow multiple entries. 194b377d222SPhilipp Tomsich 195b377d222SPhilipp Tomsichconfig TPL_ROCKCHIP_EARLYRETURN_TO_BROM 196b377d222SPhilipp Tomsich bool "TPL requires early-return (for RK3188-style BROM) to BROM" 197b377d222SPhilipp Tomsich depends on TPL && ENABLE_ARM_SOC_BOOT0_HOOK 198b377d222SPhilipp Tomsich help 199b377d222SPhilipp Tomsich Some Rockchip BROM variants (e.g. on the RK3188) load the 200b377d222SPhilipp Tomsich first stage in segments and enter multiple times. E.g. on 201b377d222SPhilipp Tomsich the RK3188, the first 1KB of the first stage are loaded 202b377d222SPhilipp Tomsich first and entered; after returning to the BROM, the 203b377d222SPhilipp Tomsich remainder of the first stage is loaded, but the BROM 204b377d222SPhilipp Tomsich re-enters at the same address/to the same code as previously. 205b377d222SPhilipp Tomsich 206b377d222SPhilipp Tomsich This enables support code in the BOOT0 hook for the TPL stage 207b377d222SPhilipp Tomsich to allow multiple entries. 208b377d222SPhilipp Tomsich 209230e0e09SSandy Pattersonconfig SPL_MMC_SUPPORT 210ee14d29dSPhilipp Tomsich default y if !SPL_ROCKCHIP_BACK_TO_BROM 211230e0e09SSandy Patterson 212be1d5e03Shuang linsource "arch/arm/mach-rockchip/rk3036/Kconfig" 2130a2be69fSHeiko Stübnersource "arch/arm/mach-rockchip/rk3188/Kconfig" 214b24a8ec1SKever Yangsource "arch/arm/mach-rockchip/rk322x/Kconfig" 215041cdb5fSHeiko Stübnersource "arch/arm/mach-rockchip/rk3288/Kconfig" 21685a3cfb8SKever Yangsource "arch/arm/mach-rockchip/rk3328/Kconfig" 21737a0c600SAndreas Färbersource "arch/arm/mach-rockchip/rk3368/Kconfig" 218a381bcf5SKever Yangsource "arch/arm/mach-rockchip/rk3399/Kconfig" 2192c1e11ddSAndy Yansource "arch/arm/mach-rockchip/rv1108/Kconfig" 2202444dae5SSimon Glassendif 221