1if ARCH_ROCKCHIP 2 3config ROCKCHIP_RK3036 4 bool "Support Rockchip RK3036" 5 select CPU_V7 6 select SUPPORT_SPL 7 select SPL 8 help 9 The Rockchip RK3036 is a ARM-based SoC with a dual-core Cortex-A7 10 including NEON and GPU, Mali-400 graphics, several DDR3 options 11 and video codec support. Peripherals include Gigabit Ethernet, 12 USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs. 13 14config ROCKCHIP_RK3128 15 bool "Support Rockchip RK3128" 16 select CPU_V7 17 select GICV2 18 help 19 The Rockchip RK3128 is a ARM-based SoC with a quad-core Cortex-A7 20 including NEON and GPU, Mali-400 graphics, several DDR3 options 21 and video codec support. Peripherals include Gigabit Ethernet, 22 USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs. 23 24config ROCKCHIP_RK3066 25 bool "Support Rockchip RK3066" 26 select CPU_V7 27 select SUPPORT_SPL 28 select SUPPORT_TPL 29 select SPL 30 select TPL 31 select BOARD_LATE_INIT 32 select ROCKCHIP_BROM_HELPER 33 help 34 The Rockchip RK3066 is a ARM-based SoC with a dual-core Cortex-A9 35 including NEON and GPU, Mali-400 graphics, several DDR3 options 36 and video codec support. Peripherals include ethernet, USB2 host 37 and OTG, SDIO, I2S, UART, SPI, I2C and PWMs. 38 39config ROCKCHIP_RK3188 40 bool "Support Rockchip RK3188" 41 select CPU_V7 42 select SPL_BOARD_INIT if SPL 43 select SUPPORT_SPL 44 select SPL 45 select SPL_CLK 46 select SPL_PINCTRL 47 select SPL_REGMAP 48 select SPL_SYSCON 49 select SPL_RAM 50 select SPL_DRIVERS_MISC_SUPPORT 51 select SPL_ROCKCHIP_EARLYRETURN_TO_BROM 52 select BOARD_LATE_INIT 53 select ROCKCHIP_BROM_HELPER 54 help 55 The Rockchip RK3188 is a ARM-based SoC with a quad-core Cortex-A9 56 including NEON and GPU, 512KB L2 cache, Mali-400 graphics, two 57 video interfaces, several memory options and video codec support. 58 Peripherals include Fast Ethernet, USB2 host and OTG, SDIO, I2S, 59 UART, SPI, I2C and PWMs. 60 61config ROCKCHIP_RK322X 62 bool "Support Rockchip RK3228/RK3229" 63 select CPU_V7 64 select SUPPORT_SPL 65 select SUPPORT_TPL 66 select SPL 67 select TPL 68 select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL 69 select TPL_NEEDS_SEPARATE_STACK if TPL 70 select SPL_DRIVERS_MISC_SUPPORT 71 imply SPL_SERIAL_SUPPORT 72 imply TPL_SERIAL_SUPPORT 73 select ROCKCHIP_BROM_HELPER 74 select DEBUG_UART_BOARD_INIT 75 select TPL_LIBCOMMON_SUPPORT 76 select TPL_LIBGENERIC_SUPPORT 77 select GICV2 78 help 79 The Rockchip RK3229 is a ARM-based SoC with a dual-core Cortex-A7 80 including NEON and GPU, Mali-400 graphics, several DDR3 options 81 and video codec support. Peripherals include Gigabit Ethernet, 82 USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs. 83 84config ROCKCHIP_RK3288 85 bool "Support Rockchip RK3288" 86 select CPU_V7 87 select SPL_BOARD_INIT if SPL 88 select SUPPORT_SPL 89 select SPL 90 select GICV2 91 help 92 The Rockchip RK3288 is a ARM-based SoC with a quad-core Cortex-A17 93 including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two 94 video interfaces supporting HDMI and eDP, several DDR3 options 95 and video codec support. Peripherals include Gigabit Ethernet, 96 USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs. 97 98config ROCKCHIP_RK3328 99 bool "Support Rockchip RK3328" 100 select ARM64 101 select GICV2 102 select SUPPORT_SPL 103 select SUPPORT_TPL 104 select SPL 105 select TPL 106 select TPL_NEEDS_SEPARATE_TEXT_BASE if TPL 107 select TPL_NEEDS_SEPARATE_STACK if TPL 108 imply SPL_SERIAL_SUPPORT 109 imply TPL_SERIAL_SUPPORT 110 imply SPL_SEPARATE_BSS 111 select DEBUG_UART_BOARD_INIT 112 select SYS_NS16550 113 help 114 The Rockchip RK3328 is a ARM-based SoC with a quad-core Cortex-A53. 115 including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two 116 video interfaces supporting HDMI and eDP, several DDR3 options 117 and video codec support. Peripherals include Gigabit Ethernet, 118 USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs. 119 120if ROCKCHIP_RK3328 121 122config TPL_LDSCRIPT 123 default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds" 124 125config TPL_TEXT_BASE 126 default 0xff091000 127 128config TPL_MAX_SIZE 129 default 28672 130 131config TPL_STACK 132 default 0xff098000 133 134endif 135 136config ROCKCHIP_RK3368 137 bool "Support Rockchip RK3368" 138 select ARM64 139 select SUPPORT_SPL 140 select SUPPORT_TPL 141 select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL 142 select TPL_NEEDS_SEPARATE_STACK if TPL 143 imply SPL_SEPARATE_BSS 144 imply SPL_SERIAL_SUPPORT 145 imply TPL_SERIAL_SUPPORT 146 select DEBUG_UART_BOARD_INIT 147 select SYS_NS16550 148 select GICV2 149 help 150 The Rockchip RK3368 is a ARM-based SoC with a octa-core (organised 151 into a big and little cluster with 4 cores each) Cortex-A53 including 152 AdvSIMD, 512KB L2 cache (for the big cluster) and 256 KB L2 cache 153 (for the little cluster), PowerVR G6110 based graphics, one video 154 output processor supporting LVDS/HDMI/eDP, several DDR3 options and 155 video codec support. 156 157 On-chip peripherals include Gigabit Ethernet, USB2 host and OTG, SDIO, 158 I2S, UARTs, SPI, I2C and PWMs. 159 160if ROCKCHIP_RK3368 161 162config TPL_LDSCRIPT 163 default "arch/arm/mach-rockchip/rk3368/u-boot-tpl.lds" 164 165config TPL_TEXT_BASE 166 default 0xff8c1000 167 168config TPL_MAX_SIZE 169 default 28672 170 171config TPL_STACK 172 default 0xff8cffff 173 174endif 175 176config ROCKCHIP_RK3399 177 bool "Support Rockchip RK3399" 178 select ARM64 179 select SUPPORT_SPL 180 select SPL 181 select SPL_SEPARATE_BSS 182 select SPL_SERIAL_SUPPORT 183 select SPL_DRIVERS_MISC_SUPPORT 184 select DEBUG_UART_BOARD_INIT 185 select GICV3 186 select BOARD_LATE_INIT 187 select ROCKCHIP_BROM_HELPER 188 help 189 The Rockchip RK3399 is a ARM-based SoC with a dual-core Cortex-A72 190 and quad-core Cortex-A53. 191 including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two 192 video interfaces supporting HDMI and eDP, several DDR3 options 193 and video codec support. Peripherals include Gigabit Ethernet, 194 USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs. 195 196config ROCKCHIP_RV1108 197 bool "Support Rockchip RV1108" 198 select CPU_V7 199 help 200 The Rockchip RV1108 is a ARM-based SoC with a single-core Cortex-A7 201 and a DSP. 202 203config SPL_ROCKCHIP_BACK_TO_BROM 204 bool "SPL returns to bootrom" 205 default y if ROCKCHIP_RK3036 206 select ROCKCHIP_BROM_HELPER 207 depends on SPL 208 help 209 Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled, 210 SPL will return to the boot rom, which will then load the U-Boot 211 binary to keep going on. 212 213config TPL_ROCKCHIP_BACK_TO_BROM 214 bool "TPL returns to bootrom" 215 default y if ROCKCHIP_RK3368 || ROCKCHIP_RK3328 216 select ROCKCHIP_BROM_HELPER 217 depends on TPL 218 help 219 Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled, 220 SPL will return to the boot rom, which will then load the U-Boot 221 binary to keep going on. 222 223config ROCKCHIP_BOOT_MODE_REG 224 hex "Rockchip boot mode flag register address" 225 default 0x200081c8 if ROCKCHIP_RK3036 226 default 0x100a0038 if ROCKCHIP_RK3128 227 default 0x20004040 if ROCKCHIP_RK3188 228 default 0x110005c8 if ROCKCHIP_RK322X 229 default 0xff730094 if ROCKCHIP_RK3288 230 default 0xff738200 if ROCKCHIP_RK3368 231 default 0xff320300 if ROCKCHIP_RK3399 232 default 0x10300580 if ROCKCHIP_RV1108 233 default 0 234 help 235 The Soc will enter to different boot mode(defined in asm/arch/boot_mode.h) 236 according to the value from this register. 237 238config ROCKCHIP_SPL_RESERVE_IRAM 239 hex "Size of IRAM reserved in SPL" 240 default 0x4000 241 help 242 SPL may need reserve memory for firmware loaded by SPL, whose load 243 address is in IRAM and may overlay with SPL text area if not 244 reserved. 245 246config ROCKCHIP_BROM_HELPER 247 bool 248 249config SPL_ROCKCHIP_EARLYRETURN_TO_BROM 250 bool "SPL requires early-return (for RK3188-style BROM) to BROM" 251 depends on SPL && ENABLE_ARM_SOC_BOOT0_HOOK 252 help 253 Some Rockchip BROM variants (e.g. on the RK3188) load the 254 first stage in segments and enter multiple times. E.g. on 255 the RK3188, the first 1KB of the first stage are loaded 256 first and entered; after returning to the BROM, the 257 remainder of the first stage is loaded, but the BROM 258 re-enters at the same address/to the same code as previously. 259 260 This enables support code in the BOOT0 hook for the SPL stage 261 to allow multiple entries. 262 263config TPL_ROCKCHIP_EARLYRETURN_TO_BROM 264 bool "TPL requires early-return (for RK3188-style BROM) to BROM" 265 depends on TPL && ENABLE_ARM_SOC_BOOT0_HOOK 266 help 267 Some Rockchip BROM variants (e.g. on the RK3188) load the 268 first stage in segments and enter multiple times. E.g. on 269 the RK3188, the first 1KB of the first stage are loaded 270 first and entered; after returning to the BROM, the 271 remainder of the first stage is loaded, but the BROM 272 re-enters at the same address/to the same code as previously. 273 274 This enables support code in the BOOT0 hook for the TPL stage 275 to allow multiple entries. 276 277config SPL_MMC_SUPPORT 278 default y if !SPL_ROCKCHIP_BACK_TO_BROM 279 280config ROCKCHIP_BLOCK_API 281 bool "Rockchip block device api support" 282 help 283 This enable read access to block device on 284 rockchip platform. 285 286config ROCKCHIP_PARAM 287 bool "Rockchip parameter support" 288 depends on ROCKCHIP_BLOCK_API 289 help 290 This enable support to get partition from rockchip 291 parameter 292 293config ROCKCHIP_RESOURCE_IMAGE 294 bool "Enable support for rockchip resource image" 295 depends on ROCKCHIP_PARAM 296 help 297 This enables support to get dtb or logo files from 298 rockchip resource image format partition. 299 300config ROCKCHIP_PARTITION_BOOT 301 bool "Enable support for booting system from rockchip format partition" 302 depends on ROCKCHIP_RESOURCE_IMAGE 303 help 304 This enables support for bootimg system from rockchip format partition 305 306config ROCKCHIP_VENDOR_PARTITION 307 bool "Rockchip vendor partition support" 308 depends on ROCKCHIP_BLOCK_API 309 help 310 This enable support to read/write vendor configuration data from/to 311 this partition 312 313config GICV2 314 bool "ARM GICv2" 315 316config GICV3 317 bool "ARM GICv3" 318 319source "arch/arm/mach-rockchip/rk3036/Kconfig" 320source "arch/arm/mach-rockchip/rk3066/Kconfig" 321source "arch/arm/mach-rockchip/rk3128/Kconfig" 322source "arch/arm/mach-rockchip/rk3188/Kconfig" 323source "arch/arm/mach-rockchip/rk322x/Kconfig" 324source "arch/arm/mach-rockchip/rk3288/Kconfig" 325source "arch/arm/mach-rockchip/rk3328/Kconfig" 326source "arch/arm/mach-rockchip/rk3368/Kconfig" 327source "arch/arm/mach-rockchip/rk3399/Kconfig" 328source "arch/arm/mach-rockchip/rv1108/Kconfig" 329endif 330