xref: /rk3399_rockchip-uboot/arch/arm/mach-rockchip/Kconfig (revision 41ebb2b6fc3baeac5f489f4ae9ef3ceb413d6eae)
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
2140b4bf976SJoseph Chen	select 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
3847e26af38SJoseph Chenconfig ROCKCHIP_RK3568
3857e26af38SJoseph Chen	bool "Support Rockchip RK3568"
386f345af8bSJoseph Chen	select ARM64 if !ARM64_BOOT_AARCH32
387a39ea685SJoseph Chen	select ARM_SMCCC
3885f73fdb1SYifeng Zhao	select GICV3 if !ARM64_BOOT_AARCH32 && !SUPPORT_USBPLUG
389f345af8bSJoseph Chen	select SUPPORT_TPL if !ARM64_BOOT_AARCH32
390f345af8bSJoseph Chen	select SUPPORT_SPL if !ARM64_BOOT_AARCH32
391bc5b1ed8SJoseph Chen	select TPL_TINY_FRAMEWORK if TPL
3927b5df4cdSYouMin Chen	select DEBUG_UART_BOARD_INIT
393f345af8bSJoseph Chen	imply TPL if !ARM64_BOOT_AARCH32
394f345af8bSJoseph Chen	imply SPL if !ARM64_BOOT_AARCH32
395bc5b1ed8SJoseph Chen	imply TPL_SERIAL_SUPPORT
3967e26af38SJoseph Chen	help
3977e26af38SJoseph Chen	  The Rockchip RK3568 is a ARM-based SoC with a quad-core Cortex-A55.
3987e26af38SJoseph Chen
399bc5b1ed8SJoseph Chenif ROCKCHIP_RK3568
400bc5b1ed8SJoseph Chen
401bc5b1ed8SJoseph Chenconfig TPL_LDSCRIPT
402bc5b1ed8SJoseph Chen	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
403bc5b1ed8SJoseph Chen
404bc5b1ed8SJoseph Chenconfig TPL_TEXT_BASE
405bc5b1ed8SJoseph Chen	default 0xfdcc1000
406bc5b1ed8SJoseph Chen
407bc5b1ed8SJoseph Chenconfig TPL_MAX_SIZE
408bc5b1ed8SJoseph Chen	default 61440
409bc5b1ed8SJoseph Chen
410bc5b1ed8SJoseph Chenendif
411bc5b1ed8SJoseph Chen
412e1cfe1c9SJoseph Chenconfig ROCKCHIP_RK3588
413e1cfe1c9SJoseph Chen	bool "Support Rockchip RK3588"
4141f1e8631SJoseph Chen	select ARM64 if !ARM64_BOOT_AARCH32
415e1cfe1c9SJoseph Chen	select ARM_SMCCC
416e1cfe1c9SJoseph Chen	select DEBUG_UART_BOARD_INIT
4171f1e8631SJoseph Chen	select GICV3 if !ARM64_BOOT_AARCH32 && !SUPPORT_USBPLUG
418e1cfe1c9SJoseph Chen	select ROCKCHIP_BROM_HELPER
4191f1e8631SJoseph Chen	select SUPPORT_SPL if !ARM64_BOOT_AARCH32
4201f1e8631SJoseph Chen	select SUPPORT_TPL if !ARM64_BOOT_AARCH32
421e1cfe1c9SJoseph Chen	select TPL_TINY_FRAMEWORK if TPL
4221f1e8631SJoseph Chen	imply TPL if !ARM64_BOOT_AARCH32
4231f1e8631SJoseph Chen	imply SPL if !ARM64_BOOT_AARCH32
424e1cfe1c9SJoseph Chen	imply TPL_SERIAL_SUPPORT
425e1cfe1c9SJoseph Chen	select DEBUG_UART_BOARD_INIT
426e1cfe1c9SJoseph Chen	help
427e1cfe1c9SJoseph Chen	  The Rockchip RK3588 is a ARM-based SoC with a quad-core Cortex-A55.
428e1cfe1c9SJoseph Chen
429e1cfe1c9SJoseph Chenif ROCKCHIP_RK3588
430e1cfe1c9SJoseph Chen
431e1cfe1c9SJoseph Chenconfig TPL_LDSCRIPT
432e1cfe1c9SJoseph Chen	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
433e1cfe1c9SJoseph Chen
434e1cfe1c9SJoseph Chenconfig TPL_TEXT_BASE
435e1cfe1c9SJoseph Chen	default 0xfdcc1000
436e1cfe1c9SJoseph Chen
437e1cfe1c9SJoseph Chenconfig TPL_MAX_SIZE
438e1cfe1c9SJoseph Chen	default 61440
439e1cfe1c9SJoseph Chenendif
440e1cfe1c9SJoseph Chen
441b8fa3d2aSJoseph Chenconfig ROCKCHIP_RK1808
442b8fa3d2aSJoseph Chen	bool "Support Rockchip RK1808"
443b8fa3d2aSJoseph Chen	select ARM64
444b8fa3d2aSJoseph Chen	select ARM_SMCCC
44573595a32SJoseph Chen	select GICV3 if !COPROCESSOR_RK1808
4463d95740aSJason Zhu	select SUPPORT_SPL if !COPROCESSOR_RK1808
4473d95740aSJason Zhu	select SUPPORT_TPL if !COPROCESSOR_RK1808
448b8fa3d2aSJoseph Chen	help
449b8fa3d2aSJoseph Chen	  The Rockchip RK1808 is a ARM-based Soc which embedded with dual
450b8fa3d2aSJoseph Chen	  Cortex-A35.
451b8fa3d2aSJoseph Chen
4522aa1fe77SJoseph Chenif ROCKCHIP_RK1808
4532aa1fe77SJoseph Chen
454760b0468SJoseph Chenconfig ROCKCHIP_RK1806
455760b0468SJoseph Chen	bool "Support Rockchip RK1806"
456760b0468SJoseph Chen	help
457760b0468SJoseph Chen	  The Rockchip RK1806 is a ARM-based Soc which embedded with dual
458760b0468SJoseph Chen	  Cortex-A35.
459760b0468SJoseph Chen
4602aa1fe77SJoseph Chenconfig COPROCESSOR_RK1808
4612aa1fe77SJoseph Chen	bool "RK1808 coprocessor"
4622aa1fe77SJoseph Chen	help
4632aa1fe77SJoseph Chen	  This indicates the RK1808 is working as a coprocessor for another
4642aa1fe77SJoseph Chen	  more powerful SoC.
4652aa1fe77SJoseph Chen
4662aa1fe77SJoseph Chenendif
4672aa1fe77SJoseph Chen
4682c1e11ddSAndy Yanconfig ROCKCHIP_RV1108
4692c1e11ddSAndy Yan	bool "Support Rockchip RV1108"
4702c1e11ddSAndy Yan	select CPU_V7
47152f7b21dSZhihuan He	select SUPPORT_SPL
472491dd334SZhihuan He	select SUPPORT_TPL
47352f7b21dSZhihuan He	select SPL
474491dd334SZhihuan He	select TPL
475dfe03786SAndy Yan	select BOARD_LATE_INIT
4762c1e11ddSAndy Yan	help
4772c1e11ddSAndy Yan	  The Rockchip RV1108 is a ARM-based SoC with a single-core Cortex-A7
4782c1e11ddSAndy Yan	  and a DSP.
4792c1e11ddSAndy Yan
480491dd334SZhihuan Heif ROCKCHIP_RV1108
481491dd334SZhihuan He
482491dd334SZhihuan Heconfig TPL_LDSCRIPT
483491dd334SZhihuan He        default "arch/arm/mach-rockchip/u-boot-tpl.lds"
484491dd334SZhihuan He
485491dd334SZhihuan Heconfig TPL_TEXT_BASE
486491dd334SZhihuan He        default 0x10080800
487491dd334SZhihuan He
488491dd334SZhihuan Heconfig TPL_MAX_SIZE
489491dd334SZhihuan He        default 6144
490491dd334SZhihuan He
491491dd334SZhihuan Heconfig TPL_STACK
492491dd334SZhihuan He        default 0x10082000
493491dd334SZhihuan He
494491dd334SZhihuan Heendif
495491dd334SZhihuan He
496e7c03ac6SJoseph Chenconfig ROCKCHIP_RV1126
497e7c03ac6SJoseph Chen	bool "Support Rockchip RV1126"
4980dc03778SJoseph Chen	select CPU_V7
499*41ebb2b6SJoseph Chen	imply SUPPORT_TPL
500*41ebb2b6SJoseph Chen	imply SUPPORT_SPL
501*41ebb2b6SJoseph Chen	imply TPL_TINY_FRAMEWORK if TPL
502c2d71f78SYouMin Chen	select DEBUG_UART_BOARD_INIT
5031e83a6cbSJoseph Chen	imply TPL
5041e83a6cbSJoseph Chen	imply SPL
5051e83a6cbSJoseph Chen	imply GICV2
5061e83a6cbSJoseph Chen	imply ARM_SMCCC
5071e83a6cbSJoseph Chen	imply BOARD_LATE_INIT
5087c7344b1SJoseph Chen	imply ROCKCHIP_GPIO_V2
509c2d71f78SYouMin Chen	imply TPL_SERIAL_SUPPORT
5100dc03778SJoseph Chen	help
511e7c03ac6SJoseph Chen	  The Rockchip RV1126 is a ARM-based SoC with a quad-core Cortex-A7
5120dc03778SJoseph Chen	  and a risc-v core.
5130dc03778SJoseph Chen
514c2d71f78SYouMin Chenif ROCKCHIP_RV1126
515c2d71f78SYouMin Chen
516c2d71f78SYouMin Chenconfig TPL_LDSCRIPT
517c2d71f78SYouMin Chen	default "arch/arm/mach-rockchip/u-boot-tpl.lds"
518c2d71f78SYouMin Chen
519c2d71f78SYouMin Chenconfig TPL_TEXT_BASE
520c2d71f78SYouMin Chen	default 0xff701000
521c2d71f78SYouMin Chen
522c2d71f78SYouMin Chenconfig TPL_MAX_SIZE
523c2d71f78SYouMin Chen	default 32768
524c2d71f78SYouMin Chenendif
525c2d71f78SYouMin Chen
526ee14d29dSPhilipp Tomsichconfig SPL_ROCKCHIP_BACK_TO_BROM
527b47ea792SXu Ziyuan	bool "SPL returns to bootrom"
528b47ea792SXu Ziyuan	default y if ROCKCHIP_RK3036
5291d845947SHeiko Stübner	select ROCKCHIP_BROM_HELPER
530ee14d29dSPhilipp Tomsich	depends on SPL
531ee14d29dSPhilipp Tomsich	help
532ee14d29dSPhilipp Tomsich	  Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled,
533ee14d29dSPhilipp Tomsich          SPL will return to the boot rom, which will then load the U-Boot
534ee14d29dSPhilipp Tomsich          binary to keep going on.
535ee14d29dSPhilipp Tomsich
536ee14d29dSPhilipp Tomsichconfig TPL_ROCKCHIP_BACK_TO_BROM
537ee14d29dSPhilipp Tomsich	bool "TPL returns to bootrom"
538c7b9ee6bSKever Yang	default y
539ee14d29dSPhilipp Tomsich	select ROCKCHIP_BROM_HELPER
540ee14d29dSPhilipp Tomsich	depends on TPL
541b47ea792SXu Ziyuan	help
542b47ea792SXu Ziyuan	  Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled,
543b47ea792SXu Ziyuan          SPL will return to the boot rom, which will then load the U-Boot
544b47ea792SXu Ziyuan          binary to keep going on.
545b47ea792SXu Ziyuan
546b4bed602SAndy Yanconfig ARM64_BOOT_AARCH32
5478a155fd4SJoseph Chen	bool "Support Boot an ARM64 on AArch32 execution state, ie. U-Boot is in AArch32"
548b4bed602SAndy Yan	select CPU_V7
549b4bed602SAndy Yan	default n
550b4bed602SAndy Yan	help
551b4bed602SAndy Yan	  If you want to boot an ARM64 processor on 32-bit mode, say y here.
552b4bed602SAndy Yan
5538a155fd4SJoseph Chenconfig ARM64_SWITCH_TO_AARCH32
5548a155fd4SJoseph Chen	bool "Support AArch64 U-Boot boot AArch32 kernel"
5558a155fd4SJoseph Chen	default n
5568a155fd4SJoseph Chen	help
5578a155fd4SJoseph Chen	  If you want AArch64 U-Boot to boot AArch32 kernel, say y here.
5588a155fd4SJoseph Chen	  This feature needs ATF to help switch the PE state.
5598a155fd4SJoseph Chen
560be55ced3SAndy Yanconfig ROCKCHIP_BOOT_MODE_REG
561be55ced3SAndy Yan	hex "Rockchip boot mode flag register address"
56210e73f7bSKever Yang	default 0xff010200 if ROCKCHIP_PX30
563be55ced3SAndy Yan	default 0x200081c8 if ROCKCHIP_RK3036
564dd9a11eaSAndy Yan	default 0x100a0038 if ROCKCHIP_RK3128
565be55ced3SAndy Yan	default 0x20004040 if ROCKCHIP_RK3188
566be55ced3SAndy Yan	default 0x110005c8 if ROCKCHIP_RK322X
567be55ced3SAndy Yan	default 0xff730094 if ROCKCHIP_RK3288
5683d78ac3eSAndy Yan	default 0xff000500 if ROCKCHIP_RK3308
5698ec39620SKever Yang	default 0xff1005c8 if ROCKCHIP_RK3328
570be55ced3SAndy Yan	default 0xff738200 if ROCKCHIP_RK3368
571be55ced3SAndy Yan	default 0xff320300 if ROCKCHIP_RK3399
5727e26af38SJoseph Chen	default 0xfdc20200 if ROCKCHIP_RK3568
5738bcae395SJoseph Chen	default 0xfd588080 if ROCKCHIP_RK3588
574b8fa3d2aSJoseph Chen	default 0xfe020200 if ROCKCHIP_RK1808
575be55ced3SAndy Yan	default 0x10300580 if ROCKCHIP_RV1108
576e7c03ac6SJoseph Chen	default 0xfe020200 if ROCKCHIP_RV1126
577be55ced3SAndy Yan	default 0
578be55ced3SAndy Yan	help
579be55ced3SAndy Yan	  The Soc will enter to different boot mode(defined in asm/arch/boot_mode.h)
580be55ced3SAndy Yan	  according to the value from this register.
581be55ced3SAndy Yan
582d5ed5c22SKever Yangconfig ROCKCHIP_STIMER_BASE
583d5ed5c22SKever Yang	hex "Rockchip Secure timer base address"
584d5ed5c22SKever Yang	default 0xff220020 if ROCKCHIP_PX30
585d5ed5c22SKever Yang	default 0x200440a0 if ROCKCHIP_RK3036
586d5ed5c22SKever Yang	default 0x2000e000 if ROCKCHIP_RK3066
587d5ed5c22SKever Yang	default 0x20018020 if ROCKCHIP_RK3126
588d5ed5c22SKever Yang	default 0x200440a0 if ROCKCHIP_RK3128
589d5ed5c22SKever Yang	default 0x2000e000 if ROCKCHIP_RK3188
590d5ed5c22SKever Yang	default 0x110d0020 if ROCKCHIP_RK322X
591d5ed5c22SKever Yang	default 0xff810020 if ROCKCHIP_RK3288
592379e9cabSZhihuan He	default 0xff1b00a0 if ROCKCHIP_RK3308
593d5ed5c22SKever Yang	default 0xff1d0020 if ROCKCHIP_RK3328
594d5ed5c22SKever Yang	default 0xff830020 if ROCKCHIP_RK3368
595d5ed5c22SKever Yang	default 0xff8680a0 if ROCKCHIP_RK3399
5967e26af38SJoseph Chen	default 0xfdd1c020 if ROCKCHIP_RK3568
597e1cfe1c9SJoseph Chen	default 0xfd8c8000 if ROCKCHIP_RK3588
598d5ed5c22SKever Yang	default 0x10350020 if ROCKCHIP_RV1108
599e7c03ac6SJoseph Chen	default 0xff670020 if ROCKCHIP_RV1126
600d5ed5c22SKever Yang	default 0
601d5ed5c22SKever Yang	help
602d5ed5c22SKever Yang	  The secure timer inited in SPL/TPL in secure word, ARM generic timer
603d5ed5c22SKever Yang	  works after this timer work.
604d5ed5c22SKever Yang
605e8078e90SKever Yangconfig ROCKCHIP_IRAM_START_ADDR
606e8078e90SKever Yang	hex "Rockchip Secure timer base address"
607e8078e90SKever Yang	default 0xff0e0000 if ROCKCHIP_PX30
608e8078e90SKever Yang	default 0x10080000 if ROCKCHIP_RK3036
609e8078e90SKever Yang	default 0x10080000 if ROCKCHIP_RK3128
610e8078e90SKever Yang	default 0x10080000 if ROCKCHIP_RK3188
611e8078e90SKever Yang	default 0x10080000 if ROCKCHIP_RK322X
612e8078e90SKever Yang	default 0xff700000 if ROCKCHIP_RK3288
613ade6d65fSZhihuan He	default 0xfff80000 if ROCKCHIP_RK3308
614e8078e90SKever Yang	default 0xff091000 if ROCKCHIP_RK3328
615e8078e90SKever Yang	default 0xff8c0000 if ROCKCHIP_RK3368
616e8078e90SKever Yang	default 0xff8c0000 if ROCKCHIP_RK3399
6177e26af38SJoseph Chen	default 0xfdcc0000 if ROCKCHIP_RK3568
618e1cfe1c9SJoseph Chen	default 0xff000000 if ROCKCHIP_RK3588
619e8078e90SKever Yang	default 0x10080000 if ROCKCHIP_RV1108
620e7c03ac6SJoseph Chen	default 0xff700000 if ROCKCHIP_RV1126
621e8078e90SKever Yang	default 0
622e8078e90SKever Yang	help
623e8078e90SKever Yang	  The IRAM start addr is to locate variant of the boot device from
624e8078e90SKever Yang	  bootrom.
625e8078e90SKever Yang
626fa1392a2SKever Yangconfig ROCKCHIP_SPL_RESERVE_IRAM
627fa1392a2SKever Yang	hex "Size of IRAM reserved in SPL"
628b2870221SKever Yang	default 0
629fa1392a2SKever Yang	help
630fa1392a2SKever Yang	  SPL may need reserve memory for firmware loaded by SPL, whose load
631fa1392a2SKever Yang	  address is in IRAM and may overlay with SPL text area if not
632fa1392a2SKever Yang	  reserved.
633fa1392a2SKever Yang
6341d845947SHeiko Stübnerconfig ROCKCHIP_BROM_HELPER
6351d845947SHeiko Stübner	bool
6361d845947SHeiko Stübner
637dff737c4SPhilipp Tomsichconfig SPL_ROCKCHIP_EARLYRETURN_TO_BROM
638dff737c4SPhilipp Tomsich        bool "SPL requires early-return (for RK3188-style BROM) to BROM"
639dff737c4SPhilipp Tomsich	depends on SPL && ENABLE_ARM_SOC_BOOT0_HOOK
640dff737c4SPhilipp Tomsich	help
641dff737c4SPhilipp Tomsich	  Some Rockchip BROM variants (e.g. on the RK3188) load the
642dff737c4SPhilipp Tomsich	  first stage in segments and enter multiple times. E.g. on
643dff737c4SPhilipp Tomsich	  the RK3188, the first 1KB of the first stage are loaded
644dff737c4SPhilipp Tomsich	  first and entered; after returning to the BROM, the
645dff737c4SPhilipp Tomsich	  remainder of the first stage is loaded, but the BROM
646dff737c4SPhilipp Tomsich	  re-enters at the same address/to the same code as previously.
647dff737c4SPhilipp Tomsich
648dff737c4SPhilipp Tomsich	  This enables support code in the BOOT0 hook for the SPL stage
649dff737c4SPhilipp Tomsich	  to allow multiple entries.
650dff737c4SPhilipp Tomsich
651dff737c4SPhilipp Tomsichconfig TPL_ROCKCHIP_EARLYRETURN_TO_BROM
652dff737c4SPhilipp Tomsich        bool "TPL requires early-return (for RK3188-style BROM) to BROM"
653dff737c4SPhilipp Tomsich	depends on TPL && ENABLE_ARM_SOC_BOOT0_HOOK
654dff737c4SPhilipp Tomsich	help
655dff737c4SPhilipp Tomsich	  Some Rockchip BROM variants (e.g. on the RK3188) load the
656dff737c4SPhilipp Tomsich	  first stage in segments and enter multiple times. E.g. on
657dff737c4SPhilipp Tomsich	  the RK3188, the first 1KB of the first stage are loaded
658dff737c4SPhilipp Tomsich	  first and entered; after returning to the BROM, the
659dff737c4SPhilipp Tomsich	  remainder of the first stage is loaded, but the BROM
660dff737c4SPhilipp Tomsich	  re-enters at the same address/to the same code as previously.
661dff737c4SPhilipp Tomsich
662dff737c4SPhilipp Tomsich	  This enables support code in the BOOT0 hook for the TPL stage
663dff737c4SPhilipp Tomsich	  to allow multiple entries.
664dff737c4SPhilipp Tomsich
665230e0e09SSandy Pattersonconfig SPL_MMC_SUPPORT
666f6fef99aSZiyuan Xu	default y if !SPL_ROCKCHIP_BACK_TO_BROM && MMC
667230e0e09SSandy Patterson
66806621a79SKever Yangconfig RKIMG_BOOTLOADER
669aa1eec08SJoseph Chen	bool "Support for Rockchip platform features"
670aa1eec08SJoseph Chen	default y
67106621a79SKever Yang	help
672aa1eec08SJoseph Chen	  Actually this is a compatible configure for code compilation.
67306621a79SKever Yang
674a7774f59SZhangbin Tongconfig RKIMG_ANDROID_BOOTMODE_LEGACY
675a7774f59SZhangbin Tong	bool "Support set androidboot.mode with legacy rule"
676a7774f59SZhangbin Tong	depends on RKIMG_BOOTLOADER
677a7774f59SZhangbin Tong	default n
678a7774f59SZhangbin Tong	help
679a7774f59SZhangbin Tong	  Rockchip set "androidboot.mode=" as "charger" or boot media for android,
680a7774f59SZhangbin Tong	  which is a rockchip private solution(SDK < 8.1) and deprecated.
681a7774f59SZhangbin Tong
68208dcd37cSAndy Yanconfig ROCKCHIP_RESOURCE_IMAGE
68308dcd37cSAndy Yan	bool "Enable support for rockchip resource image"
684a12bbc34SJason Zhu	depends on RKIMG_BOOTLOADER
685aae0febbSJoseph Chen	default y
68608dcd37cSAndy Yan	help
68708dcd37cSAndy Yan	  This enables support to get dtb or logo files from
68808dcd37cSAndy Yan	  rockchip resource image format partition.
68908dcd37cSAndy Yan
690e0cee412SJoseph Chenconfig ROCKCHIP_DTB_VERIFY
691e0cee412SJoseph Chen	bool "Enable hash verify for DTB in the resource file"
692e0cee412SJoseph Chen	depends on ROCKCHIP_RESOURCE_IMAGE
693e0cee412SJoseph Chen	select SHA1 if !DM_CRYPTO
694e0cee412SJoseph Chen	select SHA256 if !DM_CRYPTO
695e0cee412SJoseph Chen	default y
696e0cee412SJoseph Chen	help
697e0cee412SJoseph Chen	  This enables the hash verify for DTB in the resource file, it means we
698e0cee412SJoseph Chen	  always read DTB from second position even the DTB position is present.
699e0cee412SJoseph Chen
7000ed06f16SJoseph Chenconfig ROCKCHIP_USB_BOOT
7010ed06f16SJoseph Chen	bool "Enable support for rockchip U-disk boot"
7020ed06f16SJoseph Chen	depends on USB
7030ed06f16SJoseph Chen	default n
7040ed06f16SJoseph Chen	help
7050ed06f16SJoseph Chen	  This enables support for rockchip U-disk boot.
7060ed06f16SJoseph Chen
707059c50acSJoseph Chenconfig ROCKCHIP_FIT_IMAGE
708059c50acSJoseph Chen	bool "Enable support for FIT image"
70901c76730SJoseph Chen	depends on FIT
710059c50acSJoseph Chen	select CMD_BOOT_FIT
711059c50acSJoseph Chen	default n
712059c50acSJoseph Chen	help
713059c50acSJoseph Chen	  This enables loading dtb from fit image.
714059c50acSJoseph Chen
715191c6877SJoseph Chenconfig ROCKCHIP_UIMAGE
716191c6877SJoseph Chen	bool "Enable support for legacy uImage"
717191c6877SJoseph Chen	depends on !FIT_SIGNATURE && USING_KERNEL_DTB
718191c6877SJoseph Chen	select CMD_BOOT_UIMAGE
719191c6877SJoseph Chen	default n
720191c6877SJoseph Chen	help
721191c6877SJoseph Chen	  This enables loading dtb from uImage image.
722191c6877SJoseph Chen
723a0ceee92SJoseph Chenconfig ROCKCHIP_EARLY_DISTRO_DTB
724a0ceee92SJoseph Chen	bool "Enable support for distro dtb early"
725bc4ccd53SJoseph Chen	depends on DISTRO_DEFAULTS && USING_KERNEL_DTB && CMD_FS_GENERIC
726a0ceee92SJoseph Chen	default n
727a0ceee92SJoseph Chen	help
728a0ceee92SJoseph Chen	  This enables loading dtb from distro bootable partition when there
729a0ceee92SJoseph Chen	  is no valid dtb in android boot.img and rockchip resource.img.
730a0ceee92SJoseph Chen
731a0ceee92SJoseph Chenif ROCKCHIP_EARLY_DISTRO_DTB
732a0ceee92SJoseph Chen
733a0ceee92SJoseph Chenconfig ROCKCHIP_EARLY_DISTRO_DTB_PATH
734a0ceee92SJoseph Chen	string "/rk-kernel.dtb"
735a0ceee92SJoseph Chen	help
736a0ceee92SJoseph Chen	  "DTB file path in the bootable partition image"
737a0ceee92SJoseph Chenendif
738a0ceee92SJoseph Chen
739ca6fb291SJoseph Chenconfig ROCKCHIP_HWID_DTB
740ca6fb291SJoseph Chen	bool "Enable support for selecting DTB by hardware id"
741ca6fb291SJoseph Chen	depends on ROCKCHIP_RESOURCE_IMAGE
742ca6fb291SJoseph Chen	default n
743ca6fb291SJoseph Chen	help
744ca6fb291SJoseph Chen	  This enables select the expected DTB from sets by hardware id,
745ca6fb291SJoseph Chen	  i.e. GPIO or ADC value.
746ca6fb291SJoseph Chen
74791441457Sfrancis.fanconfig ROCKCHIP_VENDOR_PARTITION
7485bd6dc27SKever Yang	bool "Rockchip vendor storage partition support"
7495bd6dc27SKever Yang	depends on RKIMG_BOOTLOADER
75091441457Sfrancis.fan	help
75191441457Sfrancis.fan	  This enable support to read/write vendor configuration data from/to
7525bd6dc27SKever Yang	  this partition.
75391441457Sfrancis.fan
754f8aaa2c2SKever Yangconfig USING_KERNEL_DTB
755f8aaa2c2SKever Yang	bool "Using dtb from Kernel/resource for U-Boot"
756f8aaa2c2SKever Yang	depends on RKIMG_BOOTLOADER && OF_LIVE
757f8aaa2c2SKever Yang	default y
758f8aaa2c2SKever Yang	help
759f8aaa2c2SKever Yang	  This enable support to read dtb from resource and use it for U-Boot,
760f8aaa2c2SKever Yang	  the uart and emmc will still using U-Boot dtb, but other devices like
761f8aaa2c2SKever Yang	  regulator/pmic, display, usb will use dts node from kernel.
762f8aaa2c2SKever Yang
76395eb462eSJoseph Chenconfig USING_KERNEL_DTB_V2
76495eb462eSJoseph Chen	bool "Version 2 of kernel dtb mechanism"
76595eb462eSJoseph Chen	depends on USING_KERNEL_DTB
76695eb462eSJoseph Chen	default n
76795eb462eSJoseph Chen	help
76895eb462eSJoseph Chen	  The V2 mechanism:
76995eb462eSJoseph Chen	    - both of U-Boot and kernel's *ALL* devices are exist in dm tree.
77095eb462eSJoseph Chen	    - put the necessary U-Boot devices in the head of device uclass list.
77195eb462eSJoseph Chen	    - the both existence policy don't require phandle fixup any more.
77295eb462eSJoseph Chen	    - it is for the next generation(rk3588 ...) or necessary platforms.
77395eb462eSJoseph Chen	  The V1 mechanism(legacy):
77495eb462eSJoseph Chen	    - U-Boot: only some necessary U-Boot devices(storage, crypto...) in dm tree.
77595eb462eSJoseph Chen	    - kernel: all the devices(except the U-Boot only) in dm tree.
77695eb462eSJoseph Chen
77703781805SJoseph Chenconfig EMBED_KERNEL_DTB_PATH
778abfd1c5eSJoseph Chen	string "Embeded kernel dtb file path"
779abfd1c5eSJoseph Chen	depends on USING_KERNEL_DTB
780abfd1c5eSJoseph Chen	default "dts/kern.dtb"
78103781805SJoseph Chen	help
78203781805SJoseph Chen	  This file will auto be appended to the u-boot.bin.
78303781805SJoseph Chen
78403781805SJoseph Chenconfig EMBED_KERNEL_DTB_ALWAYS
78503781805SJoseph Chen	bool "Always using embed kernel dtb"
78603781805SJoseph Chen	depends on USING_KERNEL_DTB
78703781805SJoseph Chen	default n
78803781805SJoseph Chen	help
78903781805SJoseph Chen	  Allow fallback to always use a prepared kernel dtb even USING_KERNEL_DTB
79003781805SJoseph Chen	  is set. This makes U-Boot stage more stable but not flexible any more to
79103781805SJoseph Chen	  compatible different boards.
792abfd1c5eSJoseph Chen
793882c7251SJoseph Chenconfig ROCKCHIP_CRC
794882c7251SJoseph Chen	bool "Rockchip CRC verify images"
795882c7251SJoseph Chen	help
796882c7251SJoseph Chen	  This enable support Rockchip CRC verify images. It takes a lot of time,
797882c7251SJoseph Chen	  so it is better only used for debug.
798882c7251SJoseph Chen
799f270a3f8SJoseph Chenconfig ROCKCHIP_SMCCC
800f270a3f8SJoseph Chen	bool "Rockchip SMCCC"
801f270a3f8SJoseph Chen	default y if ARM_SMCCC
802f270a3f8SJoseph Chen	help
803f270a3f8SJoseph Chen	  This enable support for Rockchip SMC calls
804f270a3f8SJoseph Chen
805c563adc7SJoseph Chenconfig ROCKCHIP_DEBUGGER
806c563adc7SJoseph Chen	bool "Rockchip debugger"
807c563adc7SJoseph Chen	depends on IRQ
808c563adc7SJoseph Chen	help
809c563adc7SJoseph Chen	  This enable support for Rockchip debugger. Now we install a timer interrupt
810c563adc7SJoseph Chen	  and dump pt_regs when the timeout event trigger. This helps us to know cpu
811c563adc7SJoseph Chen	  state when system hang.
812c563adc7SJoseph Chen
81324cd8f36SJoseph Chenconfig ROCKCHIP_CRASH_DUMP
81424cd8f36SJoseph Chen	bool "Rockchip crash dump registers"
81524cd8f36SJoseph Chen	help
81624cd8f36SJoseph Chen	  This enable dump registers when system crash, the registers you would like
81724cd8f36SJoseph Chen	  to dump can be added in show_regs().
81824cd8f36SJoseph Chen
819dc490422SJoseph Chenconfig ROCKCHIP_PRELOADER_ATAGS
820dc490422SJoseph Chen	bool "Rockchip pre-loader atags"
821dc490422SJoseph Chen	default y if ARCH_ROCKCHIP
822dc490422SJoseph Chen	help
823dc490422SJoseph Chen	  This enable support Rockchip atags among pre-loaders, i.e. ddr, miniloader, ATF,
824dc490422SJoseph Chen	  tos, U-Boot, etc. It delivers boot and configure information, shared with pre-loaders
825dc490422SJoseph Chen	  and finally ends with U-Boot.
826dc490422SJoseph Chen
827064eb493SJoseph Chenconfig ROCKCHIP_PRELOADER_SERIAL
828064eb493SJoseph Chen	bool "Rockchip pre-loader serial"
829064eb493SJoseph Chen	default y if ROCKCHIP_PRELOADER_ATAGS
830064eb493SJoseph Chen	help
831064eb493SJoseph Chen	  This enable U-Boot using pre-loader atags serial configure to initialize console.
832064eb493SJoseph Chen	  It denpends on serial aliases to find pre-loader serial number.
833064eb493SJoseph Chen
834b9e68cc3SJoseph Chenconfig ROCKCHIP_FIT_IMAGE_PACK
835b9e68cc3SJoseph Chen	bool "Rockchip fit image pack of U-Boot and TEE"
8361392e218SJoseph Chen	depends on ROCKCHIP_FIT_IMAGE
837b9e68cc3SJoseph Chen	default n
838b9e68cc3SJoseph Chen	help
839b9e68cc3SJoseph Chen	  This enable fit image pack of U-Boot and TEE, it's used for make.sh script.
840b9e68cc3SJoseph Chen
8419994e220SYouMin Chenconfig ROCKCHIP_UART_MUX_SEL_M
8429994e220SYouMin Chen	int "UART mux select"
8439994e220SYouMin Chen	default 0
8449994e220SYouMin Chen	depends on TPL
8459994e220SYouMin Chen	help
8469994e220SYouMin Chen	  This select uart multiplexer for debug uart iomux in board_debug_uart_init.
8479994e220SYouMin Chen
848a225402cSJoseph Chenconfig ROCKCHIP_REBOOT_TEST
849a225402cSJoseph Chen	bool "Rockchip reboot stress test before kernel"
850a225402cSJoseph Chen	default n
851a225402cSJoseph Chen	help
852a225402cSJoseph Chen	  It's a reboot stress test before kernel stages.
853a225402cSJoseph Chen
85461507290SJoseph Chenconfig ROCKCHIP_NEW_IDB
85561507290SJoseph Chen	bool "Rockchip new IDB header"
85661507290SJoseph Chen	default n
85761507290SJoseph Chen	help
85861507290SJoseph Chen	  The new IDB header was introduced from RK356X.
85961507290SJoseph Chen
860a93252dfSJoseph Chenconfig GICV2
861a93252dfSJoseph Chen	bool "ARM GICv2"
862a93252dfSJoseph Chen
863a93252dfSJoseph Chenconfig GICV3
864a93252dfSJoseph Chen	bool "ARM GICv3"
865a93252dfSJoseph Chen
8665f10b846SYifeng Zhaoconfig ROCKCHIP_EMMC_IOMUX
8675f10b846SYifeng Zhao	bool "ROCKCHIP EMMC IOMUX"
8685f10b846SYifeng Zhao	default n
8695f10b846SYifeng Zhao	help
8705f10b846SYifeng Zhao	  This enable U-Boot to config EMMC iomux.
8715f10b846SYifeng Zhao
8725f10b846SYifeng Zhaoconfig ROCKCHIP_NAND_IOMUX
8735f10b846SYifeng Zhao	bool "ROCKCHIP NAND IOMUX"
8745f10b846SYifeng Zhao	default n
8755f10b846SYifeng Zhao	help
8765f10b846SYifeng Zhao	  This enable U-Boot to config NAND iomux.
8775f10b846SYifeng Zhao
8785f10b846SYifeng Zhaoconfig ROCKCHIP_SFC_IOMUX
8795f10b846SYifeng Zhao	bool "ROCKCHIP SFC IOMUX"
8805f10b846SYifeng Zhao	default n
8815f10b846SYifeng Zhao	help
8825f10b846SYifeng Zhao	  This enable U-Boot to config SFC iomux.
8835f10b846SYifeng Zhao
884c6d55e4aSJoseph Chenconfig BASE_DEFCONFIG
885c6d55e4aSJoseph Chen	string "Base defconfig of config fragment"
886c6d55e4aSJoseph Chen	default ""
887c6d55e4aSJoseph Chen	help
888c6d55e4aSJoseph Chen	  Indicate the base defconfig of config fragment.
889c6d55e4aSJoseph Chen
890c6d55e4aSJoseph Chenconfig CHIP_NAME
891c6d55e4aSJoseph Chen	string "Chip label name"
892c6d55e4aSJoseph Chen	default ""
893c6d55e4aSJoseph Chen
894c6d55e4aSJoseph Chenconfig LOADER_INI
895c6d55e4aSJoseph Chen	string "Name of Loader ini file in rkbin repository"
896c6d55e4aSJoseph Chen	default ""
897c6d55e4aSJoseph Chen	help
898c6d55e4aSJoseph Chen	  The ini file is used to pack loader image.
899c6d55e4aSJoseph Chen
900c6d55e4aSJoseph Chenconfig TRUST_INI
901c6d55e4aSJoseph Chen	string "Name of Trust ini file in rkbin repository"
902c6d55e4aSJoseph Chen	default ""
903c6d55e4aSJoseph Chen	help
904c6d55e4aSJoseph Chen	  The ini file is used to pack trust image.
905c6d55e4aSJoseph Chen
906b2d5967aSJoseph Chenif !ROCKCHIP_FIT_IMAGE_PACK
907c6d55e4aSJoseph Chenconfig UBOOT_SIZE_KB
908c6d55e4aSJoseph Chen	int "Per u-boot.bin Image size, unit: KB"
909c6d55e4aSJoseph Chen	default 1024
910c6d55e4aSJoseph Chen
911c6d55e4aSJoseph Chenconfig UBOOT_NUM
912c6d55e4aSJoseph Chen	int "Number of u-boot.bin image being packed into trust.img"
913c6d55e4aSJoseph Chen	default 4
914c6d55e4aSJoseph Chen
915c6d55e4aSJoseph Chenconfig TRUST_SIZE_KB
916c6d55e4aSJoseph Chen	int "Per trust Image size, unit: KB"
917c6d55e4aSJoseph Chen	default 2048
918c6d55e4aSJoseph Chen
919c6d55e4aSJoseph Chenconfig TRUST_NUM
920c6d55e4aSJoseph Chen	int "Number of trust image being packed into trust.img"
921c6d55e4aSJoseph Chen	default 2
922c6d55e4aSJoseph Chen
923c6d55e4aSJoseph Chenconfig TRUST_RSA_MODE
924c6d55e4aSJoseph Chen	int "RSA mode of trust.img on ARM64"
925c6d55e4aSJoseph Chen	default 2
926c6d55e4aSJoseph Chen	help
927c6d55e4aSJoseph Chen	  The RSA mode for tools to pack, the mode id can be:
928c6d55e4aSJoseph Chen	  0: none; 1: RSA-1024; 2: RSA-2048; 3: RSA-2048-pss.
929c6d55e4aSJoseph Chen
930c6d55e4aSJoseph Chenconfig TRUST_SHA_MODE
931c6d55e4aSJoseph Chen	int "SHA mode of trust.img on ARM64"
932c6d55e4aSJoseph Chen	default 3
933c6d55e4aSJoseph Chen	help
934c6d55e4aSJoseph Chen	  The SHA mode for tools to pack, the mode id can be:
935c6d55e4aSJoseph Chen	  0: none; 1: sha1; 2: sha256 RK big endian; 3: sha256 little endian.
936b2d5967aSJoseph Chenendif
937c6d55e4aSJoseph Chen
938448a4b38SKever Yangsource "arch/arm/mach-rockchip/px30/Kconfig"
939be1d5e03Shuang linsource "arch/arm/mach-rockchip/rk3036/Kconfig"
940578306eaSPaweł Jaroszsource "arch/arm/mach-rockchip/rk3066/Kconfig"
9416a13bde3SKever Yangsource "arch/arm/mach-rockchip/rk3128/Kconfig"
9420a2be69fSHeiko Stübnersource "arch/arm/mach-rockchip/rk3188/Kconfig"
943b24a8ec1SKever Yangsource "arch/arm/mach-rockchip/rk322x/Kconfig"
944041cdb5fSHeiko Stübnersource "arch/arm/mach-rockchip/rk3288/Kconfig"
945c1e43163SAndy Yansource "arch/arm/mach-rockchip/rk3308/Kconfig"
94685a3cfb8SKever Yangsource "arch/arm/mach-rockchip/rk3328/Kconfig"
94737a0c600SAndreas Färbersource "arch/arm/mach-rockchip/rk3368/Kconfig"
948a381bcf5SKever Yangsource "arch/arm/mach-rockchip/rk3399/Kconfig"
9497e26af38SJoseph Chensource "arch/arm/mach-rockchip/rk3568/Kconfig"
950e1cfe1c9SJoseph Chensource "arch/arm/mach-rockchip/rk3588/Kconfig"
9518870d6b7SJoseph Chensource "arch/arm/mach-rockchip/rk1808/Kconfig"
9522c1e11ddSAndy Yansource "arch/arm/mach-rockchip/rv1108/Kconfig"
953e7c03ac6SJoseph Chensource "arch/arm/mach-rockchip/rv1126/Kconfig"
9540dc03778SJoseph Chen
9552444dae5SSimon Glassendif
956