4 bool "Support Rockchip PX30"
10 select TPL_TINY_FRAMEWORK if TPL
11 select TPL_NEEDS_SEPARATE_STACK if TPL
12 imply SPL_SEPARATE_BSS
15 select DEBUG_UART_BOARD_INIT
16 imply ROCKCHIP_COMMON_BOARD
17 imply SPL_ROCKCHIP_COMMON_BOARD
19 The Rockchip PX30 is a ARM-based SoC with a quad-core Cortex-A35
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.
24 config ROCKCHIP_RK3036
25 bool "Support Rockchip RK3036"
29 imply USB_FUNCTION_ROCKUSB
31 imply ROCKCHIP_COMMON_BOARD
33 The Rockchip RK3036 is a ARM-based SoC with a dual-core Cortex-A7
34 including NEON and GPU, Mali-400 graphics, several DDR3 options
35 and video codec support. Peripherals include Gigabit Ethernet,
36 USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
38 config ROCKCHIP_RK3066
39 bool "Support Rockchip RK3066"
41 select SPL_BOARD_INIT if SPL
46 select TPL_ROCKCHIP_BACK_TO_BROM
47 select TPL_ROCKCHIP_EARLYRETURN_TO_BROM
48 imply ROCKCHIP_COMMON_BOARD
49 imply SPL_ROCKCHIP_COMMON_BOARD
51 imply TPL_ROCKCHIP_COMMON_BOARD
54 The Rockchip RK3066 is a ARM-based SoC with a dual-core Cortex-A9
55 including NEON and GPU, 512KB L2 cache, Mali-400 graphics, two
56 video interfaces, several memory options and video codec support.
57 Peripherals include Fast Ethernet, USB2 host and OTG, SDIO, I2S,
58 UART, SPI, I2C and PWMs.
60 config ROCKCHIP_RK3128
61 bool "Support Rockchip RK3128"
63 imply ROCKCHIP_COMMON_BOARD
65 The Rockchip RK3128 is a ARM-based SoC with a quad-core Cortex-A7
66 including NEON and GPU, Mali-400 graphics, several DDR3 options
67 and video codec support. Peripherals include Gigabit Ethernet,
68 USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
70 config ROCKCHIP_RK3188
71 bool "Support Rockchip RK3188"
73 select SPL_BOARD_INIT if SPL
80 select SPL_DRIVERS_MISC
81 select SPL_ROCKCHIP_EARLYRETURN_TO_BROM
82 select SPL_ROCKCHIP_BACK_TO_BROM
83 select BOARD_LATE_INIT
84 imply ROCKCHIP_COMMON_BOARD
85 imply SPL_ROCKCHIP_COMMON_BOARD
87 The Rockchip RK3188 is a ARM-based SoC with a quad-core Cortex-A9
88 including NEON and GPU, 512KB L2 cache, Mali-400 graphics, two
89 video interfaces, several memory options and video codec support.
90 Peripherals include Fast Ethernet, USB2 host and OTG, SDIO, I2S,
91 UART, SPI, I2C and PWMs.
93 config ROCKCHIP_RK322X
94 bool "Support Rockchip RK3228/RK3229"
104 select TPL_NEEDS_SEPARATE_STACK if TPL
105 select SPL_DRIVERS_MISC
106 imply ROCKCHIP_COMMON_BOARD
108 imply SPL_ROCKCHIP_COMMON_BOARD
110 imply TPL_ROCKCHIP_COMMON_BOARD
111 select TPL_LIBCOMMON_SUPPORT
112 select TPL_LIBGENERIC_SUPPORT
114 The Rockchip RK3229 is a ARM-based SoC with a dual-core Cortex-A7
115 including NEON and GPU, Mali-400 graphics, several DDR3 options
116 and video codec support. Peripherals include Gigabit Ethernet,
117 USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
119 config ROCKCHIP_RK3288
120 bool "Support Rockchip RK3288"
122 select OF_BOARD_SETUP
123 select SKIP_LOWLEVEL_INIT_ONLY
127 imply PRE_CONSOLE_BUFFER
128 imply ROCKCHIP_COMMON_BOARD
129 imply SPL_ROCKCHIP_COMMON_BOARD
132 imply TPL_DRIVERS_MISC
133 imply TPL_LIBCOMMON_SUPPORT
134 imply TPL_LIBGENERIC_SUPPORT
135 imply TPL_NEEDS_SEPARATE_STACK
137 imply TPL_OF_PLATDATA
140 imply TPL_ROCKCHIP_COMMON_BOARD
143 imply USB_FUNCTION_ROCKUSB
146 The Rockchip RK3288 is a ARM-based SoC with a quad-core Cortex-A17
147 including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
148 video interfaces supporting HDMI and eDP, several DDR3 options
149 and video codec support. Peripherals include Gigabit Ethernet,
150 USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
152 config ROCKCHIP_RK3308
153 bool "Support Rockchip RK3308"
155 select DEBUG_UART_BOARD_INIT
160 select SPL_ATF_NO_PLATFORM_PARAM
162 imply ROCKCHIP_COMMON_BOARD
163 imply SPL_ROCKCHIP_COMMON_BOARD
170 imply SPL_SEPARATE_BSS
172 The Rockchip RK3308 is a ARM-based Soc which embedded with quad
173 Cortex-A35 and highly integrated audio interfaces.
175 config ROCKCHIP_RK3328
176 bool "Support Rockchip RK3328"
182 select TPL_NEEDS_SEPARATE_STACK if TPL
183 imply ROCKCHIP_COMMON_BOARD
184 imply ROCKCHIP_SDRAM_COMMON
185 imply SPL_ROCKCHIP_COMMON_BOARD
188 imply SPL_SEPARATE_BSS
189 select ENABLE_ARM_SOC_BOOT0_HOOK
190 select DEBUG_UART_BOARD_INIT
193 The Rockchip RK3328 is a ARM-based SoC with a quad-core Cortex-A53.
194 including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
195 video interfaces supporting HDMI and eDP, several DDR3 options
196 and video codec support. Peripherals include Gigabit Ethernet,
197 USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
199 config ROCKCHIP_RK3368
200 bool "Support Rockchip RK3368"
204 select TPL_NEEDS_SEPARATE_STACK if TPL
205 imply ROCKCHIP_COMMON_BOARD
206 imply SPL_ROCKCHIP_COMMON_BOARD
207 imply SPL_SEPARATE_BSS
210 imply TPL_ROCKCHIP_COMMON_BOARD
212 The Rockchip RK3368 is a ARM-based SoC with a octa-core (organised
213 into a big and little cluster with 4 cores each) Cortex-A53 including
214 AdvSIMD, 512KB L2 cache (for the big cluster) and 256 KB L2 cache
215 (for the little cluster), PowerVR G6110 based graphics, one video
216 output processor supporting LVDS/HDMI/eDP, several DDR3 options and
219 On-chip peripherals include Gigabit Ethernet, USB2 host and OTG, SDIO,
220 I2S, UARTs, SPI, I2C and PWMs.
222 config ROCKCHIP_RK3399
223 bool "Support Rockchip RK3399"
229 select SPL_BOARD_INIT if SPL
231 select SPL_CLK if SPL
232 select SPL_PINCTRL if SPL
233 select SPL_RAM if SPL
234 select SPL_REGMAP if SPL
235 select SPL_SYSCON if SPL
236 select TPL_NEEDS_SEPARATE_STACK if TPL
237 select SPL_SEPARATE_BSS
239 select SPL_DRIVERS_MISC
247 select DM_REGULATOR_FIXED
248 select BOARD_LATE_INIT
249 imply PARTITION_TYPE_GUID
250 imply PRE_CONSOLE_BUFFER
251 imply ROCKCHIP_COMMON_BOARD
252 imply ROCKCHIP_SDRAM_COMMON
253 imply SPL_ATF_NO_PLATFORM_PARAM if SPL_ATF
254 imply SPL_ROCKCHIP_COMMON_BOARD
256 imply TPL_LIBCOMMON_SUPPORT
257 imply TPL_LIBGENERIC_SUPPORT
258 imply TPL_SYS_MALLOC_SIMPLE
259 imply TPL_DRIVERS_MISC
266 imply TPL_TINY_MEMSET
267 imply TPL_ROCKCHIP_COMMON_BOARD
268 imply SYS_BOOTCOUNT_SINGLEWORD if BOOTCOUNT_LIMIT
269 imply CMD_BOOTCOUNT if BOOTCOUNT_LIMIT
271 The Rockchip RK3399 is a ARM-based SoC with a dual-core Cortex-A72
272 and quad-core Cortex-A53.
273 including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
274 video interfaces supporting HDMI and eDP, several DDR3 options
275 and video codec support. Peripherals include Gigabit Ethernet,
276 USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
278 config ROCKCHIP_RK3568
279 bool "Support Rockchip RK3568"
288 select BOARD_LATE_INIT
289 select DM_REGULATOR_FIXED
291 imply ROCKCHIP_COMMON_BOARD
293 The Rockchip RK3568 is a ARM-based SoC with quad-core Cortex-A55,
294 including NEON and GPU, 512K L3 cache, Mali-G52 based graphics,
295 two video interfaces supporting HDMI and eDP, several DDR3 options
296 and video codec support. Peripherals include Gigabit Ethernet,
297 USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
299 config ROCKCHIP_RV1108
300 bool "Support Rockchip RV1108"
302 imply ROCKCHIP_COMMON_BOARD
304 The Rockchip RV1108 is a ARM-based SoC with a single-core Cortex-A7
307 config ROCKCHIP_RV1126
308 bool "Support Rockchip RV1126"
310 select SKIP_LOWLEVEL_INIT_ONLY
313 select TPL_NEEDS_SEPARATE_STACK
314 select TPL_ROCKCHIP_BACK_TO_BROM
322 select ROCKCHIP_SDRAM_COMMON
326 select DM_REGULATOR_FIXED
328 select REGULATOR_RK8XX
330 select BOARD_LATE_INIT
331 imply ROCKCHIP_COMMON_BOARD
333 imply TPL_LIBCOMMON_SUPPORT
334 imply TPL_LIBGENERIC_SUPPORT
336 imply TPL_OF_PLATDATA
338 imply TPL_ROCKCHIP_COMMON_BOARD
342 imply SPL_DRIVERS_MISC
343 imply SPL_LIBCOMMON_SUPPORT
344 imply SPL_LIBGENERIC_SUPPORT
348 imply SPL_ROCKCHIP_COMMON_BOARD
352 config ROCKCHIP_USB_UART
353 bool "Route uart output to usb pins"
355 Rockchip SoCs have the ability to route the signals of the debug
356 uart through the d+ and d- pins of a specific usb phy to enable
357 some form of closed-case debugging. With this option supported
358 SoCs will enable this routing as a debug measure.
360 config SPL_ROCKCHIP_BACK_TO_BROM
361 bool "SPL returns to bootrom"
362 default y if ROCKCHIP_RK3036
363 select ROCKCHIP_BROM_HELPER
364 select SPL_BOOTROM_SUPPORT
367 Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled,
368 SPL will return to the boot rom, which will then load the U-Boot
369 binary to keep going on.
371 config TPL_ROCKCHIP_BACK_TO_BROM
372 bool "TPL returns to bootrom"
374 select ROCKCHIP_BROM_HELPER
375 select TPL_BOOTROM_SUPPORT
378 Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled,
379 SPL will return to the boot rom, which will then load the U-Boot
380 binary to keep going on.
382 config ROCKCHIP_COMMON_BOARD
383 bool "Rockchip common board file"
385 Rockchip SoCs have similar boot process, Common board file is mainly
386 in charge of common process of board_init() and board_late_init() for
389 config SPL_ROCKCHIP_COMMON_BOARD
390 bool "Rockchip SPL common board file"
393 Rockchip SoCs have similar boot process, SPL is mainly in charge of
394 load and boot Trust ATF/U-Boot firmware, and DRAM init if there is
395 no TPL for the board.
397 config TPL_ROCKCHIP_COMMON_BOARD
398 bool "Rockchip TPL common board file"
401 Rockchip SoCs have similar boot process, prefer to use TPL for DRAM
402 init and back to bootrom, and SPL as Trust ATF/U-Boot loader. TPL
403 common board is a basic TPL board init which can be shared for most
404 of SoCs to avoid copy-paste for different SoCs.
406 config ROCKCHIP_EXTERNAL_TPL
407 bool "Use external TPL binary"
408 default y if ROCKCHIP_RK3568
410 Some Rockchip SoCs require an external TPL to initialize DRAM.
411 Enable this option and build with ROCKCHIP_TPL=/path/to/ddr.bin to
412 include the external TPL in the image built by binman.
414 config ROCKCHIP_BOOT_MODE_REG
415 hex "Rockchip boot mode flag register address"
417 The Soc will enter to different boot mode(defined in asm/arch-rockchip/boot_mode.h)
418 according to the value from this register.
420 config ROCKCHIP_RK8XX_DISABLE_BOOT_ON_POWERON
421 bool "Disable device boot on power plug-in"
422 depends on PMIC_RK8XX
425 Say Y here to prevent the device from booting up because of a plug-in
426 event. When set, the device will boot briefly to determine why it was
427 powered on, and if it was determined because of a plug-in event
428 instead of a button press event it will shut back off.
430 config ROCKCHIP_STIMER
431 bool "Rockchip STIMER support"
434 Enable Rockchip STIMER support.
436 config ROCKCHIP_STIMER_BASE
438 depends on ROCKCHIP_STIMER
440 config ROCKCHIP_SPL_RESERVE_IRAM
441 hex "Size of IRAM reserved in SPL"
444 SPL may need reserve memory for firmware loaded by SPL, whose load
445 address is in IRAM and may overlay with SPL text area if not
448 config ROCKCHIP_BROM_HELPER
451 config SPL_ROCKCHIP_EARLYRETURN_TO_BROM
452 bool "SPL requires early-return (for RK3188-style BROM) to BROM"
453 depends on SPL && ENABLE_ARM_SOC_BOOT0_HOOK
455 Some Rockchip BROM variants (e.g. on the RK3188) load the
456 first stage in segments and enter multiple times. E.g. on
457 the RK3188, the first 1KB of the first stage are loaded
458 first and entered; after returning to the BROM, the
459 remainder of the first stage is loaded, but the BROM
460 re-enters at the same address/to the same code as previously.
462 This enables support code in the BOOT0 hook for the SPL stage
463 to allow multiple entries.
465 config TPL_ROCKCHIP_EARLYRETURN_TO_BROM
466 bool "TPL requires early-return (for RK3188-style BROM) to BROM"
467 depends on TPL && ENABLE_ARM_SOC_BOOT0_HOOK
469 Some Rockchip BROM variants (e.g. on the RK3188) load the
470 first stage in segments and enter multiple times. E.g. on
471 the RK3188, the first 1KB of the first stage are loaded
472 first and entered; after returning to the BROM, the
473 remainder of the first stage is loaded, but the BROM
474 re-enters at the same address/to the same code as previously.
476 This enables support code in the BOOT0 hook for the TPL stage
477 to allow multiple entries.
480 default y if !SPL_ROCKCHIP_BACK_TO_BROM
482 config ROCKCHIP_SPI_IMAGE
483 bool "Build a SPI image for rockchip"
485 Some Rockchip SoCs support booting from SPI flash. Enable this
486 option to produce a SPI-flash image containing U-Boot. The image
487 is built by binman. U-Boot sits near the start of the image.
489 config LNX_KRNL_IMG_TEXT_OFFSET_BASE
492 source "arch/arm/mach-rockchip/px30/Kconfig"
493 source "arch/arm/mach-rockchip/rk3036/Kconfig"
494 source "arch/arm/mach-rockchip/rk3066/Kconfig"
495 source "arch/arm/mach-rockchip/rk3128/Kconfig"
496 source "arch/arm/mach-rockchip/rk3188/Kconfig"
497 source "arch/arm/mach-rockchip/rk322x/Kconfig"
498 source "arch/arm/mach-rockchip/rk3288/Kconfig"
499 source "arch/arm/mach-rockchip/rk3308/Kconfig"
500 source "arch/arm/mach-rockchip/rk3328/Kconfig"
501 source "arch/arm/mach-rockchip/rk3368/Kconfig"
502 source "arch/arm/mach-rockchip/rk3399/Kconfig"
503 source "arch/arm/mach-rockchip/rk3568/Kconfig"
504 source "arch/arm/mach-rockchip/rv1108/Kconfig"
505 source "arch/arm/mach-rockchip/rv1126/Kconfig"