12444dae5SSimon Glassif ARCH_ROCKCHIP 22444dae5SSimon Glass 3041cdb5fSHeiko Stübnerconfig ROCKCHIP_RK3036 4041cdb5fSHeiko Stübner bool "Support Rockchip RK3036" 5acf15001SLokesh Vutla select CPU_V7A 6a381bcf5SKever Yang select SUPPORT_SPL 7a381bcf5SKever Yang select SPL 8451dcf5cSEddie Cai imply USB_FUNCTION_ROCKUSB 9451dcf5cSEddie Cai imply CMD_ROCKUSB 10041cdb5fSHeiko Stübner help 11041cdb5fSHeiko Stübner The Rockchip RK3036 is a ARM-based SoC with a dual-core Cortex-A7 12041cdb5fSHeiko Stübner including NEON and GPU, Mali-400 graphics, several DDR3 options 13041cdb5fSHeiko Stübner and video codec support. Peripherals include Gigabit Ethernet, 14041cdb5fSHeiko Stübner USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs. 15041cdb5fSHeiko Stübner 16daeed1dbSKever Yangconfig ROCKCHIP_RK3128 17daeed1dbSKever Yang bool "Support Rockchip RK3128" 18acf15001SLokesh Vutla select CPU_V7A 19daeed1dbSKever Yang help 20daeed1dbSKever Yang The Rockchip RK3128 is a ARM-based SoC with a quad-core Cortex-A7 21daeed1dbSKever Yang including NEON and GPU, Mali-400 graphics, several DDR3 options 22daeed1dbSKever Yang and video codec support. Peripherals include Gigabit Ethernet, 23daeed1dbSKever Yang USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs. 24daeed1dbSKever Yang 250a2be69fSHeiko Stübnerconfig ROCKCHIP_RK3188 260a2be69fSHeiko Stübner bool "Support Rockchip RK3188" 27acf15001SLokesh Vutla select CPU_V7A 280680f1b1SLey Foon Tan select SPL_BOARD_INIT if SPL 290a2be69fSHeiko Stübner select SUPPORT_SPL 300a2be69fSHeiko Stübner select SPL 314bbb05bcSPhilipp Tomsich select SPL_CLK 324bbb05bcSPhilipp Tomsich select SPL_PINCTRL 334bbb05bcSPhilipp Tomsich select SPL_REGMAP 344bbb05bcSPhilipp Tomsich select SPL_SYSCON 354bbb05bcSPhilipp Tomsich select SPL_RAM 364bbb05bcSPhilipp Tomsich select SPL_DRIVERS_MISC_SUPPORT 374d9253fbSPhilipp Tomsich select SPL_ROCKCHIP_EARLYRETURN_TO_BROM 38008a610bSHeiko Stübner select BOARD_LATE_INIT 390a2be69fSHeiko Stübner select ROCKCHIP_BROM_HELPER 400a2be69fSHeiko Stübner help 410a2be69fSHeiko Stübner The Rockchip RK3188 is a ARM-based SoC with a quad-core Cortex-A9 420a2be69fSHeiko Stübner including NEON and GPU, 512KB L2 cache, Mali-400 graphics, two 430a2be69fSHeiko Stübner video interfaces, several memory options and video codec support. 440a2be69fSHeiko Stübner Peripherals include Fast Ethernet, USB2 host and OTG, SDIO, I2S, 450a2be69fSHeiko Stübner UART, SPI, I2C and PWMs. 460a2be69fSHeiko Stübner 47168eef7aSKever Yangconfig ROCKCHIP_RK322X 48168eef7aSKever Yang bool "Support Rockchip RK3228/RK3229" 49acf15001SLokesh Vutla select CPU_V7A 50168eef7aSKever Yang select SUPPORT_SPL 51168eef7aSKever Yang select SPL 52168eef7aSKever Yang select ROCKCHIP_BROM_HELPER 53168eef7aSKever Yang select DEBUG_UART_BOARD_INIT 54168eef7aSKever Yang help 55168eef7aSKever Yang The Rockchip RK3229 is a ARM-based SoC with a dual-core Cortex-A7 56168eef7aSKever Yang including NEON and GPU, Mali-400 graphics, several DDR3 options 57168eef7aSKever Yang and video codec support. Peripherals include Gigabit Ethernet, 58168eef7aSKever Yang USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs. 59168eef7aSKever Yang 602444dae5SSimon Glassconfig ROCKCHIP_RK3288 612444dae5SSimon Glass bool "Support Rockchip RK3288" 62acf15001SLokesh Vutla select CPU_V7A 630680f1b1SLey Foon Tan select SPL_BOARD_INIT if SPL 64a381bcf5SKever Yang select SUPPORT_SPL 65a381bcf5SKever Yang select SPL 66c3d098e7SEddie Cai imply USB_FUNCTION_ROCKUSB 67c3d098e7SEddie Cai imply CMD_ROCKUSB 682444dae5SSimon Glass help 692444dae5SSimon Glass The Rockchip RK3288 is a ARM-based SoC with a quad-core Cortex-A17 702444dae5SSimon Glass including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two 712444dae5SSimon Glass video interfaces supporting HDMI and eDP, several DDR3 options 722444dae5SSimon Glass and video codec support. Peripherals include Gigabit Ethernet, 73ef904bf2SAndreas Färber USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs. 742444dae5SSimon Glass 75849f672bSJagan Tekiif ROCKCHIP_RK3288 76849f672bSJagan Teki 77849f672bSJagan Tekiconfig TPL_LDSCRIPT 78849f672bSJagan Teki default "arch/arm/mach-rockchip/rk3288/u-boot-tpl.lds" 79849f672bSJagan Teki 8033554fceSJagan Tekiconfig TPL_TEXT_BASE 8133554fceSJagan Teki default 0xff704000 8233554fceSJagan Teki 83849f672bSJagan Tekiendif 84849f672bSJagan Teki 8585a3cfb8SKever Yangconfig ROCKCHIP_RK3328 8685a3cfb8SKever Yang bool "Support Rockchip RK3328" 8785a3cfb8SKever Yang select ARM64 8885a3cfb8SKever Yang help 8985a3cfb8SKever Yang The Rockchip RK3328 is a ARM-based SoC with a quad-core Cortex-A53. 9085a3cfb8SKever Yang including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two 9185a3cfb8SKever Yang video interfaces supporting HDMI and eDP, several DDR3 options 9285a3cfb8SKever Yang and video codec support. Peripherals include Gigabit Ethernet, 9385a3cfb8SKever Yang USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs. 9485a3cfb8SKever Yang 9537a0c600SAndreas Färberconfig ROCKCHIP_RK3368 9637a0c600SAndreas Färber bool "Support Rockchip RK3368" 9737a0c600SAndreas Färber select ARM64 985071457eSPhilipp Tomsich select SUPPORT_SPL 995071457eSPhilipp Tomsich select SUPPORT_TPL 1004cf4378eSPhilipp Tomsich select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL 1014cf4378eSPhilipp Tomsich select TPL_NEEDS_SEPARATE_STACK if TPL 1025071457eSPhilipp Tomsich imply SPL_SEPARATE_BSS 1035071457eSPhilipp Tomsich imply SPL_SERIAL_SUPPORT 1045071457eSPhilipp Tomsich imply TPL_SERIAL_SUPPORT 1055071457eSPhilipp Tomsich select DEBUG_UART_BOARD_INIT 10637a0c600SAndreas Färber help 1079a8f009fSPhilipp Tomsich The Rockchip RK3368 is a ARM-based SoC with a octa-core (organised 1089a8f009fSPhilipp Tomsich into a big and little cluster with 4 cores each) Cortex-A53 including 1099a8f009fSPhilipp Tomsich AdvSIMD, 512KB L2 cache (for the big cluster) and 256 KB L2 cache 1109a8f009fSPhilipp Tomsich (for the little cluster), PowerVR G6110 based graphics, one video 1119a8f009fSPhilipp Tomsich output processor supporting LVDS/HDMI/eDP, several DDR3 options and 1129a8f009fSPhilipp Tomsich video codec support. 1139a8f009fSPhilipp Tomsich 1149a8f009fSPhilipp Tomsich On-chip peripherals include Gigabit Ethernet, USB2 host and OTG, SDIO, 1159a8f009fSPhilipp Tomsich I2S, UARTs, SPI, I2C and PWMs. 11637a0c600SAndreas Färber 117d9d1242bSPhilipp Tomsichif ROCKCHIP_RK3368 118d9d1242bSPhilipp Tomsich 119d9d1242bSPhilipp Tomsichconfig TPL_LDSCRIPT 120d9d1242bSPhilipp Tomsich default "arch/arm/mach-rockchip/rk3368/u-boot-tpl.lds" 121d9d1242bSPhilipp Tomsich 1225aa49af3SPhilipp Tomsichconfig TPL_TEXT_BASE 1235aa49af3SPhilipp Tomsich default 0xff8c1000 1245aa49af3SPhilipp Tomsich 1255aa49af3SPhilipp Tomsichconfig TPL_MAX_SIZE 1265aa49af3SPhilipp Tomsich default 28672 1275aa49af3SPhilipp Tomsich 1285aa49af3SPhilipp Tomsichconfig TPL_STACK 1295aa49af3SPhilipp Tomsich default 0xff8cffff 1305aa49af3SPhilipp Tomsich 131d9d1242bSPhilipp Tomsichendif 132d9d1242bSPhilipp Tomsich 133a381bcf5SKever Yangconfig ROCKCHIP_RK3399 134a381bcf5SKever Yang bool "Support Rockchip RK3399" 135a381bcf5SKever Yang select ARM64 13666e87cc8SKever Yang select SUPPORT_SPL 13766e87cc8SKever Yang select SPL 13866e87cc8SKever Yang select SPL_SEPARATE_BSS 139c0508e42SPhilipp Tomsich select SPL_SERIAL_SUPPORT 140c0508e42SPhilipp Tomsich select SPL_DRIVERS_MISC_SUPPORT 1417ee16de5SPhilipp Tomsich select DEBUG_UART_BOARD_INIT 142e3067793SAndy Yan select BOARD_LATE_INIT 143b4d23f76SAndy Yan select ROCKCHIP_BROM_HELPER 144a381bcf5SKever Yang help 145a381bcf5SKever Yang The Rockchip RK3399 is a ARM-based SoC with a dual-core Cortex-A72 146a381bcf5SKever Yang and quad-core Cortex-A53. 147a381bcf5SKever Yang including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two 148a381bcf5SKever Yang video interfaces supporting HDMI and eDP, several DDR3 options 149a381bcf5SKever Yang and video codec support. Peripherals include Gigabit Ethernet, 150a381bcf5SKever Yang USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs. 151a381bcf5SKever Yang 1522c1e11ddSAndy Yanconfig ROCKCHIP_RV1108 1532c1e11ddSAndy Yan bool "Support Rockchip RV1108" 154acf15001SLokesh Vutla select CPU_V7A 1552c1e11ddSAndy Yan help 1562c1e11ddSAndy Yan The Rockchip RV1108 is a ARM-based SoC with a single-core Cortex-A7 1572c1e11ddSAndy Yan and a DSP. 1582c1e11ddSAndy Yan 159*5b5ca4c0SHeiko Stuebnerconfig ROCKCHIP_USB_UART 160*5b5ca4c0SHeiko Stuebner bool "Route uart output to usb pins" 161*5b5ca4c0SHeiko Stuebner help 162*5b5ca4c0SHeiko Stuebner Rockchip SoCs have the ability to route the signals of the debug 163*5b5ca4c0SHeiko Stuebner uart through the d+ and d- pins of a specific usb phy to enable 164*5b5ca4c0SHeiko Stuebner some form of closed-case debugging. With this option supported 165*5b5ca4c0SHeiko Stuebner SoCs will enable this routing as a debug measure. 166*5b5ca4c0SHeiko Stuebner 167ee14d29dSPhilipp Tomsichconfig SPL_ROCKCHIP_BACK_TO_BROM 168b47ea792SXu Ziyuan bool "SPL returns to bootrom" 169b47ea792SXu Ziyuan default y if ROCKCHIP_RK3036 1701d845947SHeiko Stübner select ROCKCHIP_BROM_HELPER 171ee14d29dSPhilipp Tomsich depends on SPL 172ee14d29dSPhilipp Tomsich help 173ee14d29dSPhilipp Tomsich Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled, 174ee14d29dSPhilipp Tomsich SPL will return to the boot rom, which will then load the U-Boot 175ee14d29dSPhilipp Tomsich binary to keep going on. 176ee14d29dSPhilipp Tomsich 177ee14d29dSPhilipp Tomsichconfig TPL_ROCKCHIP_BACK_TO_BROM 178ee14d29dSPhilipp Tomsich bool "TPL returns to bootrom" 179ee14d29dSPhilipp Tomsich default y if ROCKCHIP_RK3368 180ee14d29dSPhilipp Tomsich select ROCKCHIP_BROM_HELPER 181ee14d29dSPhilipp Tomsich depends on TPL 182b47ea792SXu Ziyuan help 183b47ea792SXu Ziyuan Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled, 184b47ea792SXu Ziyuan SPL will return to the boot rom, which will then load the U-Boot 185b47ea792SXu Ziyuan binary to keep going on. 186b47ea792SXu Ziyuan 187e3067793SAndy Yanconfig ROCKCHIP_BOOT_MODE_REG 188e3067793SAndy Yan hex "Rockchip boot mode flag register address" 189e3067793SAndy Yan default 0x200081c8 if ROCKCHIP_RK3036 190e3067793SAndy Yan default 0x20004040 if ROCKCHIP_RK3188 191e3067793SAndy Yan default 0x110005c8 if ROCKCHIP_RK322X 192e3067793SAndy Yan default 0xff730094 if ROCKCHIP_RK3288 193e3067793SAndy Yan default 0xff738200 if ROCKCHIP_RK3368 194e3067793SAndy Yan default 0xff320300 if ROCKCHIP_RK3399 195e3067793SAndy Yan default 0x10300580 if ROCKCHIP_RV1108 196e3067793SAndy Yan default 0 197e3067793SAndy Yan help 198e3067793SAndy Yan The Soc will enter to different boot mode(defined in asm/arch/boot_mode.h) 199e3067793SAndy Yan according to the value from this register. 200e3067793SAndy Yan 201fa1392a2SKever Yangconfig ROCKCHIP_SPL_RESERVE_IRAM 202fa1392a2SKever Yang hex "Size of IRAM reserved in SPL" 2038a8106f0SKever Yang default 0 204fa1392a2SKever Yang help 205fa1392a2SKever Yang SPL may need reserve memory for firmware loaded by SPL, whose load 206fa1392a2SKever Yang address is in IRAM and may overlay with SPL text area if not 207fa1392a2SKever Yang reserved. 208fa1392a2SKever Yang 2091d845947SHeiko Stübnerconfig ROCKCHIP_BROM_HELPER 2101d845947SHeiko Stübner bool 2111d845947SHeiko Stübner 212b377d222SPhilipp Tomsichconfig SPL_ROCKCHIP_EARLYRETURN_TO_BROM 213b377d222SPhilipp Tomsich bool "SPL requires early-return (for RK3188-style BROM) to BROM" 214b377d222SPhilipp Tomsich depends on SPL && ENABLE_ARM_SOC_BOOT0_HOOK 215b377d222SPhilipp Tomsich help 216b377d222SPhilipp Tomsich Some Rockchip BROM variants (e.g. on the RK3188) load the 217b377d222SPhilipp Tomsich first stage in segments and enter multiple times. E.g. on 218b377d222SPhilipp Tomsich the RK3188, the first 1KB of the first stage are loaded 219b377d222SPhilipp Tomsich first and entered; after returning to the BROM, the 220b377d222SPhilipp Tomsich remainder of the first stage is loaded, but the BROM 221b377d222SPhilipp Tomsich re-enters at the same address/to the same code as previously. 222b377d222SPhilipp Tomsich 223b377d222SPhilipp Tomsich This enables support code in the BOOT0 hook for the SPL stage 224b377d222SPhilipp Tomsich to allow multiple entries. 225b377d222SPhilipp Tomsich 226b377d222SPhilipp Tomsichconfig TPL_ROCKCHIP_EARLYRETURN_TO_BROM 227b377d222SPhilipp Tomsich bool "TPL requires early-return (for RK3188-style BROM) to BROM" 228b377d222SPhilipp Tomsich depends on TPL && ENABLE_ARM_SOC_BOOT0_HOOK 229b377d222SPhilipp Tomsich help 230b377d222SPhilipp Tomsich Some Rockchip BROM variants (e.g. on the RK3188) load the 231b377d222SPhilipp Tomsich first stage in segments and enter multiple times. E.g. on 232b377d222SPhilipp Tomsich the RK3188, the first 1KB of the first stage are loaded 233b377d222SPhilipp Tomsich first and entered; after returning to the BROM, the 234b377d222SPhilipp Tomsich remainder of the first stage is loaded, but the BROM 235b377d222SPhilipp Tomsich re-enters at the same address/to the same code as previously. 236b377d222SPhilipp Tomsich 237b377d222SPhilipp Tomsich This enables support code in the BOOT0 hook for the TPL stage 238b377d222SPhilipp Tomsich to allow multiple entries. 239b377d222SPhilipp Tomsich 240230e0e09SSandy Pattersonconfig SPL_MMC_SUPPORT 241ee14d29dSPhilipp Tomsich default y if !SPL_ROCKCHIP_BACK_TO_BROM 242230e0e09SSandy Patterson 243be1d5e03Shuang linsource "arch/arm/mach-rockchip/rk3036/Kconfig" 244daeed1dbSKever Yangsource "arch/arm/mach-rockchip/rk3128/Kconfig" 2450a2be69fSHeiko Stübnersource "arch/arm/mach-rockchip/rk3188/Kconfig" 246b24a8ec1SKever Yangsource "arch/arm/mach-rockchip/rk322x/Kconfig" 247041cdb5fSHeiko Stübnersource "arch/arm/mach-rockchip/rk3288/Kconfig" 24885a3cfb8SKever Yangsource "arch/arm/mach-rockchip/rk3328/Kconfig" 24937a0c600SAndreas Färbersource "arch/arm/mach-rockchip/rk3368/Kconfig" 250a381bcf5SKever Yangsource "arch/arm/mach-rockchip/rk3399/Kconfig" 2512c1e11ddSAndy Yansource "arch/arm/mach-rockchip/rv1108/Kconfig" 2522444dae5SSimon Glassendif 253