xref: /rk3399_rockchip-uboot/arch/arm/mach-rockchip/Kconfig (revision de479f92fac8b00a2b04c4f1fc75f40ac7407e0e)
12444dae5SSimon Glassif ARCH_ROCKCHIP
22444dae5SSimon Glass
310e73f7bSKever Yangconfig ROCKCHIP_PX30
410e73f7bSKever Yang	bool "Support Rockchip PX30"
56db22b33SJoseph Chen	select ARM64 if !ARM64_BOOT_AARCH32
660848109SJoseph Chen	select GICV2
793f9f019SJoseph Chen	select ARM_SMCCC
8f6d4196eSYouMin Chen	select SUPPORT_SPL
9f6d4196eSYouMin Chen	select SUPPORT_TPL
106db22b33SJoseph Chen	select SPL if !ARM64_BOOT_AARCH32
116db22b33SJoseph Chen	select TPL if !ARM64_BOOT_AARCH32
12f6d4196eSYouMin Chen	select TPL_TINY_FRAMEWORK if TPL
13f6d4196eSYouMin Chen
141024781fSKever Yang	imply SPL_SEPARATE_BSS
15f6d4196eSYouMin Chen	imply SPL_SERIAL_SUPPORT
16f6d4196eSYouMin Chen	imply TPL_SERIAL_SUPPORT
1710e73f7bSKever Yang	help
1810e73f7bSKever Yang	  The Rockchip PX30 is a ARM-based SoC with a quad-core Cortex-A35
1910e73f7bSKever Yang	  including NEON and GPU, Mali-400 graphics, several DDR3 options
2010e73f7bSKever Yang	  and video codec support. Peripherals include Gigabit Ethernet,
2110e73f7bSKever Yang	  USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
2210e73f7bSKever Yang
23a08ded54SJoseph Chenif ROCKCHIP_PX30
24a08ded54SJoseph Chen
25f6d4196eSYouMin Chenconfig TPL_LDSCRIPT
26f6d4196eSYouMin Chen	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
27f6d4196eSYouMin Chen
28f6d4196eSYouMin Chenconfig TPL_TEXT_BASE
29f6d4196eSYouMin Chen	default 0xff0e1000
30f6d4196eSYouMin Chen
31f6d4196eSYouMin Chenconfig TPL_MAX_SIZE
32f6d4196eSYouMin Chen	default 10240
33f6d4196eSYouMin Chen
34a08ded54SJoseph Chenconfig ROCKCHIP_RK3326
35a08ded54SJoseph Chen	bool "Support Rockchip RK3326 "
36a08ded54SJoseph Chen	help
37a08ded54SJoseph Chen	  RK3326 can use most code from PX30, but at some situations we have
38a08ded54SJoseph Chen	  to distinguish between RK3326 and PX30, so this macro gives help.
39a08ded54SJoseph Chen	  It is usually selected in rk3326 board defconfig.
40a08ded54SJoseph Chenendif
41a08ded54SJoseph Chen
42041cdb5fSHeiko Stübnerconfig ROCKCHIP_RK3036
43041cdb5fSHeiko Stübner	bool "Support Rockchip RK3036"
44041cdb5fSHeiko Stübner	select CPU_V7
45a381bcf5SKever Yang	select SUPPORT_SPL
46cdfcfbccSDavid Wu	select SUPPORT_TPL
47a381bcf5SKever Yang	select SPL
48cdfcfbccSDavid Wu	select TPL
49cdfcfbccSDavid Wu	select BOARD_LATE_INIT
50cdfcfbccSDavid Wu	select ROCKCHIP_BROM_HELPER
51cdfcfbccSDavid Wu	select TPL_NEEDS_SEPARATE_TEXT_BASE if TPL
52cdfcfbccSDavid Wu	select TPL_NEEDS_SEPARATE_STACK if TPL
536ba2d5cbSJoseph Chen	select ARM_SMCCC
54041cdb5fSHeiko Stübner	help
55041cdb5fSHeiko Stübner	  The Rockchip RK3036 is a ARM-based SoC with a dual-core Cortex-A7
56041cdb5fSHeiko Stübner	  including NEON and GPU, Mali-400 graphics, several DDR3 options
57041cdb5fSHeiko Stübner	  and video codec support. Peripherals include Gigabit Ethernet,
58041cdb5fSHeiko Stübner	  USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
59041cdb5fSHeiko Stübner
606a13bde3SKever Yangconfig ROCKCHIP_RK3128
616a13bde3SKever Yang	bool "Support Rockchip RK3128"
626a13bde3SKever Yang	select CPU_V7
63f3d84b4aSJoseph Chen	select GICV2
64965c1b10SJoseph Chen	select ARM_SMCCC
656a13bde3SKever Yang	help
666a13bde3SKever Yang	  The Rockchip RK3128 is a ARM-based SoC with a quad-core Cortex-A7
676a13bde3SKever Yang	  including NEON and GPU, Mali-400 graphics, several DDR3 options
686a13bde3SKever Yang	  and video codec support. Peripherals include Gigabit Ethernet,
696a13bde3SKever Yang	  USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
706a13bde3SKever Yang
71e1048023SJoseph Chenif ROCKCHIP_RK3128
72e1048023SJoseph Chen
73e1048023SJoseph Chenconfig ROCKCHIP_RK3126
74e1048023SJoseph Chen	bool "Support Rockchip RK3126 "
75e1048023SJoseph Chen	help
76e1048023SJoseph Chen	  RK3126 can use most code from RK3128, but at some situations we have
77e1048023SJoseph Chen	  to distinguish between RK3126 and RK3128, so this macro gives help.
78e1048023SJoseph Chen	  It is usually selected in rk3126 board defconfig.
79f094cb29SShunqian Zheng
80f094cb29SShunqian Zhengconfig ROCKCHIP_PX3SE
81f094cb29SShunqian Zheng	bool "Support Rockchip PX3SE"
82f094cb29SShunqian Zheng	help
83f094cb29SShunqian Zheng	  PX3SE is a variant of RK3128, it shares codes with RK3128, but we still
84f094cb29SShunqian Zheng	  need this macro to distinguish PX3SE and RK3128.
85e1048023SJoseph Chenendif
86e1048023SJoseph Chen
87578306eaSPaweł Jaroszconfig ROCKCHIP_RK3066
88578306eaSPaweł Jarosz	bool "Support Rockchip RK3066"
89578306eaSPaweł Jarosz	select CPU_V7
90578306eaSPaweł Jarosz	select SUPPORT_SPL
91578306eaSPaweł Jarosz	select SUPPORT_TPL
92578306eaSPaweł Jarosz	select SPL
93578306eaSPaweł Jarosz	select TPL
94578306eaSPaweł Jarosz	select BOARD_LATE_INIT
95578306eaSPaweł Jarosz	select ROCKCHIP_BROM_HELPER
96ffb06671SKever Yang	select SPL_ROCKCHIP_EARLYRETURN_TO_BROM
97578306eaSPaweł Jarosz	help
98578306eaSPaweł Jarosz	  The Rockchip RK3066 is a ARM-based SoC with a dual-core Cortex-A9
99578306eaSPaweł Jarosz	  including NEON and GPU, Mali-400 graphics, several DDR3 options
100578306eaSPaweł Jarosz	  and video codec support. Peripherals include ethernet, USB2 host
101578306eaSPaweł Jarosz	  and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
102578306eaSPaweł Jarosz
1030a2be69fSHeiko Stübnerconfig ROCKCHIP_RK3188
1040a2be69fSHeiko Stübner	bool "Support Rockchip RK3188"
1050a2be69fSHeiko Stübner	select CPU_V7
1060680f1b1SLey Foon Tan	select SPL_BOARD_INIT if SPL
1070a2be69fSHeiko Stübner	select SUPPORT_SPL
1080a2be69fSHeiko Stübner	select SPL
109397403c7SPhilipp Tomsich	select SPL_CLK
110397403c7SPhilipp Tomsich	select SPL_REGMAP
111397403c7SPhilipp Tomsich	select SPL_SYSCON
112397403c7SPhilipp Tomsich	select SPL_RAM
113397403c7SPhilipp Tomsich	select SPL_DRIVERS_MISC_SUPPORT
114885cc66fSPhilipp Tomsich	select SPL_ROCKCHIP_EARLYRETURN_TO_BROM
115008a610bSHeiko Stübner	select BOARD_LATE_INIT
1160a2be69fSHeiko Stübner	select ROCKCHIP_BROM_HELPER
1170a2be69fSHeiko Stübner	help
1180a2be69fSHeiko Stübner	  The Rockchip RK3188 is a ARM-based SoC with a quad-core Cortex-A9
1190a2be69fSHeiko Stübner	  including NEON and GPU, 512KB L2 cache, Mali-400 graphics, two
1200a2be69fSHeiko Stübner	  video interfaces, several memory options and video codec support.
1210a2be69fSHeiko Stübner	  Peripherals include Fast Ethernet, USB2 host and OTG, SDIO, I2S,
1220a2be69fSHeiko Stübner	  UART, SPI, I2C and PWMs.
1230a2be69fSHeiko Stübner
124168eef7aSKever Yangconfig ROCKCHIP_RK322X
125168eef7aSKever Yang	bool "Support Rockchip RK3228/RK3229"
126168eef7aSKever Yang	select CPU_V7
127168eef7aSKever Yang	select SUPPORT_SPL
12806d27531SKever Yang	select SUPPORT_TPL
129168eef7aSKever Yang	select SPL
13006d27531SKever Yang	select TPL
13106d27531SKever Yang	select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL
13206d27531SKever Yang	select TPL_NEEDS_SEPARATE_STACK if TPL
13306d27531SKever Yang	select SPL_DRIVERS_MISC_SUPPORT
13406d27531SKever Yang	imply SPL_SERIAL_SUPPORT
13506d27531SKever Yang	imply TPL_SERIAL_SUPPORT
136168eef7aSKever Yang	select ROCKCHIP_BROM_HELPER
13706d27531SKever Yang	select TPL_LIBCOMMON_SUPPORT
13806d27531SKever Yang	select TPL_LIBGENERIC_SUPPORT
139d1d395d7SJoseph Chen	select GICV2
1406ba2d5cbSJoseph Chen	select ARM_SMCCC
141168eef7aSKever Yang	help
142168eef7aSKever Yang	  The Rockchip RK3229 is a ARM-based SoC with a dual-core Cortex-A7
143168eef7aSKever Yang	  including NEON and GPU, Mali-400 graphics, several DDR3 options
144168eef7aSKever Yang	  and video codec support. Peripherals include Gigabit Ethernet,
145168eef7aSKever Yang	  USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
146168eef7aSKever Yang
147ad9ba815SJoseph Chenif ROCKCHIP_RK322X
148ad9ba815SJoseph Chen
149ad9ba815SJoseph Chenconfig ROCKCHIP_RK3128X
150ad9ba815SJoseph Chen	bool "Support Rockchip RK3128X "
151ad9ba815SJoseph Chen	help
152ad9ba815SJoseph Chen	  RK3128X can use most code from RK322X, but at some situations we have
153ad9ba815SJoseph Chen	  to distinguish between RK3128X and RK322X, so this macro gives help.
154ad9ba815SJoseph Chen	  It is usually selected in RK3128X board defconfig.
155ad9ba815SJoseph Chenendif
156ad9ba815SJoseph Chen
1572444dae5SSimon Glassconfig ROCKCHIP_RK3288
1582444dae5SSimon Glass	bool "Support Rockchip RK3288"
159e0f5dbcbSAndreas Färber	select CPU_V7
1600680f1b1SLey Foon Tan	select SPL_BOARD_INIT if SPL
161a381bcf5SKever Yang	select SUPPORT_SPL
1620adb4998SKever Yang	select SUPPORT_TPL
163a381bcf5SKever Yang	select SPL
1640adb4998SKever Yang	select TPL
1650adb4998SKever Yang	select TPL_NEEDS_SEPARATE_TEXT_BASE if TPL
1660adb4998SKever Yang	select TPL_NEEDS_SEPARATE_STACK if TPL
1670adb4998SKever Yang	imply TPL_SERIAL_SUPPORT
16886a31622SJoseph Chen	select GICV2
1696ba2d5cbSJoseph Chen	select ARM_SMCCC
1703ddbcffeSKever Yang	select SPL_OPTEE
1713ddbcffeSKever Yang	select FIT
1723ddbcffeSKever Yang	select SPL_LOAD_FIT
1730adb4998SKever Yang	select TPL_LIBCOMMON_SUPPORT
1740adb4998SKever Yang	select TPL_LIBGENERIC_SUPPORT
1750adb4998SKever Yang	select TPL_SYS_MALLOC_SIMPLE
1760adb4998SKever Yang	select TPL_BOOTROM_SUPPORT
1770adb4998SKever Yang	select TPL_DRIVERS_MISC_SUPPORT
1780adb4998SKever Yang	select TPL_OF_CONTROL
1790adb4998SKever Yang	select TPL_DM
1800adb4998SKever Yang	select TPL_REGMAP
1810adb4998SKever Yang	select TPL_SYSCON
1820adb4998SKever Yang	select TPL_RAM
1830adb4998SKever Yang	select TPL_CLK
1840adb4998SKever Yang	select TPL_TINY_MEMSET
1852444dae5SSimon Glass	help
1862444dae5SSimon Glass	  The Rockchip RK3288 is a ARM-based SoC with a quad-core Cortex-A17
1872444dae5SSimon Glass	  including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
1882444dae5SSimon Glass	  video interfaces supporting HDMI and eDP, several DDR3 options
1892444dae5SSimon Glass	  and video codec support. Peripherals include Gigabit Ethernet,
190ef904bf2SAndreas Färber	  USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
1912444dae5SSimon Glass
1920adb4998SKever Yangif ROCKCHIP_RK3288
1933ddbcffeSKever Yangconfig SPL_FIT_GENERATOR
1943ddbcffeSKever Yang	default "arch/arm/mach-rockchip/make_fit_optee.sh"
1950adb4998SKever Yang
1960adb4998SKever Yangconfig TPL_LDSCRIPT
1970adb4998SKever Yang	default "arch/arm/mach-rockchip/u-boot-tpl.lds"
1980adb4998SKever Yang
1990adb4998SKever Yangconfig TPL_TEXT_BASE
2000adb4998SKever Yang	default 0xff704000
2010adb4998SKever Yang
2020adb4998SKever Yangconfig TPL_MAX_SIZE
203231617c5SKever Yang	default 32768
2040adb4998SKever Yang
2050adb4998SKever Yangconfig TPL_STACK
2060adb4998SKever Yang	default 0xff718000
2070adb4998SKever Yang
2080adb4998SKever Yangendif
2090adb4998SKever Yang
2103d78ac3eSAndy Yanconfig ROCKCHIP_RK3308
2113d78ac3eSAndy Yan	bool "Support Rockchip RK3308"
212b4bed602SAndy Yan	select ARM64 if !ARM64_BOOT_AARCH32
2136ba2d5cbSJoseph Chen	select ARM_SMCCC
214ba572d7cSJoseph Chen	imply GICV2
215951488b0SAndy Yan	select SUPPORT_SPL if !ARM64_BOOT_AARCH32
216951488b0SAndy Yan	select SUPPORT_TPL if !ARM64_BOOT_AARCH32
217951488b0SAndy Yan	select SPL if !ARM64_BOOT_AARCH32
218951488b0SAndy Yan	select TPL if !ARM64_BOOT_AARCH32
219951488b0SAndy Yan	imply SPL_CLK
220951488b0SAndy Yan	imply SPL_REGMAP
221951488b0SAndy Yan	imply SPL_SYSCON
222951488b0SAndy Yan	imply SPL_RAM
223951488b0SAndy Yan	imply SPL_SERIAL_SUPPORT
224951488b0SAndy Yan	imply TPL_SERIAL_SUPPORT
225951488b0SAndy Yan	imply SPL_SEPARATE_BSS
2263d78ac3eSAndy Yan	help
2273d78ac3eSAndy Yan	  The Rockchip RK3308 is a ARM-based Soc which embeded with quad
2283d78ac3eSAndy Yan	  Cortex-A35 and highly integrated audio interfaces.
2293d78ac3eSAndy Yan
230379e9cabSZhihuan Heif ROCKCHIP_RK3308
231379e9cabSZhihuan He
232379e9cabSZhihuan Heconfig TPL_LDSCRIPT
233379e9cabSZhihuan He	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
234379e9cabSZhihuan He
235379e9cabSZhihuan Heconfig TPL_TEXT_BASE
236379e9cabSZhihuan He	default 0xfff81000
237379e9cabSZhihuan He
238379e9cabSZhihuan Heconfig TPL_MAX_SIZE
239355cdcf3SZhihuan He	default 10240
240379e9cabSZhihuan He
241379e9cabSZhihuan Heconfig TPL_STACK
242379e9cabSZhihuan He	default 0xfff84000
243379e9cabSZhihuan He
244379e9cabSZhihuan Heendif
245379e9cabSZhihuan He
24685a3cfb8SKever Yangconfig ROCKCHIP_RK3328
24785a3cfb8SKever Yang	bool "Support Rockchip RK3328"
24885a3cfb8SKever Yang	select ARM64
24955da6f73SJoseph Chen	select GICV2
250430b0146SKever Yang	select SUPPORT_SPL
251430b0146SKever Yang	select SUPPORT_TPL
252430b0146SKever Yang	select SPL
253430b0146SKever Yang	select TPL
254430b0146SKever Yang	select TPL_NEEDS_SEPARATE_TEXT_BASE if TPL
255430b0146SKever Yang	select TPL_NEEDS_SEPARATE_STACK if TPL
256430b0146SKever Yang	imply SPL_SERIAL_SUPPORT
257430b0146SKever Yang	imply TPL_SERIAL_SUPPORT
258430b0146SKever Yang	imply SPL_SEPARATE_BSS
2596ba2d5cbSJoseph Chen	select ARM_SMCCC
26085a3cfb8SKever Yang	help
26185a3cfb8SKever Yang	  The Rockchip RK3328 is a ARM-based SoC with a quad-core Cortex-A53.
26285a3cfb8SKever Yang	  including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
26385a3cfb8SKever Yang	  video interfaces supporting HDMI and eDP, several DDR3 options
26485a3cfb8SKever Yang	  and video codec support. Peripherals include Gigabit Ethernet,
26585a3cfb8SKever Yang	  USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
26685a3cfb8SKever Yang
267430b0146SKever Yangif ROCKCHIP_RK3328
268430b0146SKever Yang
269430b0146SKever Yangconfig TPL_LDSCRIPT
270430b0146SKever Yang	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
271430b0146SKever Yang
272430b0146SKever Yangconfig TPL_TEXT_BASE
273430b0146SKever Yang        default 0xff091000
274430b0146SKever Yang
275430b0146SKever Yangconfig TPL_MAX_SIZE
276430b0146SKever Yang        default 28672
277430b0146SKever Yang
278430b0146SKever Yangconfig TPL_STACK
279430b0146SKever Yang        default 0xff098000
280430b0146SKever Yang
281430b0146SKever Yangendif
282430b0146SKever Yang
28337a0c600SAndreas Färberconfig ROCKCHIP_RK3368
28437a0c600SAndreas Färber	bool "Support Rockchip RK3368"
28537a0c600SAndreas Färber	select ARM64
2865071457eSPhilipp Tomsich	select SUPPORT_SPL
2875071457eSPhilipp Tomsich	select SUPPORT_TPL
2884cf4378eSPhilipp Tomsich	select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL
2894cf4378eSPhilipp Tomsich	select TPL_NEEDS_SEPARATE_STACK if TPL
2905071457eSPhilipp Tomsich	imply SPL_SEPARATE_BSS
2915071457eSPhilipp Tomsich	imply SPL_SERIAL_SUPPORT
2925071457eSPhilipp Tomsich	imply TPL_SERIAL_SUPPORT
293503f955fSJoseph Chen	select GICV2
2946ba2d5cbSJoseph Chen	select ARM_SMCCC
29537a0c600SAndreas Färber	help
2969a8f009fSPhilipp Tomsich	  The Rockchip RK3368 is a ARM-based SoC with a octa-core (organised
2979a8f009fSPhilipp Tomsich	  into a big and little cluster with 4 cores each) Cortex-A53 including
2989a8f009fSPhilipp Tomsich	  AdvSIMD, 512KB L2 cache (for the big cluster) and 256 KB L2 cache
2999a8f009fSPhilipp Tomsich	  (for the little cluster), PowerVR G6110 based graphics, one video
3009a8f009fSPhilipp Tomsich	  output processor supporting LVDS/HDMI/eDP, several DDR3 options and
3019a8f009fSPhilipp Tomsich	  video codec support.
3029a8f009fSPhilipp Tomsich
3039a8f009fSPhilipp Tomsich	  On-chip peripherals include Gigabit Ethernet, USB2 host and OTG, SDIO,
3049a8f009fSPhilipp Tomsich	  I2S, UARTs, SPI, I2C and PWMs.
30537a0c600SAndreas Färber
306d9d1242bSPhilipp Tomsichif ROCKCHIP_RK3368
307d9d1242bSPhilipp Tomsich
308f67455c9SKever Yangconfig ROCKCHIP_PX5
309f67455c9SKever Yang	bool "Support Rockchip PX5"
310f67455c9SKever Yang	help
311f67455c9SKever Yang	  PX5 is a variant of RK3368, it shares codes with RK3368, but we still
312f67455c9SKever Yang	  need this macro to distinguish PX5 and RK3368.
313f67455c9SKever Yang
314d9d1242bSPhilipp Tomsichconfig TPL_LDSCRIPT
315d9d1242bSPhilipp Tomsich	default "arch/arm/mach-rockchip/rk3368/u-boot-tpl.lds"
316d9d1242bSPhilipp Tomsich
3175aa49af3SPhilipp Tomsichconfig TPL_TEXT_BASE
3185aa49af3SPhilipp Tomsich        default 0xff8c1000
3195aa49af3SPhilipp Tomsich
3205aa49af3SPhilipp Tomsichconfig TPL_MAX_SIZE
3215aa49af3SPhilipp Tomsich        default 28672
3225aa49af3SPhilipp Tomsich
3235aa49af3SPhilipp Tomsichconfig TPL_STACK
3245aa49af3SPhilipp Tomsich        default 0xff8cffff
3255aa49af3SPhilipp Tomsich
326d9d1242bSPhilipp Tomsichendif
327d9d1242bSPhilipp Tomsich
328a381bcf5SKever Yangconfig ROCKCHIP_RK3399
329a381bcf5SKever Yang	bool "Support Rockchip RK3399"
330a381bcf5SKever Yang	select ARM64
33166e87cc8SKever Yang	select SUPPORT_SPL
332c7b9ee6bSKever Yang	select SUPPORT_TPL
33366e87cc8SKever Yang	select SPL
334c7b9ee6bSKever Yang	select TPL
335c7b9ee6bSKever Yang	select TPL_NEEDS_SEPARATE_TEXT_BASE if TPL
336c7b9ee6bSKever Yang	select TPL_NEEDS_SEPARATE_STACK if TPL
337c7b9ee6bSKever Yang	imply TPL_SERIAL_SUPPORT
33866e87cc8SKever Yang	select SPL_SEPARATE_BSS
339c0508e42SPhilipp Tomsich	select SPL_SERIAL_SUPPORT
340c0508e42SPhilipp Tomsich	select SPL_DRIVERS_MISC_SUPPORT
3418f557da1SJoseph Chen	select GICV3
342be55ced3SAndy Yan	select BOARD_LATE_INIT
34347a9f8fcSAndy Yan	select ROCKCHIP_BROM_HELPER
3446ba2d5cbSJoseph Chen	select ARM_SMCCC
345c7b9ee6bSKever Yang	select TPL_LIBCOMMON_SUPPORT
346c7b9ee6bSKever Yang	select TPL_LIBGENERIC_SUPPORT
347c7b9ee6bSKever Yang	select TPL_SYS_MALLOC_SIMPLE
348c7b9ee6bSKever Yang	select TPL_BOOTROM_SUPPORT
349c7b9ee6bSKever Yang	select TPL_DRIVERS_MISC_SUPPORT
350c7b9ee6bSKever Yang	select TPL_OF_CONTROL
351c7b9ee6bSKever Yang	select TPL_DM
352c7b9ee6bSKever Yang	select TPL_REGMAP
353c7b9ee6bSKever Yang	select TPL_SYSCON
354c7b9ee6bSKever Yang	select TPL_RAM
355c7b9ee6bSKever Yang	select TPL_CLK
356c7b9ee6bSKever Yang	select TPL_TINY_MEMSET
357a381bcf5SKever Yang	help
358a381bcf5SKever Yang	  The Rockchip RK3399 is a ARM-based SoC with a dual-core Cortex-A72
359a381bcf5SKever Yang	  and quad-core Cortex-A53.
360a381bcf5SKever Yang	  including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
361a381bcf5SKever Yang	  video interfaces supporting HDMI and eDP, several DDR3 options
362a381bcf5SKever Yang	  and video codec support. Peripherals include Gigabit Ethernet,
363a381bcf5SKever Yang	  USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
364a381bcf5SKever Yang
365c7b9ee6bSKever Yangif ROCKCHIP_RK3399
366c7b9ee6bSKever Yang
367d60cbc66SJoseph Chenconfig ROCKCHIP_RK3399PRO
368d60cbc66SJoseph Chen	bool "Support Rockchip RK3399Pro"
369d60cbc66SJoseph Chen
370c7b9ee6bSKever Yangconfig TPL_LDSCRIPT
371c7b9ee6bSKever Yang	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
372c7b9ee6bSKever Yang
373c7b9ee6bSKever Yangconfig TPL_TEXT_BASE
374c7b9ee6bSKever Yang        default 0xff8c2000
375c7b9ee6bSKever Yang
376c7b9ee6bSKever Yangconfig TPL_MAX_SIZE
377c7b9ee6bSKever Yang        default 188416
378c7b9ee6bSKever Yang
379c7b9ee6bSKever Yangconfig TPL_STACK
380c7b9ee6bSKever Yang        default 0xff8effff
381c7b9ee6bSKever Yang
382c7b9ee6bSKever Yangendif
383c7b9ee6bSKever Yang
38485e5c210SXuhui Linconfig ROCKCHIP_RK3506
38585e5c210SXuhui Lin	bool "Support Rockchip RK3506"
38685e5c210SXuhui Lin	select CPU_V7
38785e5c210SXuhui Lin	select ROCKCHIP_BROM_HELPER
38885e5c210SXuhui Lin	select DEBUG_UART_BOARD_INIT
38985e5c210SXuhui Lin	select ARM_SMCCC
39085e5c210SXuhui Lin	select GICV2
39185e5c210SXuhui Lin	imply SUPPORT_SPL
39285e5c210SXuhui Lin	imply SUPPORT_TPL
39385e5c210SXuhui Lin	imply SPL
39485e5c210SXuhui Lin	imply TPL
39585e5c210SXuhui Lin	imply TPL_SERIAL_SUPPORT
39685e5c210SXuhui Lin	imply SPL_SERIAL_SUPPORT
39785e5c210SXuhui Lin	imply TPL_TINY_FRAMEWORK if TPL
39885e5c210SXuhui Lin	imply BOARD_LATE_INIT
39985e5c210SXuhui Lin	imply ROCKCHIP_GPIO_V2
40085e5c210SXuhui Lin
40185e5c210SXuhui Lin	help
40285e5c210SXuhui Lin	  The Rockchip RK3506 is a ARM-based SoC with a tri-core Cortex-A7.
40385e5c210SXuhui Lin
40485e5c210SXuhui Linif ROCKCHIP_RK3506
40585e5c210SXuhui Lin
40685e5c210SXuhui Linconfig TPL_LDSCRIPT
40785e5c210SXuhui Lin	default "arch/arm/mach-rockchip/u-boot-tpl.lds"
40885e5c210SXuhui Lin
40985e5c210SXuhui Linconfig TPL_TEXT_BASE
41085e5c210SXuhui Lin	default 0xfff81000
41185e5c210SXuhui Lin
41285e5c210SXuhui Linconfig TPL_MAX_SIZE
41385e5c210SXuhui Lin	default 45056
41485e5c210SXuhui Lin
41585e5c210SXuhui Linendif
41685e5c210SXuhui Lin
417c6f7c1a3SJoseph Chenconfig ROCKCHIP_RK3528
418c6f7c1a3SJoseph Chen	bool "Support Rockchip RK3528"
419c6f7c1a3SJoseph Chen	select ARM64 if !ARM64_BOOT_AARCH32
420c6f7c1a3SJoseph Chen	select GICV2 if !ARM64_BOOT_AARCH32
421c6f7c1a3SJoseph Chen	select SUPPORT_TPL if !ARM64_BOOT_AARCH32
422c6f7c1a3SJoseph Chen	select SUPPORT_SPL if !ARM64_BOOT_AARCH32
423c6f7c1a3SJoseph Chen	select TPL_TINY_FRAMEWORK if TPL
424c6f7c1a3SJoseph Chen	select DEBUG_UART_BOARD_INIT
425c6f7c1a3SJoseph Chen	imply TPL if !ARM64_BOOT_AARCH32
426c6f7c1a3SJoseph Chen	imply SPL if !ARM64_BOOT_AARCH32
427c6f7c1a3SJoseph Chen	imply TPL_SERIAL_SUPPORT
428c6f7c1a3SJoseph Chen	help
429c6f7c1a3SJoseph Chen	  The Rockchip RK3528 is a ARM-based SoC with a quad-core Cortex-A53.
430c6f7c1a3SJoseph Chen
431c6f7c1a3SJoseph Chenif ROCKCHIP_RK3528
432c6f7c1a3SJoseph Chen
433c6f7c1a3SJoseph Chenconfig TPL_LDSCRIPT
434c6f7c1a3SJoseph Chen	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
435c6f7c1a3SJoseph Chen
436c6f7c1a3SJoseph Chenconfig TPL_TEXT_BASE
437c6f7c1a3SJoseph Chen	default 0xfe481000
438c6f7c1a3SJoseph Chen
439c6f7c1a3SJoseph Chenconfig TPL_MAX_SIZE
440c6f7c1a3SJoseph Chen	default 61440
441c6f7c1a3SJoseph Chen
442c6f7c1a3SJoseph Chenendif
443c6f7c1a3SJoseph Chen
44456f7d184SJoseph Chenconfig ROCKCHIP_RK3562
44556f7d184SJoseph Chen	bool "Support Rockchip RK3562"
44656f7d184SJoseph Chen	select GICV2
44756f7d184SJoseph Chen	select ARM64
44856f7d184SJoseph Chen	select ARM_SMCCC
44956f7d184SJoseph Chen	select SUPPORT_TPL
45056f7d184SJoseph Chen	select SUPPORT_SPL
45156f7d184SJoseph Chen	select TPL_TINY_FRAMEWORK if TPL
45256f7d184SJoseph Chen	select DEBUG_UART_BOARD_INIT
45356f7d184SJoseph Chen	imply TPL
45456f7d184SJoseph Chen	imply SPL
45556f7d184SJoseph Chen	imply TPL_SERIAL_SUPPORT
45656f7d184SJoseph Chen	help
45756f7d184SJoseph Chen	  The Rockchip RK3562 is a ARM-based SoC with a quad-core Cortex-A53.
45856f7d184SJoseph Chen
45956f7d184SJoseph Chenif ROCKCHIP_RK3562
46056f7d184SJoseph Chen
46156f7d184SJoseph Chenconfig TPL_LDSCRIPT
46256f7d184SJoseph Chen	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
46356f7d184SJoseph Chen
46456f7d184SJoseph Chenconfig TPL_TEXT_BASE
46556f7d184SJoseph Chen	default 0xfe481000
46656f7d184SJoseph Chen
46756f7d184SJoseph Chenconfig TPL_MAX_SIZE
46856f7d184SJoseph Chen	default 61440
46956f7d184SJoseph Chen
47056f7d184SJoseph Chenendif
47156f7d184SJoseph Chen
4727e26af38SJoseph Chenconfig ROCKCHIP_RK3568
4737e26af38SJoseph Chen	bool "Support Rockchip RK3568"
474f345af8bSJoseph Chen	select ARM64 if !ARM64_BOOT_AARCH32
475a39ea685SJoseph Chen	select ARM_SMCCC
4765f73fdb1SYifeng Zhao	select GICV3 if !ARM64_BOOT_AARCH32 && !SUPPORT_USBPLUG
477f345af8bSJoseph Chen	select SUPPORT_TPL if !ARM64_BOOT_AARCH32
478f345af8bSJoseph Chen	select SUPPORT_SPL if !ARM64_BOOT_AARCH32
479bc5b1ed8SJoseph Chen	select TPL_TINY_FRAMEWORK if TPL
4807b5df4cdSYouMin Chen	select DEBUG_UART_BOARD_INIT
481f345af8bSJoseph Chen	imply TPL if !ARM64_BOOT_AARCH32
482f345af8bSJoseph Chen	imply SPL if !ARM64_BOOT_AARCH32
483bc5b1ed8SJoseph Chen	imply TPL_SERIAL_SUPPORT
4847e26af38SJoseph Chen	help
4857e26af38SJoseph Chen	  The Rockchip RK3568 is a ARM-based SoC with a quad-core Cortex-A55.
4867e26af38SJoseph Chen
487bc5b1ed8SJoseph Chenif ROCKCHIP_RK3568
488bc5b1ed8SJoseph Chen
489bc5b1ed8SJoseph Chenconfig TPL_LDSCRIPT
490bc5b1ed8SJoseph Chen	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
491bc5b1ed8SJoseph Chen
492bc5b1ed8SJoseph Chenconfig TPL_TEXT_BASE
493bc5b1ed8SJoseph Chen	default 0xfdcc1000
494bc5b1ed8SJoseph Chen
495bc5b1ed8SJoseph Chenconfig TPL_MAX_SIZE
496bc5b1ed8SJoseph Chen	default 61440
497bc5b1ed8SJoseph Chen
498bc5b1ed8SJoseph Chenendif
499bc5b1ed8SJoseph Chen
500bf72c9c9SXuhui Linconfig ROCKCHIP_RK3576
501bf72c9c9SXuhui Lin	bool "Support Rockchip RK3576"
502bf72c9c9SXuhui Lin	select ARM64
503682a1dd9SXuhui Lin	select GICV2
504bf72c9c9SXuhui Lin	select ARM_SMCCC
505bf72c9c9SXuhui Lin	select DEBUG_UART_BOARD_INIT
506bf72c9c9SXuhui Lin	select ROCKCHIP_BROM_HELPER
507bf72c9c9SXuhui Lin	select SUPPORT_SPL
508bf72c9c9SXuhui Lin	select SUPPORT_TPL
509bf72c9c9SXuhui Lin	select TPL_TINY_FRAMEWORK if TPL
510bf72c9c9SXuhui Lin	imply TPL
511bf72c9c9SXuhui Lin	imply SPL
512bf72c9c9SXuhui Lin	imply TPL_SERIAL_SUPPORT
513bf72c9c9SXuhui Lin
514bf72c9c9SXuhui Lin	help
515bf72c9c9SXuhui Lin	  The Rockchip RK3576 is a ARM-based SoC with a quad-core Cortex-A53
516bf72c9c9SXuhui Lin	  and a quad-core Cortex-A72.
517bf72c9c9SXuhui Lin
518bf72c9c9SXuhui Linif ROCKCHIP_RK3576
519bf72c9c9SXuhui Lin
520bf72c9c9SXuhui Linconfig TPL_LDSCRIPT
521bf72c9c9SXuhui Lin	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
522bf72c9c9SXuhui Lin
523bf72c9c9SXuhui Linconfig TPL_TEXT_BASE
524bf72c9c9SXuhui Lin	default 0x3ff81000
525bf72c9c9SXuhui Lin
526bf72c9c9SXuhui Linconfig TPL_MAX_SIZE
527bf72c9c9SXuhui Lin	default 61440
528bf72c9c9SXuhui Lin
529bf72c9c9SXuhui Linendif
530bf72c9c9SXuhui Lin
531e1cfe1c9SJoseph Chenconfig ROCKCHIP_RK3588
532e1cfe1c9SJoseph Chen	bool "Support Rockchip RK3588"
5331f1e8631SJoseph Chen	select ARM64 if !ARM64_BOOT_AARCH32
534e1cfe1c9SJoseph Chen	select ARM_SMCCC
535e1cfe1c9SJoseph Chen	select DEBUG_UART_BOARD_INIT
5361f1e8631SJoseph Chen	select GICV3 if !ARM64_BOOT_AARCH32 && !SUPPORT_USBPLUG
537e1cfe1c9SJoseph Chen	select ROCKCHIP_BROM_HELPER
5381f1e8631SJoseph Chen	select SUPPORT_SPL if !ARM64_BOOT_AARCH32
5391f1e8631SJoseph Chen	select SUPPORT_TPL if !ARM64_BOOT_AARCH32
540e1cfe1c9SJoseph Chen	select TPL_TINY_FRAMEWORK if TPL
5411f1e8631SJoseph Chen	imply TPL if !ARM64_BOOT_AARCH32
5421f1e8631SJoseph Chen	imply SPL if !ARM64_BOOT_AARCH32
543e1cfe1c9SJoseph Chen	imply TPL_SERIAL_SUPPORT
544e1cfe1c9SJoseph Chen	select DEBUG_UART_BOARD_INIT
545e1cfe1c9SJoseph Chen	help
546e1cfe1c9SJoseph Chen	  The Rockchip RK3588 is a ARM-based SoC with a quad-core Cortex-A55.
547e1cfe1c9SJoseph Chen
548e1cfe1c9SJoseph Chenif ROCKCHIP_RK3588
549e1cfe1c9SJoseph Chen
550e1cfe1c9SJoseph Chenconfig TPL_LDSCRIPT
551e1cfe1c9SJoseph Chen	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
552e1cfe1c9SJoseph Chen
553e1cfe1c9SJoseph Chenconfig TPL_TEXT_BASE
554d5a67874SXuhui Lin	default 0xff001000
555e1cfe1c9SJoseph Chen
556e1cfe1c9SJoseph Chenconfig TPL_MAX_SIZE
557e1cfe1c9SJoseph Chen	default 61440
558e1cfe1c9SJoseph Chenendif
559e1cfe1c9SJoseph Chen
560b8fa3d2aSJoseph Chenconfig ROCKCHIP_RK1808
561b8fa3d2aSJoseph Chen	bool "Support Rockchip RK1808"
562b8fa3d2aSJoseph Chen	select ARM64
563b8fa3d2aSJoseph Chen	select ARM_SMCCC
56473595a32SJoseph Chen	select GICV3 if !COPROCESSOR_RK1808
5653d95740aSJason Zhu	select SUPPORT_SPL if !COPROCESSOR_RK1808
5663d95740aSJason Zhu	select SUPPORT_TPL if !COPROCESSOR_RK1808
567b8fa3d2aSJoseph Chen	help
568b8fa3d2aSJoseph Chen	  The Rockchip RK1808 is a ARM-based Soc which embedded with dual
569b8fa3d2aSJoseph Chen	  Cortex-A35.
570b8fa3d2aSJoseph Chen
5712aa1fe77SJoseph Chenif ROCKCHIP_RK1808
5722aa1fe77SJoseph Chen
573760b0468SJoseph Chenconfig ROCKCHIP_RK1806
574760b0468SJoseph Chen	bool "Support Rockchip RK1806"
575760b0468SJoseph Chen	help
576760b0468SJoseph Chen	  The Rockchip RK1806 is a ARM-based Soc which embedded with dual
577760b0468SJoseph Chen	  Cortex-A35.
578760b0468SJoseph Chen
5792aa1fe77SJoseph Chenconfig COPROCESSOR_RK1808
5802aa1fe77SJoseph Chen	bool "RK1808 coprocessor"
5812aa1fe77SJoseph Chen	help
5822aa1fe77SJoseph Chen	  This indicates the RK1808 is working as a coprocessor for another
5832aa1fe77SJoseph Chen	  more powerful SoC.
5842aa1fe77SJoseph Chen
5852aa1fe77SJoseph Chenendif
5862aa1fe77SJoseph Chen
587b9dcc643SXuhui Linconfig ROCKCHIP_RV1103B
588b9dcc643SXuhui Lin	bool "Support Rockchip RV1103B"
589b9dcc643SXuhui Lin	select CPU_V7
590b9dcc643SXuhui Lin	select ARM_ZERO_CNTVOFF
591b9dcc643SXuhui Lin	select ROCKCHIP_BROM_HELPER
592b9dcc643SXuhui Lin	select DEBUG_UART_BOARD_INIT
593b9dcc643SXuhui Lin	imply SUPPORT_SPL
594b9dcc643SXuhui Lin	imply SUPPORT_TPL
595b9dcc643SXuhui Lin	imply SPL
596b9dcc643SXuhui Lin	imply TPL
597b9dcc643SXuhui Lin	imply TPL_SERIAL_SUPPORT
598b9dcc643SXuhui Lin	imply TPL_TINY_FRAMEWORK if TPL
599b9dcc643SXuhui Lin	imply BOARD_LATE_INIT
600b9dcc643SXuhui Lin	imply ROCKCHIP_GPIO_V2
601b9dcc643SXuhui Lin
602b9dcc643SXuhui Lin	help
603b9dcc643SXuhui Lin	  The Rockchip RV1103B is a ARM-based SoC with a Cortex-A7 and
604b9dcc643SXuhui Lin	  other modules.
605b9dcc643SXuhui Lin
606b9dcc643SXuhui Linif ROCKCHIP_RV1103B
607b9dcc643SXuhui Lin
608b9dcc643SXuhui Linconfig TPL_LDSCRIPT
609b9dcc643SXuhui Lin	default "arch/arm/mach-rockchip/u-boot-tpl.lds"
610b9dcc643SXuhui Lin
611b9dcc643SXuhui Linconfig TPL_TEXT_BASE
612b9dcc643SXuhui Lin	default 0x210f7000
613b9dcc643SXuhui Lin
614b9dcc643SXuhui Linconfig TPL_MAX_SIZE
615b9dcc643SXuhui Lin	default 32768
616b9dcc643SXuhui Linendif
617b9dcc643SXuhui Lin
61804e2aa7fSJoseph Chenconfig ROCKCHIP_RV1106
61904e2aa7fSJoseph Chen	bool "Support Rockchip RV1106"
62004e2aa7fSJoseph Chen	select CPU_V7
62104e2aa7fSJoseph Chen	select DEBUG_UART_BOARD_INIT
62204e2aa7fSJoseph Chen	imply SUPPORT_SPL
62304e2aa7fSJoseph Chen	imply SUPPORT_TPL
62404e2aa7fSJoseph Chen	imply SPL
62504e2aa7fSJoseph Chen	imply TPL
62604e2aa7fSJoseph Chen	imply TPL_SERIAL_SUPPORT
62704e2aa7fSJoseph Chen	imply TPL_TINY_FRAMEWORK if TPL
62804e2aa7fSJoseph Chen	imply BOARD_LATE_INIT
62904e2aa7fSJoseph Chen	imply ROCKCHIP_GPIO_V2
63004e2aa7fSJoseph Chen	help
63104e2aa7fSJoseph Chen	  The Rockchip RV1106 is a ARM-based SoC with a Cortex-A7 and
63204e2aa7fSJoseph Chen	  other modules.
63304e2aa7fSJoseph Chen
63404e2aa7fSJoseph Chenif ROCKCHIP_RV1106
63504e2aa7fSJoseph Chen
63604e2aa7fSJoseph Chenconfig TPL_LDSCRIPT
63704e2aa7fSJoseph Chen	default "arch/arm/mach-rockchip/u-boot-tpl.lds"
63804e2aa7fSJoseph Chen
63904e2aa7fSJoseph Chenconfig TPL_TEXT_BASE
64004e2aa7fSJoseph Chen	default 0xff701000
64104e2aa7fSJoseph Chen
64204e2aa7fSJoseph Chenconfig TPL_MAX_SIZE
64304e2aa7fSJoseph Chen	default 32768
64404e2aa7fSJoseph Chenendif
64504e2aa7fSJoseph Chen
6462c1e11ddSAndy Yanconfig ROCKCHIP_RV1108
6472c1e11ddSAndy Yan	bool "Support Rockchip RV1108"
6482c1e11ddSAndy Yan	select CPU_V7
64952f7b21dSZhihuan He	select SUPPORT_SPL
650491dd334SZhihuan He	select SUPPORT_TPL
65152f7b21dSZhihuan He	select SPL
652491dd334SZhihuan He	select TPL
653dfe03786SAndy Yan	select BOARD_LATE_INIT
6542c1e11ddSAndy Yan	help
6552c1e11ddSAndy Yan	  The Rockchip RV1108 is a ARM-based SoC with a single-core Cortex-A7
6562c1e11ddSAndy Yan	  and a DSP.
6572c1e11ddSAndy Yan
658491dd334SZhihuan Heif ROCKCHIP_RV1108
659491dd334SZhihuan He
660491dd334SZhihuan Heconfig TPL_LDSCRIPT
661491dd334SZhihuan He        default "arch/arm/mach-rockchip/u-boot-tpl.lds"
662491dd334SZhihuan He
663491dd334SZhihuan Heconfig TPL_TEXT_BASE
664491dd334SZhihuan He        default 0x10080800
665491dd334SZhihuan He
666491dd334SZhihuan Heconfig TPL_MAX_SIZE
667491dd334SZhihuan He        default 6144
668491dd334SZhihuan He
669491dd334SZhihuan Heconfig TPL_STACK
670491dd334SZhihuan He        default 0x10082000
671491dd334SZhihuan He
672491dd334SZhihuan Heendif
673491dd334SZhihuan He
674e7c03ac6SJoseph Chenconfig ROCKCHIP_RV1126
675e7c03ac6SJoseph Chen	bool "Support Rockchip RV1126"
6760dc03778SJoseph Chen	select CPU_V7
67741ebb2b6SJoseph Chen	imply SUPPORT_TPL
67841ebb2b6SJoseph Chen	imply SUPPORT_SPL
67941ebb2b6SJoseph Chen	imply TPL_TINY_FRAMEWORK if TPL
680c2d71f78SYouMin Chen	select DEBUG_UART_BOARD_INIT
6811e83a6cbSJoseph Chen	imply TPL
6821e83a6cbSJoseph Chen	imply SPL
6831e83a6cbSJoseph Chen	imply GICV2
6841e83a6cbSJoseph Chen	imply ARM_SMCCC
6851e83a6cbSJoseph Chen	imply BOARD_LATE_INIT
6867c7344b1SJoseph Chen	imply ROCKCHIP_GPIO_V2
687c2d71f78SYouMin Chen	imply TPL_SERIAL_SUPPORT
6880dc03778SJoseph Chen	help
689e7c03ac6SJoseph Chen	  The Rockchip RV1126 is a ARM-based SoC with a quad-core Cortex-A7
6900dc03778SJoseph Chen	  and a risc-v core.
6910dc03778SJoseph Chen
692c2d71f78SYouMin Chenif ROCKCHIP_RV1126
693c2d71f78SYouMin Chen
694c2d71f78SYouMin Chenconfig TPL_LDSCRIPT
695c2d71f78SYouMin Chen	default "arch/arm/mach-rockchip/u-boot-tpl.lds"
696c2d71f78SYouMin Chen
697c2d71f78SYouMin Chenconfig TPL_TEXT_BASE
698c2d71f78SYouMin Chen	default 0xff701000
699c2d71f78SYouMin Chen
700c2d71f78SYouMin Chenconfig TPL_MAX_SIZE
701c2d71f78SYouMin Chen	default 32768
702c2d71f78SYouMin Chenendif
703c2d71f78SYouMin Chen
704ee14d29dSPhilipp Tomsichconfig SPL_ROCKCHIP_BACK_TO_BROM
705b47ea792SXu Ziyuan	bool "SPL returns to bootrom"
706b47ea792SXu Ziyuan	default y if ROCKCHIP_RK3036
7071d845947SHeiko Stübner	select ROCKCHIP_BROM_HELPER
708ee14d29dSPhilipp Tomsich	depends on SPL
709ee14d29dSPhilipp Tomsich	help
710ee14d29dSPhilipp Tomsich	  Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled,
711ee14d29dSPhilipp Tomsich          SPL will return to the boot rom, which will then load the U-Boot
712ee14d29dSPhilipp Tomsich          binary to keep going on.
713ee14d29dSPhilipp Tomsich
714ee14d29dSPhilipp Tomsichconfig TPL_ROCKCHIP_BACK_TO_BROM
715ee14d29dSPhilipp Tomsich	bool "TPL returns to bootrom"
716c7b9ee6bSKever Yang	default y
717ee14d29dSPhilipp Tomsich	select ROCKCHIP_BROM_HELPER
718ee14d29dSPhilipp Tomsich	depends on TPL
719b47ea792SXu Ziyuan	help
720b47ea792SXu Ziyuan	  Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled,
721b47ea792SXu Ziyuan          SPL will return to the boot rom, which will then load the U-Boot
722b47ea792SXu Ziyuan          binary to keep going on.
723b47ea792SXu Ziyuan
724b4bed602SAndy Yanconfig ARM64_BOOT_AARCH32
7258a155fd4SJoseph Chen	bool "Support Boot an ARM64 on AArch32 execution state, ie. U-Boot is in AArch32"
726b4bed602SAndy Yan	select CPU_V7
727b4bed602SAndy Yan	default n
728b4bed602SAndy Yan	help
729b4bed602SAndy Yan	  If you want to boot an ARM64 processor on 32-bit mode, say y here.
730b4bed602SAndy Yan
7318a155fd4SJoseph Chenconfig ARM64_SWITCH_TO_AARCH32
7328a155fd4SJoseph Chen	bool "Support AArch64 U-Boot boot AArch32 kernel"
7338a155fd4SJoseph Chen	default n
7348a155fd4SJoseph Chen	help
7358a155fd4SJoseph Chen	  If you want AArch64 U-Boot to boot AArch32 kernel, say y here.
7368a155fd4SJoseph Chen	  This feature needs ATF to help switch the PE state.
7378a155fd4SJoseph Chen
738be55ced3SAndy Yanconfig ROCKCHIP_BOOT_MODE_REG
739be55ced3SAndy Yan	hex "Rockchip boot mode flag register address"
74010e73f7bSKever Yang	default 0xff010200 if ROCKCHIP_PX30
741be55ced3SAndy Yan	default 0x200081c8 if ROCKCHIP_RK3036
742dd9a11eaSAndy Yan	default 0x100a0038 if ROCKCHIP_RK3128
743be55ced3SAndy Yan	default 0x20004040 if ROCKCHIP_RK3188
744be55ced3SAndy Yan	default 0x110005c8 if ROCKCHIP_RK322X
745be55ced3SAndy Yan	default 0xff730094 if ROCKCHIP_RK3288
7463d78ac3eSAndy Yan	default 0xff000500 if ROCKCHIP_RK3308
7478ec39620SKever Yang	default 0xff1005c8 if ROCKCHIP_RK3328
748be55ced3SAndy Yan	default 0xff738200 if ROCKCHIP_RK3368
749be55ced3SAndy Yan	default 0xff320300 if ROCKCHIP_RK3399
75085e5c210SXuhui Lin	default 0xff910200 if ROCKCHIP_RK3506
751c6f7c1a3SJoseph Chen	default 0xff370200 if ROCKCHIP_RK3528
75233e416e0SJoseph Chen	default 0xff010220 if ROCKCHIP_RK3562
7537e26af38SJoseph Chen	default 0xfdc20200 if ROCKCHIP_RK3568
754682a1dd9SXuhui Lin	default 0x26024040 if ROCKCHIP_RK3576
7558bcae395SJoseph Chen	default 0xfd588080 if ROCKCHIP_RK3588
756b8fa3d2aSJoseph Chen	default 0xfe020200 if ROCKCHIP_RK1808
757b9dcc643SXuhui Lin	default 0x20160200 if ROCKCHIP_RV1103B
75804e2aa7fSJoseph Chen	default 0xff020200 if ROCKCHIP_RV1106
759be55ced3SAndy Yan	default 0x10300580 if ROCKCHIP_RV1108
760e7c03ac6SJoseph Chen	default 0xfe020200 if ROCKCHIP_RV1126
761be55ced3SAndy Yan	default 0
762be55ced3SAndy Yan	help
763be55ced3SAndy Yan	  The Soc will enter to different boot mode(defined in asm/arch/boot_mode.h)
764be55ced3SAndy Yan	  according to the value from this register.
765be55ced3SAndy Yan
766d5ed5c22SKever Yangconfig ROCKCHIP_STIMER_BASE
767d5ed5c22SKever Yang	hex "Rockchip Secure timer base address"
768d5ed5c22SKever Yang	default 0xff220020 if ROCKCHIP_PX30
769d5ed5c22SKever Yang	default 0x200440a0 if ROCKCHIP_RK3036
770d5ed5c22SKever Yang	default 0x2000e000 if ROCKCHIP_RK3066
771d5ed5c22SKever Yang	default 0x20018020 if ROCKCHIP_RK3126
772d5ed5c22SKever Yang	default 0x200440a0 if ROCKCHIP_RK3128
773d5ed5c22SKever Yang	default 0x2000e000 if ROCKCHIP_RK3188
774d5ed5c22SKever Yang	default 0x110d0020 if ROCKCHIP_RK322X
775d5ed5c22SKever Yang	default 0xff810020 if ROCKCHIP_RK3288
776379e9cabSZhihuan He	default 0xff1b00a0 if ROCKCHIP_RK3308
777d5ed5c22SKever Yang	default 0xff1d0020 if ROCKCHIP_RK3328
778d5ed5c22SKever Yang	default 0xff830020 if ROCKCHIP_RK3368
779d5ed5c22SKever Yang	default 0xff8680a0 if ROCKCHIP_RK3399
78085e5c210SXuhui Lin	default 0xff980000 if ROCKCHIP_RK3506
781c6f7c1a3SJoseph Chen	default 0xff620000 if ROCKCHIP_RK3528
78256f7d184SJoseph Chen	default 0xffa90020 if ROCKCHIP_RK3562
7837e26af38SJoseph Chen	default 0xfdd1c020 if ROCKCHIP_RK3568
784bf72c9c9SXuhui Lin	default 0x27400000 if ROCKCHIP_RK3576
785e1cfe1c9SJoseph Chen	default 0xfd8c8000 if ROCKCHIP_RK3588
786b9dcc643SXuhui Lin	default 0x20500000 if ROCKCHIP_RV1103B
78704e2aa7fSJoseph Chen	default 0xff590020 if ROCKCHIP_RV1106
788d5ed5c22SKever Yang	default 0x10350020 if ROCKCHIP_RV1108
789e7c03ac6SJoseph Chen	default 0xff670020 if ROCKCHIP_RV1126
790d5ed5c22SKever Yang	default 0
791d5ed5c22SKever Yang	help
792d5ed5c22SKever Yang	  The secure timer inited in SPL/TPL in secure word, ARM generic timer
793d5ed5c22SKever Yang	  works after this timer work.
794d5ed5c22SKever Yang
795e8078e90SKever Yangconfig ROCKCHIP_IRAM_START_ADDR
796e8078e90SKever Yang	hex "Rockchip Secure timer base address"
797e8078e90SKever Yang	default 0xff0e0000 if ROCKCHIP_PX30
798e8078e90SKever Yang	default 0x10080000 if ROCKCHIP_RK3036
799e8078e90SKever Yang	default 0x10080000 if ROCKCHIP_RK3128
800e8078e90SKever Yang	default 0x10080000 if ROCKCHIP_RK3188
801e8078e90SKever Yang	default 0x10080000 if ROCKCHIP_RK322X
802e8078e90SKever Yang	default 0xff700000 if ROCKCHIP_RK3288
803ade6d65fSZhihuan He	default 0xfff80000 if ROCKCHIP_RK3308
804e8078e90SKever Yang	default 0xff091000 if ROCKCHIP_RK3328
805e8078e90SKever Yang	default 0xff8c0000 if ROCKCHIP_RK3368
806e8078e90SKever Yang	default 0xff8c0000 if ROCKCHIP_RK3399
80785e5c210SXuhui Lin	default 0xfff80000 if ROCKCHIP_RK3506
808c6f7c1a3SJoseph Chen	default 0xfe480000 if ROCKCHIP_RK3528
80956f7d184SJoseph Chen	default 0xfe480000 if ROCKCHIP_RK3562
8107e26af38SJoseph Chen	default 0xfdcc0000 if ROCKCHIP_RK3568
811bf72c9c9SXuhui Lin	default 0x3ff80000 if ROCKCHIP_RK3576
812e1cfe1c9SJoseph Chen	default 0xff000000 if ROCKCHIP_RK3588
813b9dcc643SXuhui Lin	default 0x210f6000 if ROCKCHIP_RV1103B
81404e2aa7fSJoseph Chen	default 0xff6c0000 if ROCKCHIP_RV1106
815e8078e90SKever Yang	default 0x10080000 if ROCKCHIP_RV1108
816e7c03ac6SJoseph Chen	default 0xff700000 if ROCKCHIP_RV1126
817e8078e90SKever Yang	default 0
818e8078e90SKever Yang	help
819e8078e90SKever Yang	  The IRAM start addr is to locate variant of the boot device from
820e8078e90SKever Yang	  bootrom.
821e8078e90SKever Yang
822fa1392a2SKever Yangconfig ROCKCHIP_SPL_RESERVE_IRAM
823fa1392a2SKever Yang	hex "Size of IRAM reserved in SPL"
824b2870221SKever Yang	default 0
825fa1392a2SKever Yang	help
826fa1392a2SKever Yang	  SPL may need reserve memory for firmware loaded by SPL, whose load
827fa1392a2SKever Yang	  address is in IRAM and may overlay with SPL text area if not
828fa1392a2SKever Yang	  reserved.
829fa1392a2SKever Yang
8301d845947SHeiko Stübnerconfig ROCKCHIP_BROM_HELPER
8311d845947SHeiko Stübner	bool
8321d845947SHeiko Stübner
833dff737c4SPhilipp Tomsichconfig SPL_ROCKCHIP_EARLYRETURN_TO_BROM
834dff737c4SPhilipp Tomsich        bool "SPL requires early-return (for RK3188-style BROM) to BROM"
835dff737c4SPhilipp Tomsich	depends on SPL && ENABLE_ARM_SOC_BOOT0_HOOK
836dff737c4SPhilipp Tomsich	help
837dff737c4SPhilipp Tomsich	  Some Rockchip BROM variants (e.g. on the RK3188) load the
838dff737c4SPhilipp Tomsich	  first stage in segments and enter multiple times. E.g. on
839dff737c4SPhilipp Tomsich	  the RK3188, the first 1KB of the first stage are loaded
840dff737c4SPhilipp Tomsich	  first and entered; after returning to the BROM, the
841dff737c4SPhilipp Tomsich	  remainder of the first stage is loaded, but the BROM
842dff737c4SPhilipp Tomsich	  re-enters at the same address/to the same code as previously.
843dff737c4SPhilipp Tomsich
844dff737c4SPhilipp Tomsich	  This enables support code in the BOOT0 hook for the SPL stage
845dff737c4SPhilipp Tomsich	  to allow multiple entries.
846dff737c4SPhilipp Tomsich
847dff737c4SPhilipp Tomsichconfig TPL_ROCKCHIP_EARLYRETURN_TO_BROM
848dff737c4SPhilipp Tomsich        bool "TPL requires early-return (for RK3188-style BROM) to BROM"
849dff737c4SPhilipp Tomsich	depends on TPL && ENABLE_ARM_SOC_BOOT0_HOOK
850dff737c4SPhilipp Tomsich	help
851dff737c4SPhilipp Tomsich	  Some Rockchip BROM variants (e.g. on the RK3188) load the
852dff737c4SPhilipp Tomsich	  first stage in segments and enter multiple times. E.g. on
853dff737c4SPhilipp Tomsich	  the RK3188, the first 1KB of the first stage are loaded
854dff737c4SPhilipp Tomsich	  first and entered; after returning to the BROM, the
855dff737c4SPhilipp Tomsich	  remainder of the first stage is loaded, but the BROM
856dff737c4SPhilipp Tomsich	  re-enters at the same address/to the same code as previously.
857dff737c4SPhilipp Tomsich
858dff737c4SPhilipp Tomsich	  This enables support code in the BOOT0 hook for the TPL stage
859dff737c4SPhilipp Tomsich	  to allow multiple entries.
860dff737c4SPhilipp Tomsich
861230e0e09SSandy Pattersonconfig SPL_MMC_SUPPORT
862f6fef99aSZiyuan Xu	default y if !SPL_ROCKCHIP_BACK_TO_BROM && MMC
863230e0e09SSandy Patterson
86406621a79SKever Yangconfig RKIMG_BOOTLOADER
865aa1eec08SJoseph Chen	bool "Support for Rockchip platform features"
866aa1eec08SJoseph Chen	default y
86706621a79SKever Yang	help
868aa1eec08SJoseph Chen	  Actually this is a compatible configure for code compilation.
86906621a79SKever Yang
870a7774f59SZhangbin Tongconfig RKIMG_ANDROID_BOOTMODE_LEGACY
871a7774f59SZhangbin Tong	bool "Support set androidboot.mode with legacy rule"
872a7774f59SZhangbin Tong	depends on RKIMG_BOOTLOADER
873a7774f59SZhangbin Tong	default n
874a7774f59SZhangbin Tong	help
875a7774f59SZhangbin Tong	  Rockchip set "androidboot.mode=" as "charger" or boot media for android,
876a7774f59SZhangbin Tong	  which is a rockchip private solution(SDK < 8.1) and deprecated.
877a7774f59SZhangbin Tong
8785029b474SJoseph Chenconfig ROCKCHIP_BOOTDEV
8795029b474SJoseph Chen	string "Set the boot device for multiple storage board"
8805029b474SJoseph Chen	default ""
8815029b474SJoseph Chen	help
8825029b474SJoseph Chen	  On the multiple storage on board, set this to determine what we really
8835029b474SJoseph Chen	  want to be the boot device, which contains kernel, rootfs and etc.
8845029b474SJoseph Chen	  Fall through to get from preloader or scan list when it's NULL.
8855029b474SJoseph Chen
88608dcd37cSAndy Yanconfig ROCKCHIP_RESOURCE_IMAGE
88708dcd37cSAndy Yan	bool "Enable support for rockchip resource image"
888a12bbc34SJason Zhu	depends on RKIMG_BOOTLOADER
889aae0febbSJoseph Chen	default y
89008dcd37cSAndy Yan	help
89108dcd37cSAndy Yan	  This enables support to get dtb or logo files from
89208dcd37cSAndy Yan	  rockchip resource image format partition.
89308dcd37cSAndy Yan
894e0cee412SJoseph Chenconfig ROCKCHIP_DTB_VERIFY
895e0cee412SJoseph Chen	bool "Enable hash verify for DTB in the resource file"
896e0cee412SJoseph Chen	depends on ROCKCHIP_RESOURCE_IMAGE
897e0cee412SJoseph Chen	select SHA1 if !DM_CRYPTO
898e0cee412SJoseph Chen	select SHA256 if !DM_CRYPTO
899e0cee412SJoseph Chen	default y
900e0cee412SJoseph Chen	help
901e0cee412SJoseph Chen	  This enables the hash verify for DTB in the resource file, it means we
902e0cee412SJoseph Chen	  always read DTB from second position even the DTB position is present.
903e0cee412SJoseph Chen
9040ed06f16SJoseph Chenconfig ROCKCHIP_USB_BOOT
9050ed06f16SJoseph Chen	bool "Enable support for rockchip U-disk boot"
9060ed06f16SJoseph Chen	depends on USB
9070ed06f16SJoseph Chen	default n
9080ed06f16SJoseph Chen	help
9090ed06f16SJoseph Chen	  This enables support for rockchip U-disk boot.
9100ed06f16SJoseph Chen
911059c50acSJoseph Chenconfig ROCKCHIP_FIT_IMAGE
912059c50acSJoseph Chen	bool "Enable support for FIT image"
91301c76730SJoseph Chen	depends on FIT
914059c50acSJoseph Chen	select CMD_BOOT_FIT
915059c50acSJoseph Chen	default n
916059c50acSJoseph Chen	help
917059c50acSJoseph Chen	  This enables loading dtb from fit image.
918059c50acSJoseph Chen
919191c6877SJoseph Chenconfig ROCKCHIP_UIMAGE
920191c6877SJoseph Chen	bool "Enable support for legacy uImage"
921191c6877SJoseph Chen	depends on !FIT_SIGNATURE && USING_KERNEL_DTB
922191c6877SJoseph Chen	select CMD_BOOT_UIMAGE
923191c6877SJoseph Chen	default n
924191c6877SJoseph Chen	help
925191c6877SJoseph Chen	  This enables loading dtb from uImage image.
926191c6877SJoseph Chen
927a0ceee92SJoseph Chenconfig ROCKCHIP_EARLY_DISTRO_DTB
928a0ceee92SJoseph Chen	bool "Enable support for distro dtb early"
929bc4ccd53SJoseph Chen	depends on DISTRO_DEFAULTS && USING_KERNEL_DTB && CMD_FS_GENERIC
930a0ceee92SJoseph Chen	default n
931a0ceee92SJoseph Chen	help
932a0ceee92SJoseph Chen	  This enables loading dtb from distro bootable partition when there
933a0ceee92SJoseph Chen	  is no valid dtb in android boot.img and rockchip resource.img.
934a0ceee92SJoseph Chen
935a0ceee92SJoseph Chenif ROCKCHIP_EARLY_DISTRO_DTB
936a0ceee92SJoseph Chen
937a0ceee92SJoseph Chenconfig ROCKCHIP_EARLY_DISTRO_DTB_PATH
938a0ceee92SJoseph Chen	string "/rk-kernel.dtb"
939a0ceee92SJoseph Chen	help
940a0ceee92SJoseph Chen	  "DTB file path in the bootable partition image"
941a0ceee92SJoseph Chenendif
942a0ceee92SJoseph Chen
943ca6fb291SJoseph Chenconfig ROCKCHIP_HWID_DTB
944ca6fb291SJoseph Chen	bool "Enable support for selecting DTB by hardware id"
945ca6fb291SJoseph Chen	depends on ROCKCHIP_RESOURCE_IMAGE
946ca6fb291SJoseph Chen	default n
947ca6fb291SJoseph Chen	help
948ca6fb291SJoseph Chen	  This enables select the expected DTB from sets by hardware id,
949ca6fb291SJoseph Chen	  i.e. GPIO or ADC value.
950ca6fb291SJoseph Chen
951*de479f92SXuhui Linconfig SPL_ROCKCHIP_HWID_DTB
952*de479f92SXuhui Lin	bool "Enable support for selecting DTB by hardware id in SPL"
953*de479f92SXuhui Lin	depends on SPL_KERNEL_BOOT
954*de479f92SXuhui Lin	default n
955*de479f92SXuhui Lin	help
956*de479f92SXuhui Lin	  This enables select the expected kernel DTB from sets by hardware id in SPL,
957*de479f92SXuhui Lin	  i.e. GPIO or ADC value.
958*de479f92SXuhui Lin
95991441457Sfrancis.fanconfig ROCKCHIP_VENDOR_PARTITION
9605bd6dc27SKever Yang	bool "Rockchip vendor storage partition support"
96170990948SYifeng Zhao	depends on (RKIMG_BOOTLOADER || SUPPORT_USBPLUG)
96291441457Sfrancis.fan	help
96391441457Sfrancis.fan	  This enable support to read/write vendor configuration data from/to
9645bd6dc27SKever Yang	  this partition.
96591441457Sfrancis.fan
966f8aaa2c2SKever Yangconfig USING_KERNEL_DTB
967f8aaa2c2SKever Yang	bool "Using dtb from Kernel/resource for U-Boot"
968f8aaa2c2SKever Yang	depends on RKIMG_BOOTLOADER && OF_LIVE
969f8aaa2c2SKever Yang	default y
970f8aaa2c2SKever Yang	help
971f8aaa2c2SKever Yang	  This enable support to read dtb from resource and use it for U-Boot,
972f8aaa2c2SKever Yang	  the uart and emmc will still using U-Boot dtb, but other devices like
973f8aaa2c2SKever Yang	  regulator/pmic, display, usb will use dts node from kernel.
974f8aaa2c2SKever Yang
97595eb462eSJoseph Chenconfig USING_KERNEL_DTB_V2
97695eb462eSJoseph Chen	bool "Version 2 of kernel dtb mechanism"
97795eb462eSJoseph Chen	depends on USING_KERNEL_DTB
97895eb462eSJoseph Chen	default n
97995eb462eSJoseph Chen	help
98095eb462eSJoseph Chen	  The V2 mechanism:
98195eb462eSJoseph Chen	    - both of U-Boot and kernel's *ALL* devices are exist in dm tree.
98295eb462eSJoseph Chen	    - put the necessary U-Boot devices in the head of device uclass list.
98395eb462eSJoseph Chen	    - the both existence policy don't require phandle fixup any more.
98495eb462eSJoseph Chen	    - it is for the next generation(rk3588 ...) or necessary platforms.
98595eb462eSJoseph Chen	  The V1 mechanism(legacy):
98695eb462eSJoseph Chen	    - U-Boot: only some necessary U-Boot devices(storage, crypto...) in dm tree.
98795eb462eSJoseph Chen	    - kernel: all the devices(except the U-Boot only) in dm tree.
98895eb462eSJoseph Chen
9892f5c1c77SJoseph Chenconfig EMBED_KERNEL_DTB
9902f5c1c77SJoseph Chen	bool "Enable embedded dtb support"
9912f5c1c77SJoseph Chen	default n
9922f5c1c77SJoseph Chen	help
9932f5c1c77SJoseph Chen	  Enable embedded dtb support.
9942f5c1c77SJoseph Chen
99503781805SJoseph Chenconfig EMBED_KERNEL_DTB_PATH
9962f5c1c77SJoseph Chen	string "Embedded kernel dtb file path"
9972f5c1c77SJoseph Chen	depends on EMBED_KERNEL_DTB && USING_KERNEL_DTB
998abfd1c5eSJoseph Chen	default "dts/kern.dtb"
99903781805SJoseph Chen	help
100003781805SJoseph Chen	  This file will auto be appended to the u-boot.bin.
100103781805SJoseph Chen
100203781805SJoseph Chenconfig EMBED_KERNEL_DTB_ALWAYS
10032f5c1c77SJoseph Chen	bool "Always using embedded kernel dtb"
10042f5c1c77SJoseph Chen	depends on EMBED_KERNEL_DTB && USING_KERNEL_DTB
100503781805SJoseph Chen	default n
100603781805SJoseph Chen	help
100703781805SJoseph Chen	  Allow fallback to always use a prepared kernel dtb even USING_KERNEL_DTB
100803781805SJoseph Chen	  is set. This makes U-Boot stage more stable but not flexible any more to
100903781805SJoseph Chen	  compatible different boards.
1010abfd1c5eSJoseph Chen
1011882c7251SJoseph Chenconfig ROCKCHIP_CRC
1012882c7251SJoseph Chen	bool "Rockchip CRC verify images"
1013882c7251SJoseph Chen	help
1014882c7251SJoseph Chen	  This enable support Rockchip CRC verify images. It takes a lot of time,
1015882c7251SJoseph Chen	  so it is better only used for debug.
1016882c7251SJoseph Chen
1017f270a3f8SJoseph Chenconfig ROCKCHIP_SMCCC
1018f270a3f8SJoseph Chen	bool "Rockchip SMCCC"
1019f270a3f8SJoseph Chen	default y if ARM_SMCCC
1020f270a3f8SJoseph Chen	help
1021f270a3f8SJoseph Chen	  This enable support for Rockchip SMC calls
1022f270a3f8SJoseph Chen
1023c563adc7SJoseph Chenconfig ROCKCHIP_DEBUGGER
1024c563adc7SJoseph Chen	bool "Rockchip debugger"
1025c563adc7SJoseph Chen	depends on IRQ
1026c563adc7SJoseph Chen	help
1027c563adc7SJoseph Chen	  This enable support for Rockchip debugger. Now we install a timer interrupt
1028c563adc7SJoseph Chen	  and dump pt_regs when the timeout event trigger. This helps us to know cpu
1029c563adc7SJoseph Chen	  state when system hang.
1030c563adc7SJoseph Chen
103124cd8f36SJoseph Chenconfig ROCKCHIP_CRASH_DUMP
103224cd8f36SJoseph Chen	bool "Rockchip crash dump registers"
103324cd8f36SJoseph Chen	help
103424cd8f36SJoseph Chen	  This enable dump registers when system crash, the registers you would like
103524cd8f36SJoseph Chen	  to dump can be added in show_regs().
103624cd8f36SJoseph Chen
1037dc490422SJoseph Chenconfig ROCKCHIP_PRELOADER_ATAGS
1038dc490422SJoseph Chen	bool "Rockchip pre-loader atags"
1039dc490422SJoseph Chen	default y if ARCH_ROCKCHIP
1040dc490422SJoseph Chen	help
1041dc490422SJoseph Chen	  This enable support Rockchip atags among pre-loaders, i.e. ddr, miniloader, ATF,
1042dc490422SJoseph Chen	  tos, U-Boot, etc. It delivers boot and configure information, shared with pre-loaders
1043dc490422SJoseph Chen	  and finally ends with U-Boot.
1044dc490422SJoseph Chen
104548201c4cSJason Zhuconfig ROCKCHIP_META
104648201c4cSJason Zhu	bool "Rockchip Meta"
104748201c4cSJason Zhu	depends on SPL_KERNEL_BOOT && SPL_LIBDISK_SUPPORT
104848201c4cSJason Zhu	help
104948201c4cSJason Zhu	  This support to load Rockchip meta data which like isp parameter, peripheral
105048201c4cSJason Zhu	  parameters, etc.
105148201c4cSJason Zhu
1052064eb493SJoseph Chenconfig ROCKCHIP_PRELOADER_SERIAL
1053064eb493SJoseph Chen	bool "Rockchip pre-loader serial"
1054064eb493SJoseph Chen	default y if ROCKCHIP_PRELOADER_ATAGS
1055064eb493SJoseph Chen	help
1056064eb493SJoseph Chen	  This enable U-Boot using pre-loader atags serial configure to initialize console.
1057064eb493SJoseph Chen	  It denpends on serial aliases to find pre-loader serial number.
1058064eb493SJoseph Chen
1059c58c68c9SJoseph Chenconfig ROCKCHIP_IMAGE_TINY
1060c58c68c9SJoseph Chen	bool "Rockchip tiny Image generation"
1061c58c68c9SJoseph Chen	default n
1062c58c68c9SJoseph Chen	help
1063c58c68c9SJoseph Chen	  This enable tiny image generation
1064c58c68c9SJoseph Chen
1065b9e68cc3SJoseph Chenconfig ROCKCHIP_FIT_IMAGE_PACK
1066b9e68cc3SJoseph Chen	bool "Rockchip fit image pack of U-Boot and TEE"
10671392e218SJoseph Chen	depends on ROCKCHIP_FIT_IMAGE
1068b9e68cc3SJoseph Chen	default n
1069b9e68cc3SJoseph Chen	help
1070b9e68cc3SJoseph Chen	  This enable fit image pack of U-Boot and TEE, it's used for make.sh script.
1071b9e68cc3SJoseph Chen
10729994e220SYouMin Chenconfig ROCKCHIP_UART_MUX_SEL_M
10739994e220SYouMin Chen	int "UART mux select"
10749994e220SYouMin Chen	default 0
10759994e220SYouMin Chen	depends on TPL
10769994e220SYouMin Chen	help
10779994e220SYouMin Chen	  This select uart multiplexer for debug uart iomux in board_debug_uart_init.
10789994e220SYouMin Chen
1079a225402cSJoseph Chenconfig ROCKCHIP_REBOOT_TEST
1080a225402cSJoseph Chen	bool "Rockchip reboot stress test before kernel"
1081a225402cSJoseph Chen	default n
1082a225402cSJoseph Chen	help
1083a225402cSJoseph Chen	  It's a reboot stress test before kernel stages.
1084a225402cSJoseph Chen
108561507290SJoseph Chenconfig ROCKCHIP_NEW_IDB
108661507290SJoseph Chen	bool "Rockchip new IDB header"
108761507290SJoseph Chen	default n
108861507290SJoseph Chen	help
108961507290SJoseph Chen	  The new IDB header was introduced from RK356X.
109061507290SJoseph Chen
1091a0b23d9cSJoseph Chenconfig ROCKCHIP_HOTKEY
1092a0b23d9cSJoseph Chen	bool "Rockchip hotkey"
1093a0b23d9cSJoseph Chen	default y
1094a0b23d9cSJoseph Chen	help
1095a0b23d9cSJoseph Chen	  Define a lot of hotkeys for debug.
1096a0b23d9cSJoseph Chen
1097a03ccd5bSJoseph Chenconfig ROCKCHIP_CMD
1098a03ccd5bSJoseph Chen	string "Rockchip specific command"
1099a03ccd5bSJoseph Chen	default ""
1100a03ccd5bSJoseph Chen	help
1101a03ccd5bSJoseph Chen	  It defines a command to be run when the key is pressed if assigned.
1102a03ccd5bSJoseph Chen	  String format: "cmd key".
1103a03ccd5bSJoseph Chen	  @cmd: any U-Boot cmd.
1104a03ccd5bSJoseph Chen	  @key: any key map id, '-' standard for ignore.
1105a03ccd5bSJoseph Chen	  e.g. "sd_update 115", 115 is KEY_VOLUMEUP.
1106a03ccd5bSJoseph Chen
1107a93252dfSJoseph Chenconfig GICV2
1108a93252dfSJoseph Chen	bool "ARM GICv2"
1109a93252dfSJoseph Chen
1110a93252dfSJoseph Chenconfig GICV3
1111a93252dfSJoseph Chen	bool "ARM GICv3"
1112a93252dfSJoseph Chen
11135f10b846SYifeng Zhaoconfig ROCKCHIP_EMMC_IOMUX
11145f10b846SYifeng Zhao	bool "ROCKCHIP EMMC IOMUX"
11155f10b846SYifeng Zhao	default n
11165f10b846SYifeng Zhao	help
11175f10b846SYifeng Zhao	  This enable U-Boot to config EMMC iomux.
11185f10b846SYifeng Zhao
11195f10b846SYifeng Zhaoconfig ROCKCHIP_NAND_IOMUX
11205f10b846SYifeng Zhao	bool "ROCKCHIP NAND IOMUX"
11215f10b846SYifeng Zhao	default n
11225f10b846SYifeng Zhao	help
11235f10b846SYifeng Zhao	  This enable U-Boot to config NAND iomux.
11245f10b846SYifeng Zhao
11255f10b846SYifeng Zhaoconfig ROCKCHIP_SFC_IOMUX
11265f10b846SYifeng Zhao	bool "ROCKCHIP SFC IOMUX"
11275f10b846SYifeng Zhao	default n
11285f10b846SYifeng Zhao	help
11295f10b846SYifeng Zhao	  This enable U-Boot to config SFC iomux.
11305f10b846SYifeng Zhao
1131c9a034c4SJoseph Chenconfig ROCKCHIP_SET_SN
1132c9a034c4SJoseph Chen	bool "Rockchip set serial number"
1133c9a034c4SJoseph Chen	default y
1134c9a034c4SJoseph Chen
1135c9a034c4SJoseph Chenconfig ROCKCHIP_SET_ETHADDR
1136c9a034c4SJoseph Chen	bool "Rockchip set eth address"
1137c9a034c4SJoseph Chen	default y
1138c9a034c4SJoseph Chen
1139c6d55e4aSJoseph Chenconfig BASE_DEFCONFIG
1140c6d55e4aSJoseph Chen	string "Base defconfig of config fragment"
1141c6d55e4aSJoseph Chen	default ""
1142c6d55e4aSJoseph Chen	help
1143c6d55e4aSJoseph Chen	  Indicate the base defconfig of config fragment.
1144c6d55e4aSJoseph Chen
1145c6d55e4aSJoseph Chenconfig CHIP_NAME
1146c6d55e4aSJoseph Chen	string "Chip label name"
1147c6d55e4aSJoseph Chen	default ""
1148c6d55e4aSJoseph Chen
1149c6d55e4aSJoseph Chenconfig LOADER_INI
1150c6d55e4aSJoseph Chen	string "Name of Loader ini file in rkbin repository"
1151c6d55e4aSJoseph Chen	default ""
1152c6d55e4aSJoseph Chen	help
1153c6d55e4aSJoseph Chen	  The ini file is used to pack loader image.
1154c6d55e4aSJoseph Chen
1155c6d55e4aSJoseph Chenconfig TRUST_INI
1156c6d55e4aSJoseph Chen	string "Name of Trust ini file in rkbin repository"
1157c6d55e4aSJoseph Chen	default ""
1158c6d55e4aSJoseph Chen	help
1159c6d55e4aSJoseph Chen	  The ini file is used to pack trust image.
1160c6d55e4aSJoseph Chen
1161b2d5967aSJoseph Chenif !ROCKCHIP_FIT_IMAGE_PACK
1162c6d55e4aSJoseph Chenconfig UBOOT_SIZE_KB
1163c6d55e4aSJoseph Chen	int "Per u-boot.bin Image size, unit: KB"
1164c6d55e4aSJoseph Chen	default 1024
1165c6d55e4aSJoseph Chen
1166c6d55e4aSJoseph Chenconfig UBOOT_NUM
1167c6d55e4aSJoseph Chen	int "Number of u-boot.bin image being packed into trust.img"
1168c6d55e4aSJoseph Chen	default 4
1169c6d55e4aSJoseph Chen
1170c6d55e4aSJoseph Chenconfig TRUST_SIZE_KB
1171c6d55e4aSJoseph Chen	int "Per trust Image size, unit: KB"
1172c6d55e4aSJoseph Chen	default 2048
1173c6d55e4aSJoseph Chen
1174c6d55e4aSJoseph Chenconfig TRUST_NUM
1175c6d55e4aSJoseph Chen	int "Number of trust image being packed into trust.img"
1176c6d55e4aSJoseph Chen	default 2
1177c6d55e4aSJoseph Chen
1178c6d55e4aSJoseph Chenconfig TRUST_RSA_MODE
1179c6d55e4aSJoseph Chen	int "RSA mode of trust.img on ARM64"
1180c6d55e4aSJoseph Chen	default 2
1181c6d55e4aSJoseph Chen	help
1182c6d55e4aSJoseph Chen	  The RSA mode for tools to pack, the mode id can be:
1183c6d55e4aSJoseph Chen	  0: none; 1: RSA-1024; 2: RSA-2048; 3: RSA-2048-pss.
1184c6d55e4aSJoseph Chen
1185c6d55e4aSJoseph Chenconfig TRUST_SHA_MODE
1186c6d55e4aSJoseph Chen	int "SHA mode of trust.img on ARM64"
1187c6d55e4aSJoseph Chen	default 3
1188c6d55e4aSJoseph Chen	help
1189c6d55e4aSJoseph Chen	  The SHA mode for tools to pack, the mode id can be:
1190c6d55e4aSJoseph Chen	  0: none; 1: sha1; 2: sha256 RK big endian; 3: sha256 little endian.
1191b2d5967aSJoseph Chenendif
1192c6d55e4aSJoseph Chen
1193ad771a9cSHuibin Hongconfig PSTORE
1194ad771a9cSHuibin Hong	bool "Print log to linux pstore buffer"
1195ad771a9cSHuibin Hong	default n
1196ad771a9cSHuibin Hong	help
1197ad771a9cSHuibin Hong	  This enable Print uboot log to linux pstore buffer which address
1198ad771a9cSHuibin Hong	  is default 0x110000 for most soc.
1199ad771a9cSHuibin Hong
1200ad771a9cSHuibin Hongconfig PERSISTENT_RAM_ADDR
1201ad771a9cSHuibin Hong	hex "Linux pstore buffer address"
1202ad771a9cSHuibin Hong	default 0x0
1203ad771a9cSHuibin Hong	depends on PSTORE
1204ad771a9cSHuibin Hong	help
12050a7aeeb2SJoseph Chen	  This select linux pstore buffer address for U-Boot. When value is
12060a7aeeb2SJoseph Chen	  0, U-Boot auto gets this address from preloader atags.
1207ad771a9cSHuibin Hong
1208ad771a9cSHuibin Hongconfig PERSISTENT_RAM_SIZE
1209ad771a9cSHuibin Hong	hex "Linux pstore buffer size"
1210ad771a9cSHuibin Hong	default 0x0
12110a7aeeb2SJoseph Chen	depends on (PERSISTENT_RAM_ADDR != 0)
1212ad771a9cSHuibin Hong	help
12130a7aeeb2SJoseph Chen	  This select linux pstore buffer size for U-Boot, the value must be
12140a7aeeb2SJoseph Chen	  set if PERSISTENT_RAM_ADDR != 0.
1215ad771a9cSHuibin Hong
1216b3372aa6SHuibin Hongconfig ROCKCHIP_MINIDUMP
1217b3372aa6SHuibin Hong	bool "Minidump Save Linux Debug Data To Ram Elf"
1218b3372aa6SHuibin Hong	default n
1219b3372aa6SHuibin Hong	help
1220b3372aa6SHuibin Hong	  This enable saving linux debug data to a reserved memory as a elf file.
1221b3372aa6SHuibin Hong
1222b3372aa6SHuibin Hongconfig ROCKCHIP_MINIDUMP_SMEM_BASE
1223b3372aa6SHuibin Hong	hex "The base of share memory between Uboot and Linux"
1224b3372aa6SHuibin Hong	default 0x1f0000
1225b3372aa6SHuibin Hong	depends on ROCKCHIP_MINIDUMP
1226b3372aa6SHuibin Hong	help
1227b3372aa6SHuibin Hong	  This select the base address of share memory, which is behind PSTORE.
1228b3372aa6SHuibin Hong
1229b3372aa6SHuibin Hongconfig ROCKCHIP_MINIDUMP_MAX_ELF_SIZE
1230b3372aa6SHuibin Hong	hex "The max size of minidump elf"
1231b3372aa6SHuibin Hong	default 0x2000000
1232b3372aa6SHuibin Hong	depends on ROCKCHIP_MINIDUMP
1233b3372aa6SHuibin Hong	help
1234b3372aa6SHuibin Hong	  This is used to judge the elf program size and section size.
1235b3372aa6SHuibin Hong
1236b3372aa6SHuibin Hongconfig ROCKCHIP_MINIDUMP_MAX_ENTRIES
1237b3372aa6SHuibin Hong	hex "The max entries of minidump region"
1238b3372aa6SHuibin Hong	default 0x200
1239b3372aa6SHuibin Hong	depends on ROCKCHIP_MINIDUMP
1240b3372aa6SHuibin Hong	help
1241b3372aa6SHuibin Hong	  This sets the max entries of minidump region.
1242b3372aa6SHuibin Hong
1243b87fc700SJoseph Chenconfig SANITY_CPU_SWAP
1244b87fc700SJoseph Chen	bool "Sanity cpu swap"
1245b87fc700SJoseph Chen	help
1246b87fc700SJoseph Chen	  This enale checking current cpu mpidr and kernel
1247b87fc700SJoseph Chen	  dts cpu0 mpidr.
1248b87fc700SJoseph Chen
1249448a4b38SKever Yangsource "arch/arm/mach-rockchip/px30/Kconfig"
1250be1d5e03Shuang linsource "arch/arm/mach-rockchip/rk3036/Kconfig"
1251578306eaSPaweł Jaroszsource "arch/arm/mach-rockchip/rk3066/Kconfig"
12526a13bde3SKever Yangsource "arch/arm/mach-rockchip/rk3128/Kconfig"
12530a2be69fSHeiko Stübnersource "arch/arm/mach-rockchip/rk3188/Kconfig"
1254b24a8ec1SKever Yangsource "arch/arm/mach-rockchip/rk322x/Kconfig"
1255041cdb5fSHeiko Stübnersource "arch/arm/mach-rockchip/rk3288/Kconfig"
1256c1e43163SAndy Yansource "arch/arm/mach-rockchip/rk3308/Kconfig"
125785a3cfb8SKever Yangsource "arch/arm/mach-rockchip/rk3328/Kconfig"
125837a0c600SAndreas Färbersource "arch/arm/mach-rockchip/rk3368/Kconfig"
1259a381bcf5SKever Yangsource "arch/arm/mach-rockchip/rk3399/Kconfig"
126085e5c210SXuhui Linsource "arch/arm/mach-rockchip/rk3506/Kconfig"
1261c6f7c1a3SJoseph Chensource "arch/arm/mach-rockchip/rk3528/Kconfig"
126256f7d184SJoseph Chensource "arch/arm/mach-rockchip/rk3562/Kconfig"
12637e26af38SJoseph Chensource "arch/arm/mach-rockchip/rk3568/Kconfig"
1264bf72c9c9SXuhui Linsource "arch/arm/mach-rockchip/rk3576/Kconfig"
1265e1cfe1c9SJoseph Chensource "arch/arm/mach-rockchip/rk3588/Kconfig"
12668870d6b7SJoseph Chensource "arch/arm/mach-rockchip/rk1808/Kconfig"
1267b9dcc643SXuhui Linsource "arch/arm/mach-rockchip/rv1103b/Kconfig"
126804e2aa7fSJoseph Chensource "arch/arm/mach-rockchip/rv1106/Kconfig"
12692c1e11ddSAndy Yansource "arch/arm/mach-rockchip/rv1108/Kconfig"
1270e7c03ac6SJoseph Chensource "arch/arm/mach-rockchip/rv1126/Kconfig"
12710dc03778SJoseph Chen
12722444dae5SSimon Glassendif
1273