1if ARCH_ROCKCHIP 2 3config ROCKCHIP_PX30 4 bool "Support Rockchip PX30" 5 select ARM64 6 select SUPPORT_SPL 7 select SUPPORT_TPL 8 select SPL 9 select TPL 10 select TPL_TINY_FRAMEWORK if TPL 11 select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL 12 select TPL_NEEDS_SEPARATE_STACK if TPL 13 imply SPL_SEPARATE_BSS 14 select SPL_SERIAL_SUPPORT 15 select TPL_SERIAL_SUPPORT 16 select DEBUG_UART_BOARD_INIT 17 imply ROCKCHIP_COMMON_BOARD 18 imply SPL_ROCKCHIP_COMMON_BOARD 19 help 20 The Rockchip PX30 is a ARM-based SoC with a quad-core Cortex-A35 21 including NEON and GPU, Mali-400 graphics, several DDR3 options 22 and video codec support. Peripherals include Gigabit Ethernet, 23 USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs. 24 25config ROCKCHIP_RK3036 26 bool "Support Rockchip RK3036" 27 select CPU_V7A 28 select SUPPORT_SPL 29 select SPL 30 imply USB_FUNCTION_ROCKUSB 31 imply CMD_ROCKUSB 32 imply ROCKCHIP_COMMON_BOARD 33 help 34 The Rockchip RK3036 is a ARM-based SoC with a dual-core Cortex-A7 35 including NEON and GPU, Mali-400 graphics, several DDR3 options 36 and video codec support. Peripherals include Gigabit Ethernet, 37 USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs. 38 39config ROCKCHIP_RK3128 40 bool "Support Rockchip RK3128" 41 select CPU_V7A 42 imply ROCKCHIP_COMMON_BOARD 43 help 44 The Rockchip RK3128 is a ARM-based SoC with a quad-core Cortex-A7 45 including NEON and GPU, Mali-400 graphics, several DDR3 options 46 and video codec support. Peripherals include Gigabit Ethernet, 47 USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs. 48 49config ROCKCHIP_RK3188 50 bool "Support Rockchip RK3188" 51 select CPU_V7A 52 select SPL_BOARD_INIT if SPL 53 select SUPPORT_SPL 54 select SPL 55 select SPL_CLK 56 select SPL_REGMAP 57 select SPL_SYSCON 58 select SPL_RAM 59 select SPL_DRIVERS_MISC_SUPPORT 60 select SPL_ROCKCHIP_EARLYRETURN_TO_BROM 61 select SPL_ROCKCHIP_BACK_TO_BROM 62 select BOARD_LATE_INIT 63 imply ROCKCHIP_COMMON_BOARD 64 imply SPL_ROCKCHIP_COMMON_BOARD 65 help 66 The Rockchip RK3188 is a ARM-based SoC with a quad-core Cortex-A9 67 including NEON and GPU, 512KB L2 cache, Mali-400 graphics, two 68 video interfaces, several memory options and video codec support. 69 Peripherals include Fast Ethernet, USB2 host and OTG, SDIO, I2S, 70 UART, SPI, I2C and PWMs. 71 72config ROCKCHIP_RK322X 73 bool "Support Rockchip RK3228/RK3229" 74 select CPU_V7A 75 select SUPPORT_SPL 76 select SUPPORT_TPL 77 select SPL 78 select SPL_DM 79 select SPL_OF_LIBFDT 80 select TPL 81 select TPL_DM 82 select TPL_OF_LIBFDT 83 select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL 84 select TPL_NEEDS_SEPARATE_STACK if TPL 85 select SPL_DRIVERS_MISC_SUPPORT 86 imply ROCKCHIP_COMMON_BOARD 87 imply SPL_SERIAL_SUPPORT 88 imply SPL_ROCKCHIP_COMMON_BOARD 89 imply TPL_SERIAL_SUPPORT 90 imply TPL_ROCKCHIP_COMMON_BOARD 91 select TPL_LIBCOMMON_SUPPORT 92 select TPL_LIBGENERIC_SUPPORT 93 help 94 The Rockchip RK3229 is a ARM-based SoC with a dual-core Cortex-A7 95 including NEON and GPU, Mali-400 graphics, several DDR3 options 96 and video codec support. Peripherals include Gigabit Ethernet, 97 USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs. 98 99config ROCKCHIP_RK3288 100 bool "Support Rockchip RK3288" 101 select CPU_V7A 102 select OF_BOARD_SETUP 103 select SUPPORT_SPL 104 select SPL 105 select SUPPORT_TPL 106 imply PRE_CONSOLE_BUFFER 107 imply ROCKCHIP_COMMON_BOARD 108 imply SPL_ROCKCHIP_COMMON_BOARD 109 imply TPL_CLK 110 imply TPL_DM 111 imply TPL_DRIVERS_MISC_SUPPORT 112 imply TPL_LIBCOMMON_SUPPORT 113 imply TPL_LIBGENERIC_SUPPORT 114 imply TPL_NEEDS_SEPARATE_TEXT_BASE 115 imply TPL_NEEDS_SEPARATE_STACK 116 imply TPL_OF_CONTROL 117 imply TPL_OF_PLATDATA 118 imply TPL_RAM 119 imply TPL_REGMAP 120 imply TPL_ROCKCHIP_COMMON_BOARD 121 imply TPL_SERIAL_SUPPORT 122 imply TPL_SYSCON 123 imply USB_FUNCTION_ROCKUSB 124 imply CMD_ROCKUSB 125 help 126 The Rockchip RK3288 is a ARM-based SoC with a quad-core Cortex-A17 127 including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two 128 video interfaces supporting HDMI and eDP, several DDR3 options 129 and video codec support. Peripherals include Gigabit Ethernet, 130 USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs. 131 132config ROCKCHIP_RK3308 133 bool "Support Rockchip RK3308" 134 select ARM64 135 select DEBUG_UART_BOARD_INIT 136 select SUPPORT_SPL 137 select SUPPORT_TPL 138 select SPL 139 select SPL_ATF 140 select SPL_ATF_NO_PLATFORM_PARAM 141 select SPL_LOAD_FIT 142 imply ROCKCHIP_COMMON_BOARD 143 imply SPL_ROCKCHIP_COMMON_BOARD 144 imply SPL_CLK 145 imply SPL_REGMAP 146 imply SPL_SYSCON 147 imply SPL_RAM 148 imply SPL_SERIAL_SUPPORT 149 imply TPL_SERIAL_SUPPORT 150 imply SPL_SEPARATE_BSS 151 help 152 The Rockchip RK3308 is a ARM-based Soc which embedded with quad 153 Cortex-A35 and highly integrated audio interfaces. 154 155config ROCKCHIP_RK3328 156 bool "Support Rockchip RK3328" 157 select ARM64 158 select SUPPORT_SPL 159 select SPL 160 select SUPPORT_TPL 161 select TPL 162 select TPL_NEEDS_SEPARATE_TEXT_BASE if TPL 163 select TPL_NEEDS_SEPARATE_STACK if TPL 164 imply ROCKCHIP_COMMON_BOARD 165 imply ROCKCHIP_SDRAM_COMMON 166 imply SPL_ROCKCHIP_COMMON_BOARD 167 imply SPL_SERIAL_SUPPORT 168 imply TPL_SERIAL_SUPPORT 169 imply SPL_SEPARATE_BSS 170 select ENABLE_ARM_SOC_BOOT0_HOOK 171 select DEBUG_UART_BOARD_INIT 172 select SYS_NS16550 173 help 174 The Rockchip RK3328 is a ARM-based SoC with a quad-core Cortex-A53. 175 including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two 176 video interfaces supporting HDMI and eDP, several DDR3 options 177 and video codec support. Peripherals include Gigabit Ethernet, 178 USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs. 179 180config ROCKCHIP_RK3368 181 bool "Support Rockchip RK3368" 182 select ARM64 183 select SUPPORT_SPL 184 select SUPPORT_TPL 185 select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL 186 select TPL_NEEDS_SEPARATE_STACK if TPL 187 imply ROCKCHIP_COMMON_BOARD 188 imply SPL_ROCKCHIP_COMMON_BOARD 189 imply SPL_SEPARATE_BSS 190 imply SPL_SERIAL_SUPPORT 191 imply TPL_SERIAL_SUPPORT 192 imply TPL_ROCKCHIP_COMMON_BOARD 193 help 194 The Rockchip RK3368 is a ARM-based SoC with a octa-core (organised 195 into a big and little cluster with 4 cores each) Cortex-A53 including 196 AdvSIMD, 512KB L2 cache (for the big cluster) and 256 KB L2 cache 197 (for the little cluster), PowerVR G6110 based graphics, one video 198 output processor supporting LVDS/HDMI/eDP, several DDR3 options and 199 video codec support. 200 201 On-chip peripherals include Gigabit Ethernet, USB2 host and OTG, SDIO, 202 I2S, UARTs, SPI, I2C and PWMs. 203 204config ROCKCHIP_RK3399 205 bool "Support Rockchip RK3399" 206 select ARM64 207 select SUPPORT_SPL 208 select SUPPORT_TPL 209 select SPL 210 select SPL_ATF 211 select SPL_BOARD_INIT if SPL 212 select SPL_LOAD_FIT 213 select SPL_CLK if SPL 214 select SPL_PINCTRL if SPL 215 select SPL_RAM if SPL 216 select SPL_REGMAP if SPL 217 select SPL_SYSCON if SPL 218 select TPL_NEEDS_SEPARATE_TEXT_BASE if TPL 219 select TPL_NEEDS_SEPARATE_STACK if TPL 220 select SPL_SEPARATE_BSS 221 select SPL_SERIAL_SUPPORT 222 select SPL_DRIVERS_MISC_SUPPORT 223 select CLK 224 select FIT 225 select PINCTRL 226 select RAM 227 select REGMAP 228 select SYSCON 229 select DM_PMIC 230 select DM_REGULATOR_FIXED 231 select BOARD_LATE_INIT 232 imply PRE_CONSOLE_BUFFER 233 imply ROCKCHIP_COMMON_BOARD 234 imply ROCKCHIP_SDRAM_COMMON 235 imply SPL_ATF_NO_PLATFORM_PARAM if SPL_ATF 236 imply SPL_ROCKCHIP_COMMON_BOARD 237 imply TPL_SERIAL_SUPPORT 238 imply TPL_LIBCOMMON_SUPPORT 239 imply TPL_LIBGENERIC_SUPPORT 240 imply TPL_SYS_MALLOC_SIMPLE 241 imply TPL_DRIVERS_MISC_SUPPORT 242 imply TPL_OF_CONTROL 243 imply TPL_DM 244 imply TPL_REGMAP 245 imply TPL_SYSCON 246 imply TPL_RAM 247 imply TPL_CLK 248 imply TPL_TINY_MEMSET 249 imply TPL_ROCKCHIP_COMMON_BOARD 250 imply SYS_BOOTCOUNT_SINGLEWORD if BOOTCOUNT_LIMIT 251 imply CMD_BOOTCOUNT if BOOTCOUNT_LIMIT 252 help 253 The Rockchip RK3399 is a ARM-based SoC with a dual-core Cortex-A72 254 and quad-core Cortex-A53. 255 including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two 256 video interfaces supporting HDMI and eDP, several DDR3 options 257 and video codec support. Peripherals include Gigabit Ethernet, 258 USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs. 259 260config ROCKCHIP_RV1108 261 bool "Support Rockchip RV1108" 262 select CPU_V7A 263 imply ROCKCHIP_COMMON_BOARD 264 help 265 The Rockchip RV1108 is a ARM-based SoC with a single-core Cortex-A7 266 and a DSP. 267 268config ROCKCHIP_USB_UART 269 bool "Route uart output to usb pins" 270 help 271 Rockchip SoCs have the ability to route the signals of the debug 272 uart through the d+ and d- pins of a specific usb phy to enable 273 some form of closed-case debugging. With this option supported 274 SoCs will enable this routing as a debug measure. 275 276config SPL_ROCKCHIP_BACK_TO_BROM 277 bool "SPL returns to bootrom" 278 default y if ROCKCHIP_RK3036 279 select ROCKCHIP_BROM_HELPER 280 select SPL_BOOTROM_SUPPORT 281 depends on SPL 282 help 283 Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled, 284 SPL will return to the boot rom, which will then load the U-Boot 285 binary to keep going on. 286 287config TPL_ROCKCHIP_BACK_TO_BROM 288 bool "TPL returns to bootrom" 289 default y 290 select ROCKCHIP_BROM_HELPER 291 select TPL_BOOTROM_SUPPORT 292 depends on TPL 293 help 294 Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled, 295 SPL will return to the boot rom, which will then load the U-Boot 296 binary to keep going on. 297 298config ROCKCHIP_COMMON_BOARD 299 bool "Rockchip common board file" 300 help 301 Rockchip SoCs have similar boot process, Common board file is mainly 302 in charge of common process of board_init() and board_late_init() for 303 U-Boot proper. 304 305config SPL_ROCKCHIP_COMMON_BOARD 306 bool "Rockchip SPL common board file" 307 depends on SPL 308 help 309 Rockchip SoCs have similar boot process, SPL is mainly in charge of 310 load and boot Trust ATF/U-Boot firmware, and DRAM init if there is 311 no TPL for the board. 312 313config TPL_ROCKCHIP_COMMON_BOARD 314 bool "Rockchip TPL common board file" 315 depends on TPL 316 help 317 Rockchip SoCs have similar boot process, prefer to use TPL for DRAM 318 init and back to bootrom, and SPL as Trust ATF/U-Boot loader. TPL 319 common board is a basic TPL board init which can be shared for most 320 of SoCs to avoid copy-paste for different SoCs. 321 322config ROCKCHIP_BOOT_MODE_REG 323 hex "Rockchip boot mode flag register address" 324 help 325 The Soc will enter to different boot mode(defined in asm/arch-rockchip/boot_mode.h) 326 according to the value from this register. 327 328config ROCKCHIP_SPL_RESERVE_IRAM 329 hex "Size of IRAM reserved in SPL" 330 default 0 331 help 332 SPL may need reserve memory for firmware loaded by SPL, whose load 333 address is in IRAM and may overlay with SPL text area if not 334 reserved. 335 336config ROCKCHIP_BROM_HELPER 337 bool 338 339config SPL_ROCKCHIP_EARLYRETURN_TO_BROM 340 bool "SPL requires early-return (for RK3188-style BROM) to BROM" 341 depends on SPL && ENABLE_ARM_SOC_BOOT0_HOOK 342 help 343 Some Rockchip BROM variants (e.g. on the RK3188) load the 344 first stage in segments and enter multiple times. E.g. on 345 the RK3188, the first 1KB of the first stage are loaded 346 first and entered; after returning to the BROM, the 347 remainder of the first stage is loaded, but the BROM 348 re-enters at the same address/to the same code as previously. 349 350 This enables support code in the BOOT0 hook for the SPL stage 351 to allow multiple entries. 352 353config TPL_ROCKCHIP_EARLYRETURN_TO_BROM 354 bool "TPL requires early-return (for RK3188-style BROM) to BROM" 355 depends on TPL && ENABLE_ARM_SOC_BOOT0_HOOK 356 help 357 Some Rockchip BROM variants (e.g. on the RK3188) load the 358 first stage in segments and enter multiple times. E.g. on 359 the RK3188, the first 1KB of the first stage are loaded 360 first and entered; after returning to the BROM, the 361 remainder of the first stage is loaded, but the BROM 362 re-enters at the same address/to the same code as previously. 363 364 This enables support code in the BOOT0 hook for the TPL stage 365 to allow multiple entries. 366 367config SPL_MMC_SUPPORT 368 default y if !SPL_ROCKCHIP_BACK_TO_BROM 369 370config ROCKCHIP_SPI_IMAGE 371 bool "Build a SPI image for rockchip" 372 depends on HAS_ROM 373 help 374 Some Rockchip SoCs support booting from SPI flash. Enable this 375 option to produce a 4MB SPI-flash image (called u-boot.rom) 376 containing U-Boot. The image is built by binman. U-Boot sits near 377 the start of the image. 378 379source "arch/arm/mach-rockchip/px30/Kconfig" 380source "arch/arm/mach-rockchip/rk3036/Kconfig" 381source "arch/arm/mach-rockchip/rk3128/Kconfig" 382source "arch/arm/mach-rockchip/rk3188/Kconfig" 383source "arch/arm/mach-rockchip/rk322x/Kconfig" 384source "arch/arm/mach-rockchip/rk3288/Kconfig" 385source "arch/arm/mach-rockchip/rk3308/Kconfig" 386source "arch/arm/mach-rockchip/rk3328/Kconfig" 387source "arch/arm/mach-rockchip/rk3368/Kconfig" 388source "arch/arm/mach-rockchip/rk3399/Kconfig" 389source "arch/arm/mach-rockchip/rv1108/Kconfig" 390endif 391