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
290 imply ROCKCHIP_COMMON_BOARD
292 The Rockchip RK3568 is a ARM-based SoC with quad-core Cortex-A55,
293 including NEON and GPU, 512K L3 cache, Mali-G52 based graphics,
294 two video interfaces supporting HDMI and eDP, several DDR3 options
295 and video codec support. Peripherals include Gigabit Ethernet,
296 USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
298 config ROCKCHIP_RV1108
299 bool "Support Rockchip RV1108"
301 imply ROCKCHIP_COMMON_BOARD
303 The Rockchip RV1108 is a ARM-based SoC with a single-core Cortex-A7
306 config ROCKCHIP_RV1126
307 bool "Support Rockchip RV1126"
309 select SKIP_LOWLEVEL_INIT_ONLY
312 select TPL_NEEDS_SEPARATE_STACK
313 select TPL_ROCKCHIP_BACK_TO_BROM
321 select ROCKCHIP_SDRAM_COMMON
325 select DM_REGULATOR_FIXED
327 select REGULATOR_RK8XX
329 select BOARD_LATE_INIT
330 imply ROCKCHIP_COMMON_BOARD
332 imply TPL_LIBCOMMON_SUPPORT
333 imply TPL_LIBGENERIC_SUPPORT
335 imply TPL_OF_PLATDATA
337 imply TPL_ROCKCHIP_COMMON_BOARD
341 imply SPL_DRIVERS_MISC
342 imply SPL_LIBCOMMON_SUPPORT
343 imply SPL_LIBGENERIC_SUPPORT
347 imply SPL_ROCKCHIP_COMMON_BOARD
351 config ROCKCHIP_USB_UART
352 bool "Route uart output to usb pins"
354 Rockchip SoCs have the ability to route the signals of the debug
355 uart through the d+ and d- pins of a specific usb phy to enable
356 some form of closed-case debugging. With this option supported
357 SoCs will enable this routing as a debug measure.
359 config SPL_ROCKCHIP_BACK_TO_BROM
360 bool "SPL returns to bootrom"
361 default y if ROCKCHIP_RK3036
362 select ROCKCHIP_BROM_HELPER
363 select SPL_BOOTROM_SUPPORT
366 Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled,
367 SPL will return to the boot rom, which will then load the U-Boot
368 binary to keep going on.
370 config TPL_ROCKCHIP_BACK_TO_BROM
371 bool "TPL returns to bootrom"
373 select ROCKCHIP_BROM_HELPER
374 select TPL_BOOTROM_SUPPORT
377 Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled,
378 SPL will return to the boot rom, which will then load the U-Boot
379 binary to keep going on.
381 config ROCKCHIP_COMMON_BOARD
382 bool "Rockchip common board file"
384 Rockchip SoCs have similar boot process, Common board file is mainly
385 in charge of common process of board_init() and board_late_init() for
388 config SPL_ROCKCHIP_COMMON_BOARD
389 bool "Rockchip SPL common board file"
392 Rockchip SoCs have similar boot process, SPL is mainly in charge of
393 load and boot Trust ATF/U-Boot firmware, and DRAM init if there is
394 no TPL for the board.
396 config TPL_ROCKCHIP_COMMON_BOARD
397 bool "Rockchip TPL common board file"
400 Rockchip SoCs have similar boot process, prefer to use TPL for DRAM
401 init and back to bootrom, and SPL as Trust ATF/U-Boot loader. TPL
402 common board is a basic TPL board init which can be shared for most
403 of SoCs to avoid copy-paste for different SoCs.
405 config ROCKCHIP_EXTERNAL_TPL
406 bool "Use external TPL binary"
407 default y if ROCKCHIP_RK3568
409 Some Rockchip SoCs require an external TPL to initialize DRAM.
410 Enable this option and build with ROCKCHIP_TPL=/path/to/ddr.bin to
411 include the external TPL in the image built by binman.
413 config ROCKCHIP_BOOT_MODE_REG
414 hex "Rockchip boot mode flag register address"
416 The Soc will enter to different boot mode(defined in asm/arch-rockchip/boot_mode.h)
417 according to the value from this register.
419 config ROCKCHIP_RK8XX_DISABLE_BOOT_ON_POWERON
420 bool "Disable device boot on power plug-in"
421 depends on PMIC_RK8XX
424 Say Y here to prevent the device from booting up because of a plug-in
425 event. When set, the device will boot briefly to determine why it was
426 powered on, and if it was determined because of a plug-in event
427 instead of a button press event it will shut back off.
429 config ROCKCHIP_STIMER
430 bool "Rockchip STIMER support"
433 Enable Rockchip STIMER support.
435 config ROCKCHIP_STIMER_BASE
437 depends on ROCKCHIP_STIMER
439 config ROCKCHIP_SPL_RESERVE_IRAM
440 hex "Size of IRAM reserved in SPL"
443 SPL may need reserve memory for firmware loaded by SPL, whose load
444 address is in IRAM and may overlay with SPL text area if not
447 config ROCKCHIP_BROM_HELPER
450 config SPL_ROCKCHIP_EARLYRETURN_TO_BROM
451 bool "SPL requires early-return (for RK3188-style BROM) to BROM"
452 depends on SPL && ENABLE_ARM_SOC_BOOT0_HOOK
454 Some Rockchip BROM variants (e.g. on the RK3188) load the
455 first stage in segments and enter multiple times. E.g. on
456 the RK3188, the first 1KB of the first stage are loaded
457 first and entered; after returning to the BROM, the
458 remainder of the first stage is loaded, but the BROM
459 re-enters at the same address/to the same code as previously.
461 This enables support code in the BOOT0 hook for the SPL stage
462 to allow multiple entries.
464 config TPL_ROCKCHIP_EARLYRETURN_TO_BROM
465 bool "TPL requires early-return (for RK3188-style BROM) to BROM"
466 depends on TPL && ENABLE_ARM_SOC_BOOT0_HOOK
468 Some Rockchip BROM variants (e.g. on the RK3188) load the
469 first stage in segments and enter multiple times. E.g. on
470 the RK3188, the first 1KB of the first stage are loaded
471 first and entered; after returning to the BROM, the
472 remainder of the first stage is loaded, but the BROM
473 re-enters at the same address/to the same code as previously.
475 This enables support code in the BOOT0 hook for the TPL stage
476 to allow multiple entries.
479 default y if !SPL_ROCKCHIP_BACK_TO_BROM
481 config ROCKCHIP_SPI_IMAGE
482 bool "Build a SPI image for rockchip"
484 Some Rockchip SoCs support booting from SPI flash. Enable this
485 option to produce a SPI-flash image containing U-Boot. The image
486 is built by binman. U-Boot sits near the start of the image.
488 config LNX_KRNL_IMG_TEXT_OFFSET_BASE
491 source "arch/arm/mach-rockchip/px30/Kconfig"
492 source "arch/arm/mach-rockchip/rk3036/Kconfig"
493 source "arch/arm/mach-rockchip/rk3066/Kconfig"
494 source "arch/arm/mach-rockchip/rk3128/Kconfig"
495 source "arch/arm/mach-rockchip/rk3188/Kconfig"
496 source "arch/arm/mach-rockchip/rk322x/Kconfig"
497 source "arch/arm/mach-rockchip/rk3288/Kconfig"
498 source "arch/arm/mach-rockchip/rk3308/Kconfig"
499 source "arch/arm/mach-rockchip/rk3328/Kconfig"
500 source "arch/arm/mach-rockchip/rk3368/Kconfig"
501 source "arch/arm/mach-rockchip/rk3399/Kconfig"
502 source "arch/arm/mach-rockchip/rk3568/Kconfig"
503 source "arch/arm/mach-rockchip/rv1108/Kconfig"
504 source "arch/arm/mach-rockchip/rv1126/Kconfig"