xref: /rk3399_rockchip-uboot/arch/arm/mach-rockchip/Kconfig (revision e622d25ad354a49b13503258d62e0dbef2bbb597)
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.
408aaf77e3SJianlong Wang
418aaf77e3SJianlong Wangconfig ROCKCHIP_RK3358
428aaf77e3SJianlong Wang	bool "Support Rockchip RK3358"
438aaf77e3SJianlong Wang	help
448aaf77e3SJianlong Wang	  RK3358 can use most code from PX30, but at some situations we have
458aaf77e3SJianlong Wang	  to distinguish between RK3358 and PX30, so this macro gives help.
468aaf77e3SJianlong Wang	  It is usually selected in rk3358 board defconfig.
47a08ded54SJoseph Chenendif
48a08ded54SJoseph Chen
49041cdb5fSHeiko Stübnerconfig ROCKCHIP_RK3036
50041cdb5fSHeiko Stübner	bool "Support Rockchip RK3036"
51041cdb5fSHeiko Stübner	select CPU_V7
52a381bcf5SKever Yang	select SUPPORT_SPL
53cdfcfbccSDavid Wu	select SUPPORT_TPL
54a381bcf5SKever Yang	select SPL
55cdfcfbccSDavid Wu	select TPL
56cdfcfbccSDavid Wu	select BOARD_LATE_INIT
57cdfcfbccSDavid Wu	select ROCKCHIP_BROM_HELPER
58cdfcfbccSDavid Wu	select TPL_NEEDS_SEPARATE_TEXT_BASE if TPL
59cdfcfbccSDavid Wu	select TPL_NEEDS_SEPARATE_STACK if TPL
606ba2d5cbSJoseph Chen	select ARM_SMCCC
611b57565dSJoseph Chen	select ARM_ERRATA_814220
62041cdb5fSHeiko Stübner	help
63041cdb5fSHeiko Stübner	  The Rockchip RK3036 is a ARM-based SoC with a dual-core Cortex-A7
64041cdb5fSHeiko Stübner	  including NEON and GPU, Mali-400 graphics, several DDR3 options
65041cdb5fSHeiko Stübner	  and video codec support. Peripherals include Gigabit Ethernet,
66041cdb5fSHeiko Stübner	  USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
67041cdb5fSHeiko Stübner
686a13bde3SKever Yangconfig ROCKCHIP_RK3128
696a13bde3SKever Yang	bool "Support Rockchip RK3128"
706a13bde3SKever Yang	select CPU_V7
71f3d84b4aSJoseph Chen	select GICV2
72965c1b10SJoseph Chen	select ARM_SMCCC
731b57565dSJoseph Chen	select ARM_ERRATA_814220
746a13bde3SKever Yang	help
756a13bde3SKever Yang	  The Rockchip RK3128 is a ARM-based SoC with a quad-core Cortex-A7
766a13bde3SKever Yang	  including NEON and GPU, Mali-400 graphics, several DDR3 options
776a13bde3SKever Yang	  and video codec support. Peripherals include Gigabit Ethernet,
786a13bde3SKever Yang	  USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
796a13bde3SKever Yang
80e1048023SJoseph Chenif ROCKCHIP_RK3128
81e1048023SJoseph Chen
82e1048023SJoseph Chenconfig ROCKCHIP_RK3126
83e1048023SJoseph Chen	bool "Support Rockchip RK3126 "
84e1048023SJoseph Chen	help
85e1048023SJoseph Chen	  RK3126 can use most code from RK3128, but at some situations we have
86e1048023SJoseph Chen	  to distinguish between RK3126 and RK3128, so this macro gives help.
87e1048023SJoseph Chen	  It is usually selected in rk3126 board defconfig.
88f094cb29SShunqian Zheng
89f094cb29SShunqian Zhengconfig ROCKCHIP_PX3SE
90f094cb29SShunqian Zheng	bool "Support Rockchip PX3SE"
91f094cb29SShunqian Zheng	help
92f094cb29SShunqian Zheng	  PX3SE is a variant of RK3128, it shares codes with RK3128, but we still
93f094cb29SShunqian Zheng	  need this macro to distinguish PX3SE and RK3128.
94e1048023SJoseph Chenendif
95e1048023SJoseph Chen
96578306eaSPaweł Jaroszconfig ROCKCHIP_RK3066
97578306eaSPaweł Jarosz	bool "Support Rockchip RK3066"
98578306eaSPaweł Jarosz	select CPU_V7
99578306eaSPaweł Jarosz	select SUPPORT_SPL
100578306eaSPaweł Jarosz	select SUPPORT_TPL
101578306eaSPaweł Jarosz	select SPL
102578306eaSPaweł Jarosz	select TPL
103578306eaSPaweł Jarosz	select BOARD_LATE_INIT
104578306eaSPaweł Jarosz	select ROCKCHIP_BROM_HELPER
105ffb06671SKever Yang	select SPL_ROCKCHIP_EARLYRETURN_TO_BROM
106578306eaSPaweł Jarosz	help
107578306eaSPaweł Jarosz	  The Rockchip RK3066 is a ARM-based SoC with a dual-core Cortex-A9
108578306eaSPaweł Jarosz	  including NEON and GPU, Mali-400 graphics, several DDR3 options
109578306eaSPaweł Jarosz	  and video codec support. Peripherals include ethernet, USB2 host
110578306eaSPaweł Jarosz	  and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
111578306eaSPaweł Jarosz
1120a2be69fSHeiko Stübnerconfig ROCKCHIP_RK3188
1130a2be69fSHeiko Stübner	bool "Support Rockchip RK3188"
1140a2be69fSHeiko Stübner	select CPU_V7
1150680f1b1SLey Foon Tan	select SPL_BOARD_INIT if SPL
1160a2be69fSHeiko Stübner	select SUPPORT_SPL
1170a2be69fSHeiko Stübner	select SPL
118397403c7SPhilipp Tomsich	select SPL_CLK
119397403c7SPhilipp Tomsich	select SPL_REGMAP
120397403c7SPhilipp Tomsich	select SPL_SYSCON
121397403c7SPhilipp Tomsich	select SPL_RAM
122397403c7SPhilipp Tomsich	select SPL_DRIVERS_MISC_SUPPORT
123885cc66fSPhilipp Tomsich	select SPL_ROCKCHIP_EARLYRETURN_TO_BROM
124008a610bSHeiko Stübner	select BOARD_LATE_INIT
1250a2be69fSHeiko Stübner	select ROCKCHIP_BROM_HELPER
1260a2be69fSHeiko Stübner	help
1270a2be69fSHeiko Stübner	  The Rockchip RK3188 is a ARM-based SoC with a quad-core Cortex-A9
1280a2be69fSHeiko Stübner	  including NEON and GPU, 512KB L2 cache, Mali-400 graphics, two
1290a2be69fSHeiko Stübner	  video interfaces, several memory options and video codec support.
1300a2be69fSHeiko Stübner	  Peripherals include Fast Ethernet, USB2 host and OTG, SDIO, I2S,
1310a2be69fSHeiko Stübner	  UART, SPI, I2C and PWMs.
1320a2be69fSHeiko Stübner
133168eef7aSKever Yangconfig ROCKCHIP_RK322X
134168eef7aSKever Yang	bool "Support Rockchip RK3228/RK3229"
135168eef7aSKever Yang	select CPU_V7
136168eef7aSKever Yang	select SUPPORT_SPL
13706d27531SKever Yang	select SUPPORT_TPL
138168eef7aSKever Yang	select SPL
13906d27531SKever Yang	select TPL
14006d27531SKever Yang	select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL
14106d27531SKever Yang	select TPL_NEEDS_SEPARATE_STACK if TPL
14206d27531SKever Yang	select SPL_DRIVERS_MISC_SUPPORT
14306d27531SKever Yang	imply SPL_SERIAL_SUPPORT
14406d27531SKever Yang	imply TPL_SERIAL_SUPPORT
145168eef7aSKever Yang	select ROCKCHIP_BROM_HELPER
14606d27531SKever Yang	select TPL_LIBCOMMON_SUPPORT
14706d27531SKever Yang	select TPL_LIBGENERIC_SUPPORT
148d1d395d7SJoseph Chen	select GICV2
1496ba2d5cbSJoseph Chen	select ARM_SMCCC
1501b57565dSJoseph Chen	select ARM_ERRATA_814220
151168eef7aSKever Yang	help
152168eef7aSKever Yang	  The Rockchip RK3229 is a ARM-based SoC with a dual-core Cortex-A7
153168eef7aSKever Yang	  including NEON and GPU, Mali-400 graphics, several DDR3 options
154168eef7aSKever Yang	  and video codec support. Peripherals include Gigabit Ethernet,
155168eef7aSKever Yang	  USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
156168eef7aSKever Yang
157ad9ba815SJoseph Chenif ROCKCHIP_RK322X
158ad9ba815SJoseph Chen
159ad9ba815SJoseph Chenconfig ROCKCHIP_RK3128X
160ad9ba815SJoseph Chen	bool "Support Rockchip RK3128X "
161ad9ba815SJoseph Chen	help
162ad9ba815SJoseph Chen	  RK3128X can use most code from RK322X, but at some situations we have
163ad9ba815SJoseph Chen	  to distinguish between RK3128X and RK322X, so this macro gives help.
164ad9ba815SJoseph Chen	  It is usually selected in RK3128X board defconfig.
165ad9ba815SJoseph Chenendif
166ad9ba815SJoseph Chen
1672444dae5SSimon Glassconfig ROCKCHIP_RK3288
1682444dae5SSimon Glass	bool "Support Rockchip RK3288"
169e0f5dbcbSAndreas Färber	select CPU_V7
1700680f1b1SLey Foon Tan	select SPL_BOARD_INIT if SPL
171a381bcf5SKever Yang	select SUPPORT_SPL
1720adb4998SKever Yang	select SUPPORT_TPL
173a381bcf5SKever Yang	select SPL
1740adb4998SKever Yang	select TPL
1750adb4998SKever Yang	select TPL_NEEDS_SEPARATE_TEXT_BASE if TPL
1760adb4998SKever Yang	select TPL_NEEDS_SEPARATE_STACK if TPL
1770adb4998SKever Yang	imply TPL_SERIAL_SUPPORT
17886a31622SJoseph Chen	select GICV2
1796ba2d5cbSJoseph Chen	select ARM_SMCCC
1803ddbcffeSKever Yang	select SPL_OPTEE
1813ddbcffeSKever Yang	select FIT
1823ddbcffeSKever Yang	select SPL_LOAD_FIT
1830adb4998SKever Yang	select TPL_LIBCOMMON_SUPPORT
1840adb4998SKever Yang	select TPL_LIBGENERIC_SUPPORT
1850adb4998SKever Yang	select TPL_SYS_MALLOC_SIMPLE
1860adb4998SKever Yang	select TPL_BOOTROM_SUPPORT
1870adb4998SKever Yang	select TPL_DRIVERS_MISC_SUPPORT
1880adb4998SKever Yang	select TPL_OF_CONTROL
1890adb4998SKever Yang	select TPL_DM
1900adb4998SKever Yang	select TPL_REGMAP
1910adb4998SKever Yang	select TPL_SYSCON
1920adb4998SKever Yang	select TPL_RAM
1930adb4998SKever Yang	select TPL_CLK
1940adb4998SKever Yang	select TPL_TINY_MEMSET
1952444dae5SSimon Glass	help
1962444dae5SSimon Glass	  The Rockchip RK3288 is a ARM-based SoC with a quad-core Cortex-A17
1972444dae5SSimon Glass	  including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
1982444dae5SSimon Glass	  video interfaces supporting HDMI and eDP, several DDR3 options
1992444dae5SSimon Glass	  and video codec support. Peripherals include Gigabit Ethernet,
200ef904bf2SAndreas Färber	  USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
2012444dae5SSimon Glass
2020adb4998SKever Yangif ROCKCHIP_RK3288
2033ddbcffeSKever Yangconfig SPL_FIT_GENERATOR
2043ddbcffeSKever Yang	default "arch/arm/mach-rockchip/make_fit_optee.sh"
2050adb4998SKever Yang
2060adb4998SKever Yangconfig TPL_LDSCRIPT
2070adb4998SKever Yang	default "arch/arm/mach-rockchip/u-boot-tpl.lds"
2080adb4998SKever Yang
2090adb4998SKever Yangconfig TPL_TEXT_BASE
2100adb4998SKever Yang	default 0xff704000
2110adb4998SKever Yang
2120adb4998SKever Yangconfig TPL_MAX_SIZE
213231617c5SKever Yang	default 32768
2140adb4998SKever Yang
2150adb4998SKever Yangconfig TPL_STACK
2160adb4998SKever Yang	default 0xff718000
2170adb4998SKever Yang
2180adb4998SKever Yangendif
2190adb4998SKever Yang
2203d78ac3eSAndy Yanconfig ROCKCHIP_RK3308
2213d78ac3eSAndy Yan	bool "Support Rockchip RK3308"
222b4bed602SAndy Yan	select ARM64 if !ARM64_BOOT_AARCH32
2236ba2d5cbSJoseph Chen	select ARM_SMCCC
224ba572d7cSJoseph Chen	imply GICV2
225951488b0SAndy Yan	select SUPPORT_SPL if !ARM64_BOOT_AARCH32
226951488b0SAndy Yan	select SUPPORT_TPL if !ARM64_BOOT_AARCH32
227951488b0SAndy Yan	select SPL if !ARM64_BOOT_AARCH32
228951488b0SAndy Yan	select TPL if !ARM64_BOOT_AARCH32
229951488b0SAndy Yan	imply SPL_CLK
230951488b0SAndy Yan	imply SPL_REGMAP
231951488b0SAndy Yan	imply SPL_SYSCON
232951488b0SAndy Yan	imply SPL_RAM
233951488b0SAndy Yan	imply SPL_SERIAL_SUPPORT
234951488b0SAndy Yan	imply TPL_SERIAL_SUPPORT
235951488b0SAndy Yan	imply SPL_SEPARATE_BSS
2363d78ac3eSAndy Yan	help
2373d78ac3eSAndy Yan	  The Rockchip RK3308 is a ARM-based Soc which embeded with quad
2383d78ac3eSAndy Yan	  Cortex-A35 and highly integrated audio interfaces.
2393d78ac3eSAndy Yan
240379e9cabSZhihuan Heif ROCKCHIP_RK3308
241379e9cabSZhihuan He
242379e9cabSZhihuan Heconfig TPL_LDSCRIPT
243379e9cabSZhihuan He	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
244379e9cabSZhihuan He
245379e9cabSZhihuan Heconfig TPL_TEXT_BASE
246379e9cabSZhihuan He	default 0xfff81000
247379e9cabSZhihuan He
248379e9cabSZhihuan Heconfig TPL_MAX_SIZE
249355cdcf3SZhihuan He	default 10240
250379e9cabSZhihuan He
251379e9cabSZhihuan Heconfig TPL_STACK
252379e9cabSZhihuan He	default 0xfff84000
253379e9cabSZhihuan He
254379e9cabSZhihuan Heendif
255379e9cabSZhihuan He
25685a3cfb8SKever Yangconfig ROCKCHIP_RK3328
25785a3cfb8SKever Yang	bool "Support Rockchip RK3328"
25885a3cfb8SKever Yang	select ARM64
25955da6f73SJoseph Chen	select GICV2
260430b0146SKever Yang	select SUPPORT_SPL
261430b0146SKever Yang	select SUPPORT_TPL
262430b0146SKever Yang	select SPL
263430b0146SKever Yang	select TPL
264430b0146SKever Yang	select TPL_NEEDS_SEPARATE_TEXT_BASE if TPL
265430b0146SKever Yang	select TPL_NEEDS_SEPARATE_STACK if TPL
266430b0146SKever Yang	imply SPL_SERIAL_SUPPORT
267430b0146SKever Yang	imply TPL_SERIAL_SUPPORT
268430b0146SKever Yang	imply SPL_SEPARATE_BSS
2696ba2d5cbSJoseph Chen	select ARM_SMCCC
27085a3cfb8SKever Yang	help
27185a3cfb8SKever Yang	  The Rockchip RK3328 is a ARM-based SoC with a quad-core Cortex-A53.
27285a3cfb8SKever Yang	  including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
27385a3cfb8SKever Yang	  video interfaces supporting HDMI and eDP, several DDR3 options
27485a3cfb8SKever Yang	  and video codec support. Peripherals include Gigabit Ethernet,
27585a3cfb8SKever Yang	  USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
27685a3cfb8SKever Yang
277430b0146SKever Yangif ROCKCHIP_RK3328
278430b0146SKever Yang
279430b0146SKever Yangconfig TPL_LDSCRIPT
280430b0146SKever Yang	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
281430b0146SKever Yang
282430b0146SKever Yangconfig TPL_TEXT_BASE
283430b0146SKever Yang        default 0xff091000
284430b0146SKever Yang
285430b0146SKever Yangconfig TPL_MAX_SIZE
286430b0146SKever Yang        default 28672
287430b0146SKever Yang
288430b0146SKever Yangconfig TPL_STACK
289430b0146SKever Yang        default 0xff098000
290430b0146SKever Yang
291430b0146SKever Yangendif
292430b0146SKever Yang
29337a0c600SAndreas Färberconfig ROCKCHIP_RK3368
29437a0c600SAndreas Färber	bool "Support Rockchip RK3368"
29537a0c600SAndreas Färber	select ARM64
2965071457eSPhilipp Tomsich	select SUPPORT_SPL
2975071457eSPhilipp Tomsich	select SUPPORT_TPL
2984cf4378eSPhilipp Tomsich	select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL
2994cf4378eSPhilipp Tomsich	select TPL_NEEDS_SEPARATE_STACK if TPL
3005071457eSPhilipp Tomsich	imply SPL_SEPARATE_BSS
3015071457eSPhilipp Tomsich	imply SPL_SERIAL_SUPPORT
3025071457eSPhilipp Tomsich	imply TPL_SERIAL_SUPPORT
303503f955fSJoseph Chen	select GICV2
3046ba2d5cbSJoseph Chen	select ARM_SMCCC
30537a0c600SAndreas Färber	help
3069a8f009fSPhilipp Tomsich	  The Rockchip RK3368 is a ARM-based SoC with a octa-core (organised
3079a8f009fSPhilipp Tomsich	  into a big and little cluster with 4 cores each) Cortex-A53 including
3089a8f009fSPhilipp Tomsich	  AdvSIMD, 512KB L2 cache (for the big cluster) and 256 KB L2 cache
3099a8f009fSPhilipp Tomsich	  (for the little cluster), PowerVR G6110 based graphics, one video
3109a8f009fSPhilipp Tomsich	  output processor supporting LVDS/HDMI/eDP, several DDR3 options and
3119a8f009fSPhilipp Tomsich	  video codec support.
3129a8f009fSPhilipp Tomsich
3139a8f009fSPhilipp Tomsich	  On-chip peripherals include Gigabit Ethernet, USB2 host and OTG, SDIO,
3149a8f009fSPhilipp Tomsich	  I2S, UARTs, SPI, I2C and PWMs.
31537a0c600SAndreas Färber
316d9d1242bSPhilipp Tomsichif ROCKCHIP_RK3368
317d9d1242bSPhilipp Tomsich
318f67455c9SKever Yangconfig ROCKCHIP_PX5
319f67455c9SKever Yang	bool "Support Rockchip PX5"
320f67455c9SKever Yang	help
321f67455c9SKever Yang	  PX5 is a variant of RK3368, it shares codes with RK3368, but we still
322f67455c9SKever Yang	  need this macro to distinguish PX5 and RK3368.
323f67455c9SKever Yang
324d9d1242bSPhilipp Tomsichconfig TPL_LDSCRIPT
325d9d1242bSPhilipp Tomsich	default "arch/arm/mach-rockchip/rk3368/u-boot-tpl.lds"
326d9d1242bSPhilipp Tomsich
3275aa49af3SPhilipp Tomsichconfig TPL_TEXT_BASE
3285aa49af3SPhilipp Tomsich        default 0xff8c1000
3295aa49af3SPhilipp Tomsich
3305aa49af3SPhilipp Tomsichconfig TPL_MAX_SIZE
3315aa49af3SPhilipp Tomsich        default 28672
3325aa49af3SPhilipp Tomsich
3335aa49af3SPhilipp Tomsichconfig TPL_STACK
3345aa49af3SPhilipp Tomsich        default 0xff8cffff
3355aa49af3SPhilipp Tomsich
336d9d1242bSPhilipp Tomsichendif
337d9d1242bSPhilipp Tomsich
338a381bcf5SKever Yangconfig ROCKCHIP_RK3399
339a381bcf5SKever Yang	bool "Support Rockchip RK3399"
340a381bcf5SKever Yang	select ARM64
34166e87cc8SKever Yang	select SUPPORT_SPL
342c7b9ee6bSKever Yang	select SUPPORT_TPL
34366e87cc8SKever Yang	select SPL
344c7b9ee6bSKever Yang	select TPL
345c7b9ee6bSKever Yang	select TPL_NEEDS_SEPARATE_TEXT_BASE if TPL
346c7b9ee6bSKever Yang	select TPL_NEEDS_SEPARATE_STACK if TPL
347c7b9ee6bSKever Yang	imply TPL_SERIAL_SUPPORT
34866e87cc8SKever Yang	select SPL_SEPARATE_BSS
349c0508e42SPhilipp Tomsich	select SPL_SERIAL_SUPPORT
350c0508e42SPhilipp Tomsich	select SPL_DRIVERS_MISC_SUPPORT
3518f557da1SJoseph Chen	select GICV3
352be55ced3SAndy Yan	select BOARD_LATE_INIT
35347a9f8fcSAndy Yan	select ROCKCHIP_BROM_HELPER
3546ba2d5cbSJoseph Chen	select ARM_SMCCC
355c7b9ee6bSKever Yang	select TPL_LIBCOMMON_SUPPORT
356c7b9ee6bSKever Yang	select TPL_LIBGENERIC_SUPPORT
357c7b9ee6bSKever Yang	select TPL_SYS_MALLOC_SIMPLE
358c7b9ee6bSKever Yang	select TPL_BOOTROM_SUPPORT
359c7b9ee6bSKever Yang	select TPL_DRIVERS_MISC_SUPPORT
360c7b9ee6bSKever Yang	select TPL_OF_CONTROL
361c7b9ee6bSKever Yang	select TPL_DM
362c7b9ee6bSKever Yang	select TPL_REGMAP
363c7b9ee6bSKever Yang	select TPL_SYSCON
364c7b9ee6bSKever Yang	select TPL_RAM
365c7b9ee6bSKever Yang	select TPL_CLK
366c7b9ee6bSKever Yang	select TPL_TINY_MEMSET
367a381bcf5SKever Yang	help
368a381bcf5SKever Yang	  The Rockchip RK3399 is a ARM-based SoC with a dual-core Cortex-A72
369a381bcf5SKever Yang	  and quad-core Cortex-A53.
370a381bcf5SKever Yang	  including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
371a381bcf5SKever Yang	  video interfaces supporting HDMI and eDP, several DDR3 options
372a381bcf5SKever Yang	  and video codec support. Peripherals include Gigabit Ethernet,
373a381bcf5SKever Yang	  USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
374a381bcf5SKever Yang
375c7b9ee6bSKever Yangif ROCKCHIP_RK3399
376c7b9ee6bSKever Yang
377d60cbc66SJoseph Chenconfig ROCKCHIP_RK3399PRO
378d60cbc66SJoseph Chen	bool "Support Rockchip RK3399Pro"
379d60cbc66SJoseph Chen
380c7b9ee6bSKever Yangconfig TPL_LDSCRIPT
381c7b9ee6bSKever Yang	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
382c7b9ee6bSKever Yang
383c7b9ee6bSKever Yangconfig TPL_TEXT_BASE
384c7b9ee6bSKever Yang        default 0xff8c2000
385c7b9ee6bSKever Yang
386c7b9ee6bSKever Yangconfig TPL_MAX_SIZE
387c7b9ee6bSKever Yang        default 188416
388c7b9ee6bSKever Yang
389c7b9ee6bSKever Yangconfig TPL_STACK
390c7b9ee6bSKever Yang        default 0xff8effff
391c7b9ee6bSKever Yang
392c7b9ee6bSKever Yangendif
393c7b9ee6bSKever Yang
39485e5c210SXuhui Linconfig ROCKCHIP_RK3506
39585e5c210SXuhui Lin	bool "Support Rockchip RK3506"
39685e5c210SXuhui Lin	select CPU_V7
39785e5c210SXuhui Lin	select ROCKCHIP_BROM_HELPER
39885e5c210SXuhui Lin	select DEBUG_UART_BOARD_INIT
39985e5c210SXuhui Lin	select ARM_SMCCC
40085e5c210SXuhui Lin	select GICV2
4011b57565dSJoseph Chen	select ARM_ERRATA_814220
40285e5c210SXuhui Lin	imply SUPPORT_SPL
40385e5c210SXuhui Lin	imply SUPPORT_TPL
40485e5c210SXuhui Lin	imply SPL
40585e5c210SXuhui Lin	imply TPL
40685e5c210SXuhui Lin	imply TPL_SERIAL_SUPPORT
40785e5c210SXuhui Lin	imply SPL_SERIAL_SUPPORT
40885e5c210SXuhui Lin	imply TPL_TINY_FRAMEWORK if TPL
40985e5c210SXuhui Lin	imply BOARD_LATE_INIT
41085e5c210SXuhui Lin	imply ROCKCHIP_GPIO_V2
41185e5c210SXuhui Lin
41285e5c210SXuhui Lin	help
41385e5c210SXuhui Lin	  The Rockchip RK3506 is a ARM-based SoC with a tri-core Cortex-A7.
41485e5c210SXuhui Lin
41585e5c210SXuhui Linif ROCKCHIP_RK3506
41685e5c210SXuhui Lin
41785e5c210SXuhui Linconfig TPL_LDSCRIPT
41885e5c210SXuhui Lin	default "arch/arm/mach-rockchip/u-boot-tpl.lds"
41985e5c210SXuhui Lin
42085e5c210SXuhui Linconfig TPL_TEXT_BASE
42185e5c210SXuhui Lin	default 0xfff81000
42285e5c210SXuhui Lin
42385e5c210SXuhui Linconfig TPL_MAX_SIZE
42485e5c210SXuhui Lin	default 45056
42585e5c210SXuhui Lin
42685e5c210SXuhui Linendif
42785e5c210SXuhui Lin
428c6f7c1a3SJoseph Chenconfig ROCKCHIP_RK3528
429c6f7c1a3SJoseph Chen	bool "Support Rockchip RK3528"
430c6f7c1a3SJoseph Chen	select ARM64 if !ARM64_BOOT_AARCH32
431c6f7c1a3SJoseph Chen	select GICV2 if !ARM64_BOOT_AARCH32
432c6f7c1a3SJoseph Chen	select SUPPORT_TPL if !ARM64_BOOT_AARCH32
433c6f7c1a3SJoseph Chen	select SUPPORT_SPL if !ARM64_BOOT_AARCH32
434c6f7c1a3SJoseph Chen	select TPL_TINY_FRAMEWORK if TPL
435c6f7c1a3SJoseph Chen	select DEBUG_UART_BOARD_INIT
436c6f7c1a3SJoseph Chen	imply TPL if !ARM64_BOOT_AARCH32
437c6f7c1a3SJoseph Chen	imply SPL if !ARM64_BOOT_AARCH32
438c6f7c1a3SJoseph Chen	imply TPL_SERIAL_SUPPORT
439c6f7c1a3SJoseph Chen	help
440c6f7c1a3SJoseph Chen	  The Rockchip RK3528 is a ARM-based SoC with a quad-core Cortex-A53.
441c6f7c1a3SJoseph Chen
442c6f7c1a3SJoseph Chenif ROCKCHIP_RK3528
443c6f7c1a3SJoseph Chen
444c6f7c1a3SJoseph Chenconfig TPL_LDSCRIPT
445c6f7c1a3SJoseph Chen	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
446c6f7c1a3SJoseph Chen
447c6f7c1a3SJoseph Chenconfig TPL_TEXT_BASE
448c6f7c1a3SJoseph Chen	default 0xfe481000
449c6f7c1a3SJoseph Chen
450c6f7c1a3SJoseph Chenconfig TPL_MAX_SIZE
451c6f7c1a3SJoseph Chen	default 61440
452c6f7c1a3SJoseph Chen
453c6f7c1a3SJoseph Chenendif
454c6f7c1a3SJoseph Chen
45556f7d184SJoseph Chenconfig ROCKCHIP_RK3562
45656f7d184SJoseph Chen	bool "Support Rockchip RK3562"
45756f7d184SJoseph Chen	select ARM_SMCCC
458eb3b0978SXuhui Lin	select ARM64 if !ARM64_BOOT_AARCH32
459eb3b0978SXuhui Lin	select GICV2 if !ARM64_BOOT_AARCH32
460eb3b0978SXuhui Lin	select SUPPORT_TPL if !ARM64_BOOT_AARCH32
461eb3b0978SXuhui Lin	select SUPPORT_SPL if !ARM64_BOOT_AARCH32
46256f7d184SJoseph Chen	select TPL_TINY_FRAMEWORK if TPL
46356f7d184SJoseph Chen	select DEBUG_UART_BOARD_INIT
464eb3b0978SXuhui Lin	imply TPL if !ARM64_BOOT_AARCH32
465eb3b0978SXuhui Lin	imply SPL if !ARM64_BOOT_AARCH32
46656f7d184SJoseph Chen	imply TPL_SERIAL_SUPPORT
46756f7d184SJoseph Chen	help
46856f7d184SJoseph Chen	  The Rockchip RK3562 is a ARM-based SoC with a quad-core Cortex-A53.
46956f7d184SJoseph Chen
47056f7d184SJoseph Chenif ROCKCHIP_RK3562
47156f7d184SJoseph Chen
47256f7d184SJoseph Chenconfig TPL_LDSCRIPT
47356f7d184SJoseph Chen	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
47456f7d184SJoseph Chen
47556f7d184SJoseph Chenconfig TPL_TEXT_BASE
47656f7d184SJoseph Chen	default 0xfe481000
47756f7d184SJoseph Chen
47856f7d184SJoseph Chenconfig TPL_MAX_SIZE
47956f7d184SJoseph Chen	default 61440
48056f7d184SJoseph Chen
48156f7d184SJoseph Chenendif
48256f7d184SJoseph Chen
4837e26af38SJoseph Chenconfig ROCKCHIP_RK3568
4847e26af38SJoseph Chen	bool "Support Rockchip RK3568"
485f345af8bSJoseph Chen	select ARM64 if !ARM64_BOOT_AARCH32
486a39ea685SJoseph Chen	select ARM_SMCCC
4875f73fdb1SYifeng Zhao	select GICV3 if !ARM64_BOOT_AARCH32 && !SUPPORT_USBPLUG
488f345af8bSJoseph Chen	select SUPPORT_TPL if !ARM64_BOOT_AARCH32
489f345af8bSJoseph Chen	select SUPPORT_SPL if !ARM64_BOOT_AARCH32
490bc5b1ed8SJoseph Chen	select TPL_TINY_FRAMEWORK if TPL
4917b5df4cdSYouMin Chen	select DEBUG_UART_BOARD_INIT
492f345af8bSJoseph Chen	imply TPL if !ARM64_BOOT_AARCH32
493f345af8bSJoseph Chen	imply SPL if !ARM64_BOOT_AARCH32
494bc5b1ed8SJoseph Chen	imply TPL_SERIAL_SUPPORT
4957e26af38SJoseph Chen	help
4967e26af38SJoseph Chen	  The Rockchip RK3568 is a ARM-based SoC with a quad-core Cortex-A55.
4977e26af38SJoseph Chen
498bc5b1ed8SJoseph Chenif ROCKCHIP_RK3568
499bc5b1ed8SJoseph Chen
500bc5b1ed8SJoseph Chenconfig TPL_LDSCRIPT
501bc5b1ed8SJoseph Chen	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
502bc5b1ed8SJoseph Chen
503bc5b1ed8SJoseph Chenconfig TPL_TEXT_BASE
504bc5b1ed8SJoseph Chen	default 0xfdcc1000
505bc5b1ed8SJoseph Chen
506bc5b1ed8SJoseph Chenconfig TPL_MAX_SIZE
507bc5b1ed8SJoseph Chen	default 61440
508bc5b1ed8SJoseph Chen
509bc5b1ed8SJoseph Chenendif
510bc5b1ed8SJoseph Chen
511bf72c9c9SXuhui Linconfig ROCKCHIP_RK3576
512bf72c9c9SXuhui Lin	bool "Support Rockchip RK3576"
513bf72c9c9SXuhui Lin	select ARM64
514682a1dd9SXuhui Lin	select GICV2
515bf72c9c9SXuhui Lin	select ARM_SMCCC
516bf72c9c9SXuhui Lin	select DEBUG_UART_BOARD_INIT
517bf72c9c9SXuhui Lin	select ROCKCHIP_BROM_HELPER
518bf72c9c9SXuhui Lin	select SUPPORT_SPL
519bf72c9c9SXuhui Lin	select SUPPORT_TPL
520bf72c9c9SXuhui Lin	select TPL_TINY_FRAMEWORK if TPL
521bf72c9c9SXuhui Lin	imply TPL
522bf72c9c9SXuhui Lin	imply SPL
523bf72c9c9SXuhui Lin	imply TPL_SERIAL_SUPPORT
524bf72c9c9SXuhui Lin
525bf72c9c9SXuhui Lin	help
526bf72c9c9SXuhui Lin	  The Rockchip RK3576 is a ARM-based SoC with a quad-core Cortex-A53
527bf72c9c9SXuhui Lin	  and a quad-core Cortex-A72.
528bf72c9c9SXuhui Lin
529bf72c9c9SXuhui Linif ROCKCHIP_RK3576
530bf72c9c9SXuhui Lin
531bf72c9c9SXuhui Linconfig TPL_LDSCRIPT
532bf72c9c9SXuhui Lin	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
533bf72c9c9SXuhui Lin
534bf72c9c9SXuhui Linconfig TPL_TEXT_BASE
535bf72c9c9SXuhui Lin	default 0x3ff81000
536bf72c9c9SXuhui Lin
537bf72c9c9SXuhui Linconfig TPL_MAX_SIZE
538bf72c9c9SXuhui Lin	default 61440
539bf72c9c9SXuhui Lin
540bf72c9c9SXuhui Linendif
541bf72c9c9SXuhui Lin
542e1cfe1c9SJoseph Chenconfig ROCKCHIP_RK3588
543e1cfe1c9SJoseph Chen	bool "Support Rockchip RK3588"
5441f1e8631SJoseph Chen	select ARM64 if !ARM64_BOOT_AARCH32
545e1cfe1c9SJoseph Chen	select ARM_SMCCC
546e1cfe1c9SJoseph Chen	select DEBUG_UART_BOARD_INIT
5471f1e8631SJoseph Chen	select GICV3 if !ARM64_BOOT_AARCH32 && !SUPPORT_USBPLUG
548e1cfe1c9SJoseph Chen	select ROCKCHIP_BROM_HELPER
5491f1e8631SJoseph Chen	select SUPPORT_SPL if !ARM64_BOOT_AARCH32
5501f1e8631SJoseph Chen	select SUPPORT_TPL if !ARM64_BOOT_AARCH32
551e1cfe1c9SJoseph Chen	select TPL_TINY_FRAMEWORK if TPL
5521f1e8631SJoseph Chen	imply TPL if !ARM64_BOOT_AARCH32
5531f1e8631SJoseph Chen	imply SPL if !ARM64_BOOT_AARCH32
554e1cfe1c9SJoseph Chen	imply TPL_SERIAL_SUPPORT
555e1cfe1c9SJoseph Chen	select DEBUG_UART_BOARD_INIT
556e1cfe1c9SJoseph Chen	help
557e1cfe1c9SJoseph Chen	  The Rockchip RK3588 is a ARM-based SoC with a quad-core Cortex-A55.
558e1cfe1c9SJoseph Chen
559e1cfe1c9SJoseph Chenif ROCKCHIP_RK3588
560e1cfe1c9SJoseph Chen
561e1cfe1c9SJoseph Chenconfig TPL_LDSCRIPT
562e1cfe1c9SJoseph Chen	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
563e1cfe1c9SJoseph Chen
564e1cfe1c9SJoseph Chenconfig TPL_TEXT_BASE
565d5a67874SXuhui Lin	default 0xff001000
566e1cfe1c9SJoseph Chen
567e1cfe1c9SJoseph Chenconfig TPL_MAX_SIZE
568e1cfe1c9SJoseph Chen	default 61440
569e1cfe1c9SJoseph Chenendif
570e1cfe1c9SJoseph Chen
571b8fa3d2aSJoseph Chenconfig ROCKCHIP_RK1808
572b8fa3d2aSJoseph Chen	bool "Support Rockchip RK1808"
573b8fa3d2aSJoseph Chen	select ARM64
574b8fa3d2aSJoseph Chen	select ARM_SMCCC
57573595a32SJoseph Chen	select GICV3 if !COPROCESSOR_RK1808
5763d95740aSJason Zhu	select SUPPORT_SPL if !COPROCESSOR_RK1808
5773d95740aSJason Zhu	select SUPPORT_TPL if !COPROCESSOR_RK1808
578b8fa3d2aSJoseph Chen	help
579b8fa3d2aSJoseph Chen	  The Rockchip RK1808 is a ARM-based Soc which embedded with dual
580b8fa3d2aSJoseph Chen	  Cortex-A35.
581b8fa3d2aSJoseph Chen
5822aa1fe77SJoseph Chenif ROCKCHIP_RK1808
5832aa1fe77SJoseph Chen
584760b0468SJoseph Chenconfig ROCKCHIP_RK1806
585760b0468SJoseph Chen	bool "Support Rockchip RK1806"
586760b0468SJoseph Chen	help
587760b0468SJoseph Chen	  The Rockchip RK1806 is a ARM-based Soc which embedded with dual
588760b0468SJoseph Chen	  Cortex-A35.
589760b0468SJoseph Chen
5902aa1fe77SJoseph Chenconfig COPROCESSOR_RK1808
5912aa1fe77SJoseph Chen	bool "RK1808 coprocessor"
5922aa1fe77SJoseph Chen	help
5932aa1fe77SJoseph Chen	  This indicates the RK1808 is working as a coprocessor for another
5942aa1fe77SJoseph Chen	  more powerful SoC.
5952aa1fe77SJoseph Chen
5962aa1fe77SJoseph Chenendif
5972aa1fe77SJoseph Chen
598b9dcc643SXuhui Linconfig ROCKCHIP_RV1103B
599b9dcc643SXuhui Lin	bool "Support Rockchip RV1103B"
600b9dcc643SXuhui Lin	select CPU_V7
601b9dcc643SXuhui Lin	select ARM_ZERO_CNTVOFF
602b9dcc643SXuhui Lin	select ROCKCHIP_BROM_HELPER
603b9dcc643SXuhui Lin	select DEBUG_UART_BOARD_INIT
6041b57565dSJoseph Chen	select ARM_ERRATA_814220
605b9dcc643SXuhui Lin	imply SUPPORT_SPL
606b9dcc643SXuhui Lin	imply SUPPORT_TPL
607b9dcc643SXuhui Lin	imply SPL
608b9dcc643SXuhui Lin	imply TPL
609b9dcc643SXuhui Lin	imply TPL_SERIAL_SUPPORT
610b9dcc643SXuhui Lin	imply TPL_TINY_FRAMEWORK if TPL
611b9dcc643SXuhui Lin	imply BOARD_LATE_INIT
612b9dcc643SXuhui Lin	imply ROCKCHIP_GPIO_V2
613b9dcc643SXuhui Lin
614b9dcc643SXuhui Lin	help
615b9dcc643SXuhui Lin	  The Rockchip RV1103B is a ARM-based SoC with a Cortex-A7 and
616b9dcc643SXuhui Lin	  other modules.
617b9dcc643SXuhui Lin
618b9dcc643SXuhui Linif ROCKCHIP_RV1103B
619b9dcc643SXuhui Lin
620b9dcc643SXuhui Linconfig TPL_LDSCRIPT
621b9dcc643SXuhui Lin	default "arch/arm/mach-rockchip/u-boot-tpl.lds"
622b9dcc643SXuhui Lin
623b9dcc643SXuhui Linconfig TPL_TEXT_BASE
624b9dcc643SXuhui Lin	default 0x210f7000
625b9dcc643SXuhui Lin
626b9dcc643SXuhui Linconfig TPL_MAX_SIZE
627b9dcc643SXuhui Lin	default 32768
628b9dcc643SXuhui Linendif
629b9dcc643SXuhui Lin
63004e2aa7fSJoseph Chenconfig ROCKCHIP_RV1106
63104e2aa7fSJoseph Chen	bool "Support Rockchip RV1106"
63204e2aa7fSJoseph Chen	select CPU_V7
63304e2aa7fSJoseph Chen	select DEBUG_UART_BOARD_INIT
6341b57565dSJoseph Chen	select ARM_ERRATA_814220
63504e2aa7fSJoseph Chen	imply SUPPORT_SPL
63604e2aa7fSJoseph Chen	imply SUPPORT_TPL
63704e2aa7fSJoseph Chen	imply SPL
63804e2aa7fSJoseph Chen	imply TPL
63904e2aa7fSJoseph Chen	imply TPL_SERIAL_SUPPORT
64004e2aa7fSJoseph Chen	imply TPL_TINY_FRAMEWORK if TPL
64104e2aa7fSJoseph Chen	imply BOARD_LATE_INIT
64204e2aa7fSJoseph Chen	imply ROCKCHIP_GPIO_V2
64304e2aa7fSJoseph Chen	help
64404e2aa7fSJoseph Chen	  The Rockchip RV1106 is a ARM-based SoC with a Cortex-A7 and
64504e2aa7fSJoseph Chen	  other modules.
64604e2aa7fSJoseph Chen
64704e2aa7fSJoseph Chenif ROCKCHIP_RV1106
64804e2aa7fSJoseph Chen
64904e2aa7fSJoseph Chenconfig TPL_LDSCRIPT
65004e2aa7fSJoseph Chen	default "arch/arm/mach-rockchip/u-boot-tpl.lds"
65104e2aa7fSJoseph Chen
65204e2aa7fSJoseph Chenconfig TPL_TEXT_BASE
65304e2aa7fSJoseph Chen	default 0xff701000
65404e2aa7fSJoseph Chen
65504e2aa7fSJoseph Chenconfig TPL_MAX_SIZE
65604e2aa7fSJoseph Chen	default 32768
65704e2aa7fSJoseph Chenendif
65804e2aa7fSJoseph Chen
6592c1e11ddSAndy Yanconfig ROCKCHIP_RV1108
6602c1e11ddSAndy Yan	bool "Support Rockchip RV1108"
6612c1e11ddSAndy Yan	select CPU_V7
66252f7b21dSZhihuan He	select SUPPORT_SPL
663491dd334SZhihuan He	select SUPPORT_TPL
66452f7b21dSZhihuan He	select SPL
665491dd334SZhihuan He	select TPL
666dfe03786SAndy Yan	select BOARD_LATE_INIT
6671b57565dSJoseph Chen	select ARM_ERRATA_814220
6682c1e11ddSAndy Yan	help
6692c1e11ddSAndy Yan	  The Rockchip RV1108 is a ARM-based SoC with a single-core Cortex-A7
6702c1e11ddSAndy Yan	  and a DSP.
6712c1e11ddSAndy Yan
672491dd334SZhihuan Heif ROCKCHIP_RV1108
673491dd334SZhihuan He
674491dd334SZhihuan Heconfig TPL_LDSCRIPT
675491dd334SZhihuan He        default "arch/arm/mach-rockchip/u-boot-tpl.lds"
676491dd334SZhihuan He
677491dd334SZhihuan Heconfig TPL_TEXT_BASE
678491dd334SZhihuan He        default 0x10080800
679491dd334SZhihuan He
680491dd334SZhihuan Heconfig TPL_MAX_SIZE
681491dd334SZhihuan He        default 6144
682491dd334SZhihuan He
683491dd334SZhihuan Heconfig TPL_STACK
684491dd334SZhihuan He        default 0x10082000
685491dd334SZhihuan He
686491dd334SZhihuan Heendif
687491dd334SZhihuan He
688e7c03ac6SJoseph Chenconfig ROCKCHIP_RV1126
689e7c03ac6SJoseph Chen	bool "Support Rockchip RV1126"
6900dc03778SJoseph Chen	select CPU_V7
69141ebb2b6SJoseph Chen	imply SUPPORT_TPL
69241ebb2b6SJoseph Chen	imply SUPPORT_SPL
69341ebb2b6SJoseph Chen	imply TPL_TINY_FRAMEWORK if TPL
694c2d71f78SYouMin Chen	select DEBUG_UART_BOARD_INIT
6951b57565dSJoseph Chen	select ARM_ERRATA_814220
6961e83a6cbSJoseph Chen	imply TPL
6971e83a6cbSJoseph Chen	imply SPL
6981e83a6cbSJoseph Chen	imply GICV2
6991e83a6cbSJoseph Chen	imply ARM_SMCCC
7001e83a6cbSJoseph Chen	imply BOARD_LATE_INIT
7017c7344b1SJoseph Chen	imply ROCKCHIP_GPIO_V2
702c2d71f78SYouMin Chen	imply TPL_SERIAL_SUPPORT
7030dc03778SJoseph Chen	help
704e7c03ac6SJoseph Chen	  The Rockchip RV1126 is a ARM-based SoC with a quad-core Cortex-A7
7050dc03778SJoseph Chen	  and a risc-v core.
7060dc03778SJoseph Chen
707c2d71f78SYouMin Chenif ROCKCHIP_RV1126
708c2d71f78SYouMin Chen
709c2d71f78SYouMin Chenconfig TPL_LDSCRIPT
710c2d71f78SYouMin Chen	default "arch/arm/mach-rockchip/u-boot-tpl.lds"
711c2d71f78SYouMin Chen
712c2d71f78SYouMin Chenconfig TPL_TEXT_BASE
713c2d71f78SYouMin Chen	default 0xff701000
714c2d71f78SYouMin Chen
715c2d71f78SYouMin Chenconfig TPL_MAX_SIZE
716c2d71f78SYouMin Chen	default 32768
717c2d71f78SYouMin Chenendif
718c2d71f78SYouMin Chen
7194e72b326SXuhui Linconfig ROCKCHIP_RV1126B
7204e72b326SXuhui Lin	bool "Support Rockchip RV1126B"
7214e72b326SXuhui Lin	select ARM64 if !ARM64_BOOT_AARCH32
7224e72b326SXuhui Lin	select GICV2 if !ARM64_BOOT_AARCH32
7234e72b326SXuhui Lin	select ARM_SMCCC
7244e72b326SXuhui Lin	select DEBUG_UART_BOARD_INIT
7254e72b326SXuhui Lin	select ROCKCHIP_BROM_HELPER
7264e72b326SXuhui Lin	select SUPPORT_TPL if !ARM64_BOOT_AARCH32
7274e72b326SXuhui Lin	select SUPPORT_SPL if !ARM64_BOOT_AARCH32
7284e72b326SXuhui Lin	select TPL_TINY_FRAMEWORK if TPL
7294e72b326SXuhui Lin	imply TPL if !ARM64_BOOT_AARCH32
7304e72b326SXuhui Lin	imply SPL if !ARM64_BOOT_AARCH32
7314e72b326SXuhui Lin	imply TPL_SERIAL_SUPPORT
7324e72b326SXuhui Lin	help
7334e72b326SXuhui Lin	  The Rockchip RV1126B is a ARM-based SoC with a quad-core Cortex-A53.
7344e72b326SXuhui Lin
7354e72b326SXuhui Linif ROCKCHIP_RV1126B
7364e72b326SXuhui Lin
7374e72b326SXuhui Linconfig TPL_LDSCRIPT
7384e72b326SXuhui Lin	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
7394e72b326SXuhui Lin
7404e72b326SXuhui Linconfig TPL_TEXT_BASE
7414e72b326SXuhui Lin	default 0x3ffb1000
7424e72b326SXuhui Lin
7434e72b326SXuhui Linconfig TPL_MAX_SIZE
7444e72b326SXuhui Lin	default 61440
7454e72b326SXuhui Lin
7464e72b326SXuhui Linendif
7474e72b326SXuhui Lin
748ee14d29dSPhilipp Tomsichconfig SPL_ROCKCHIP_BACK_TO_BROM
749b47ea792SXu Ziyuan	bool "SPL returns to bootrom"
750b47ea792SXu Ziyuan	default y if ROCKCHIP_RK3036
7511d845947SHeiko Stübner	select ROCKCHIP_BROM_HELPER
752ee14d29dSPhilipp Tomsich	depends on SPL
753ee14d29dSPhilipp Tomsich	help
754ee14d29dSPhilipp Tomsich	  Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled,
755ee14d29dSPhilipp Tomsich          SPL will return to the boot rom, which will then load the U-Boot
756ee14d29dSPhilipp Tomsich          binary to keep going on.
757ee14d29dSPhilipp Tomsich
758ee14d29dSPhilipp Tomsichconfig TPL_ROCKCHIP_BACK_TO_BROM
759ee14d29dSPhilipp Tomsich	bool "TPL returns to bootrom"
760c7b9ee6bSKever Yang	default y
761ee14d29dSPhilipp Tomsich	select ROCKCHIP_BROM_HELPER
762ee14d29dSPhilipp Tomsich	depends on TPL
763b47ea792SXu Ziyuan	help
764b47ea792SXu Ziyuan	  Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled,
765b47ea792SXu Ziyuan          SPL will return to the boot rom, which will then load the U-Boot
766b47ea792SXu Ziyuan          binary to keep going on.
767b47ea792SXu Ziyuan
768b4bed602SAndy Yanconfig ARM64_BOOT_AARCH32
7698a155fd4SJoseph Chen	bool "Support Boot an ARM64 on AArch32 execution state, ie. U-Boot is in AArch32"
770b4bed602SAndy Yan	select CPU_V7
771b4bed602SAndy Yan	default n
772b4bed602SAndy Yan	help
773b4bed602SAndy Yan	  If you want to boot an ARM64 processor on 32-bit mode, say y here.
774b4bed602SAndy Yan
7758a155fd4SJoseph Chenconfig ARM64_SWITCH_TO_AARCH32
7768a155fd4SJoseph Chen	bool "Support AArch64 U-Boot boot AArch32 kernel"
7778a155fd4SJoseph Chen	default n
7788a155fd4SJoseph Chen	help
7798a155fd4SJoseph Chen	  If you want AArch64 U-Boot to boot AArch32 kernel, say y here.
7808a155fd4SJoseph Chen	  This feature needs ATF to help switch the PE state.
7818a155fd4SJoseph Chen
782be55ced3SAndy Yanconfig ROCKCHIP_BOOT_MODE_REG
783be55ced3SAndy Yan	hex "Rockchip boot mode flag register address"
78410e73f7bSKever Yang	default 0xff010200 if ROCKCHIP_PX30
785be55ced3SAndy Yan	default 0x200081c8 if ROCKCHIP_RK3036
786dd9a11eaSAndy Yan	default 0x100a0038 if ROCKCHIP_RK3128
787be55ced3SAndy Yan	default 0x20004040 if ROCKCHIP_RK3188
788be55ced3SAndy Yan	default 0x110005c8 if ROCKCHIP_RK322X
789be55ced3SAndy Yan	default 0xff730094 if ROCKCHIP_RK3288
7903d78ac3eSAndy Yan	default 0xff000500 if ROCKCHIP_RK3308
7918ec39620SKever Yang	default 0xff1005c8 if ROCKCHIP_RK3328
792be55ced3SAndy Yan	default 0xff738200 if ROCKCHIP_RK3368
793be55ced3SAndy Yan	default 0xff320300 if ROCKCHIP_RK3399
79485e5c210SXuhui Lin	default 0xff910200 if ROCKCHIP_RK3506
795c6f7c1a3SJoseph Chen	default 0xff370200 if ROCKCHIP_RK3528
79633e416e0SJoseph Chen	default 0xff010220 if ROCKCHIP_RK3562
7977e26af38SJoseph Chen	default 0xfdc20200 if ROCKCHIP_RK3568
798682a1dd9SXuhui Lin	default 0x26024040 if ROCKCHIP_RK3576
7998bcae395SJoseph Chen	default 0xfd588080 if ROCKCHIP_RK3588
800b8fa3d2aSJoseph Chen	default 0xfe020200 if ROCKCHIP_RK1808
801b9dcc643SXuhui Lin	default 0x20160200 if ROCKCHIP_RV1103B
80204e2aa7fSJoseph Chen	default 0xff020200 if ROCKCHIP_RV1106
803be55ced3SAndy Yan	default 0x10300580 if ROCKCHIP_RV1108
804e7c03ac6SJoseph Chen	default 0xfe020200 if ROCKCHIP_RV1126
805*e622d25aSXuhui Lin	default 0x20130220 if ROCKCHIP_RV1126B
806be55ced3SAndy Yan	default 0
807be55ced3SAndy Yan	help
808be55ced3SAndy Yan	  The Soc will enter to different boot mode(defined in asm/arch/boot_mode.h)
809be55ced3SAndy Yan	  according to the value from this register.
810be55ced3SAndy Yan
811d5ed5c22SKever Yangconfig ROCKCHIP_STIMER_BASE
812d5ed5c22SKever Yang	hex "Rockchip Secure timer base address"
813d5ed5c22SKever Yang	default 0xff220020 if ROCKCHIP_PX30
814d5ed5c22SKever Yang	default 0x200440a0 if ROCKCHIP_RK3036
815d5ed5c22SKever Yang	default 0x2000e000 if ROCKCHIP_RK3066
816d5ed5c22SKever Yang	default 0x20018020 if ROCKCHIP_RK3126
817d5ed5c22SKever Yang	default 0x200440a0 if ROCKCHIP_RK3128
818d5ed5c22SKever Yang	default 0x2000e000 if ROCKCHIP_RK3188
819d5ed5c22SKever Yang	default 0x110d0020 if ROCKCHIP_RK322X
820d5ed5c22SKever Yang	default 0xff810020 if ROCKCHIP_RK3288
821379e9cabSZhihuan He	default 0xff1b00a0 if ROCKCHIP_RK3308
822d5ed5c22SKever Yang	default 0xff1d0020 if ROCKCHIP_RK3328
823d5ed5c22SKever Yang	default 0xff830020 if ROCKCHIP_RK3368
824d5ed5c22SKever Yang	default 0xff8680a0 if ROCKCHIP_RK3399
82585e5c210SXuhui Lin	default 0xff980000 if ROCKCHIP_RK3506
826c6f7c1a3SJoseph Chen	default 0xff620000 if ROCKCHIP_RK3528
82756f7d184SJoseph Chen	default 0xffa90020 if ROCKCHIP_RK3562
8287e26af38SJoseph Chen	default 0xfdd1c020 if ROCKCHIP_RK3568
829bf72c9c9SXuhui Lin	default 0x27400000 if ROCKCHIP_RK3576
830e1cfe1c9SJoseph Chen	default 0xfd8c8000 if ROCKCHIP_RK3588
831b9dcc643SXuhui Lin	default 0x20500000 if ROCKCHIP_RV1103B
83204e2aa7fSJoseph Chen	default 0xff590020 if ROCKCHIP_RV1106
833d5ed5c22SKever Yang	default 0x10350020 if ROCKCHIP_RV1108
834e7c03ac6SJoseph Chen	default 0xff670020 if ROCKCHIP_RV1126
8354e72b326SXuhui Lin	default 0x20820000 if ROCKCHIP_RV1126B
836d5ed5c22SKever Yang	default 0
837d5ed5c22SKever Yang	help
838d5ed5c22SKever Yang	  The secure timer inited in SPL/TPL in secure word, ARM generic timer
839d5ed5c22SKever Yang	  works after this timer work.
840d5ed5c22SKever Yang
841e8078e90SKever Yangconfig ROCKCHIP_IRAM_START_ADDR
842e8078e90SKever Yang	hex "Rockchip Secure timer base address"
843e8078e90SKever Yang	default 0xff0e0000 if ROCKCHIP_PX30
844e8078e90SKever Yang	default 0x10080000 if ROCKCHIP_RK3036
845e8078e90SKever Yang	default 0x10080000 if ROCKCHIP_RK3128
846e8078e90SKever Yang	default 0x10080000 if ROCKCHIP_RK3188
847e8078e90SKever Yang	default 0x10080000 if ROCKCHIP_RK322X
848e8078e90SKever Yang	default 0xff700000 if ROCKCHIP_RK3288
849ade6d65fSZhihuan He	default 0xfff80000 if ROCKCHIP_RK3308
850e8078e90SKever Yang	default 0xff091000 if ROCKCHIP_RK3328
851e8078e90SKever Yang	default 0xff8c0000 if ROCKCHIP_RK3368
852e8078e90SKever Yang	default 0xff8c0000 if ROCKCHIP_RK3399
85385e5c210SXuhui Lin	default 0xfff80000 if ROCKCHIP_RK3506
854c6f7c1a3SJoseph Chen	default 0xfe480000 if ROCKCHIP_RK3528
85556f7d184SJoseph Chen	default 0xfe480000 if ROCKCHIP_RK3562
8567e26af38SJoseph Chen	default 0xfdcc0000 if ROCKCHIP_RK3568
857bf72c9c9SXuhui Lin	default 0x3ff80000 if ROCKCHIP_RK3576
858e1cfe1c9SJoseph Chen	default 0xff000000 if ROCKCHIP_RK3588
859b9dcc643SXuhui Lin	default 0x210f6000 if ROCKCHIP_RV1103B
86004e2aa7fSJoseph Chen	default 0xff6c0000 if ROCKCHIP_RV1106
861e8078e90SKever Yang	default 0x10080000 if ROCKCHIP_RV1108
862e7c03ac6SJoseph Chen	default 0xff700000 if ROCKCHIP_RV1126
8634e72b326SXuhui Lin	default 0x3ffb0000 if ROCKCHIP_RV1126B
864e8078e90SKever Yang	default 0
865e8078e90SKever Yang	help
866e8078e90SKever Yang	  The IRAM start addr is to locate variant of the boot device from
867e8078e90SKever Yang	  bootrom.
868e8078e90SKever Yang
869fa1392a2SKever Yangconfig ROCKCHIP_SPL_RESERVE_IRAM
870fa1392a2SKever Yang	hex "Size of IRAM reserved in SPL"
871b2870221SKever Yang	default 0
872fa1392a2SKever Yang	help
873fa1392a2SKever Yang	  SPL may need reserve memory for firmware loaded by SPL, whose load
874fa1392a2SKever Yang	  address is in IRAM and may overlay with SPL text area if not
875fa1392a2SKever Yang	  reserved.
876fa1392a2SKever Yang
8771d845947SHeiko Stübnerconfig ROCKCHIP_BROM_HELPER
8781d845947SHeiko Stübner	bool
8791d845947SHeiko Stübner
880dff737c4SPhilipp Tomsichconfig SPL_ROCKCHIP_EARLYRETURN_TO_BROM
881dff737c4SPhilipp Tomsich        bool "SPL requires early-return (for RK3188-style BROM) to BROM"
882dff737c4SPhilipp Tomsich	depends on SPL && ENABLE_ARM_SOC_BOOT0_HOOK
883dff737c4SPhilipp Tomsich	help
884dff737c4SPhilipp Tomsich	  Some Rockchip BROM variants (e.g. on the RK3188) load the
885dff737c4SPhilipp Tomsich	  first stage in segments and enter multiple times. E.g. on
886dff737c4SPhilipp Tomsich	  the RK3188, the first 1KB of the first stage are loaded
887dff737c4SPhilipp Tomsich	  first and entered; after returning to the BROM, the
888dff737c4SPhilipp Tomsich	  remainder of the first stage is loaded, but the BROM
889dff737c4SPhilipp Tomsich	  re-enters at the same address/to the same code as previously.
890dff737c4SPhilipp Tomsich
891dff737c4SPhilipp Tomsich	  This enables support code in the BOOT0 hook for the SPL stage
892dff737c4SPhilipp Tomsich	  to allow multiple entries.
893dff737c4SPhilipp Tomsich
894dff737c4SPhilipp Tomsichconfig TPL_ROCKCHIP_EARLYRETURN_TO_BROM
895dff737c4SPhilipp Tomsich        bool "TPL requires early-return (for RK3188-style BROM) to BROM"
896dff737c4SPhilipp Tomsich	depends on TPL && ENABLE_ARM_SOC_BOOT0_HOOK
897dff737c4SPhilipp Tomsich	help
898dff737c4SPhilipp Tomsich	  Some Rockchip BROM variants (e.g. on the RK3188) load the
899dff737c4SPhilipp Tomsich	  first stage in segments and enter multiple times. E.g. on
900dff737c4SPhilipp Tomsich	  the RK3188, the first 1KB of the first stage are loaded
901dff737c4SPhilipp Tomsich	  first and entered; after returning to the BROM, the
902dff737c4SPhilipp Tomsich	  remainder of the first stage is loaded, but the BROM
903dff737c4SPhilipp Tomsich	  re-enters at the same address/to the same code as previously.
904dff737c4SPhilipp Tomsich
905dff737c4SPhilipp Tomsich	  This enables support code in the BOOT0 hook for the TPL stage
906dff737c4SPhilipp Tomsich	  to allow multiple entries.
907dff737c4SPhilipp Tomsich
908230e0e09SSandy Pattersonconfig SPL_MMC_SUPPORT
909f6fef99aSZiyuan Xu	default y if !SPL_ROCKCHIP_BACK_TO_BROM && MMC
910230e0e09SSandy Patterson
91106621a79SKever Yangconfig RKIMG_BOOTLOADER
912aa1eec08SJoseph Chen	bool "Support for Rockchip platform features"
913aa1eec08SJoseph Chen	default y
91406621a79SKever Yang	help
915aa1eec08SJoseph Chen	  Actually this is a compatible configure for code compilation.
91606621a79SKever Yang
917a7774f59SZhangbin Tongconfig RKIMG_ANDROID_BOOTMODE_LEGACY
918a7774f59SZhangbin Tong	bool "Support set androidboot.mode with legacy rule"
919a7774f59SZhangbin Tong	depends on RKIMG_BOOTLOADER
920a7774f59SZhangbin Tong	default n
921a7774f59SZhangbin Tong	help
922a7774f59SZhangbin Tong	  Rockchip set "androidboot.mode=" as "charger" or boot media for android,
923a7774f59SZhangbin Tong	  which is a rockchip private solution(SDK < 8.1) and deprecated.
924a7774f59SZhangbin Tong
9255029b474SJoseph Chenconfig ROCKCHIP_BOOTDEV
9265029b474SJoseph Chen	string "Set the boot device for multiple storage board"
9275029b474SJoseph Chen	default ""
9285029b474SJoseph Chen	help
9295029b474SJoseph Chen	  On the multiple storage on board, set this to determine what we really
9305029b474SJoseph Chen	  want to be the boot device, which contains kernel, rootfs and etc.
9315029b474SJoseph Chen	  Fall through to get from preloader or scan list when it's NULL.
9325029b474SJoseph Chen
93308dcd37cSAndy Yanconfig ROCKCHIP_RESOURCE_IMAGE
93408dcd37cSAndy Yan	bool "Enable support for rockchip resource image"
935a12bbc34SJason Zhu	depends on RKIMG_BOOTLOADER
936aae0febbSJoseph Chen	default y
93708dcd37cSAndy Yan	help
93808dcd37cSAndy Yan	  This enables support to get dtb or logo files from
93908dcd37cSAndy Yan	  rockchip resource image format partition.
94008dcd37cSAndy Yan
941e0cee412SJoseph Chenconfig ROCKCHIP_DTB_VERIFY
942e0cee412SJoseph Chen	bool "Enable hash verify for DTB in the resource file"
943e0cee412SJoseph Chen	depends on ROCKCHIP_RESOURCE_IMAGE
944e0cee412SJoseph Chen	select SHA1 if !DM_CRYPTO
945e0cee412SJoseph Chen	select SHA256 if !DM_CRYPTO
946e0cee412SJoseph Chen	default y
947e0cee412SJoseph Chen	help
948e0cee412SJoseph Chen	  This enables the hash verify for DTB in the resource file, it means we
949e0cee412SJoseph Chen	  always read DTB from second position even the DTB position is present.
950e0cee412SJoseph Chen
9510ed06f16SJoseph Chenconfig ROCKCHIP_USB_BOOT
9520ed06f16SJoseph Chen	bool "Enable support for rockchip U-disk boot"
9530ed06f16SJoseph Chen	depends on USB
9540ed06f16SJoseph Chen	default n
9550ed06f16SJoseph Chen	help
9560ed06f16SJoseph Chen	  This enables support for rockchip U-disk boot.
9570ed06f16SJoseph Chen
958059c50acSJoseph Chenconfig ROCKCHIP_FIT_IMAGE
959059c50acSJoseph Chen	bool "Enable support for FIT image"
96001c76730SJoseph Chen	depends on FIT
961059c50acSJoseph Chen	select CMD_BOOT_FIT
962059c50acSJoseph Chen	default n
963059c50acSJoseph Chen	help
964059c50acSJoseph Chen	  This enables loading dtb from fit image.
965059c50acSJoseph Chen
966191c6877SJoseph Chenconfig ROCKCHIP_UIMAGE
967191c6877SJoseph Chen	bool "Enable support for legacy uImage"
968191c6877SJoseph Chen	depends on !FIT_SIGNATURE && USING_KERNEL_DTB
969191c6877SJoseph Chen	select CMD_BOOT_UIMAGE
970191c6877SJoseph Chen	default n
971191c6877SJoseph Chen	help
972191c6877SJoseph Chen	  This enables loading dtb from uImage image.
973191c6877SJoseph Chen
974a0ceee92SJoseph Chenconfig ROCKCHIP_EARLY_DISTRO_DTB
975a0ceee92SJoseph Chen	bool "Enable support for distro dtb early"
976bc4ccd53SJoseph Chen	depends on DISTRO_DEFAULTS && USING_KERNEL_DTB && CMD_FS_GENERIC
977a0ceee92SJoseph Chen	default n
978a0ceee92SJoseph Chen	help
979a0ceee92SJoseph Chen	  This enables loading dtb from distro bootable partition when there
980a0ceee92SJoseph Chen	  is no valid dtb in android boot.img and rockchip resource.img.
981a0ceee92SJoseph Chen
982a0ceee92SJoseph Chenif ROCKCHIP_EARLY_DISTRO_DTB
983a0ceee92SJoseph Chen
984a0ceee92SJoseph Chenconfig ROCKCHIP_EARLY_DISTRO_DTB_PATH
985a0ceee92SJoseph Chen	string "/rk-kernel.dtb"
986a0ceee92SJoseph Chen	help
987a0ceee92SJoseph Chen	  "DTB file path in the bootable partition image"
988a0ceee92SJoseph Chenendif
989a0ceee92SJoseph Chen
990ca6fb291SJoseph Chenconfig ROCKCHIP_HWID_DTB
991ca6fb291SJoseph Chen	bool "Enable support for selecting DTB by hardware id"
992ca6fb291SJoseph Chen	depends on ROCKCHIP_RESOURCE_IMAGE
993ca6fb291SJoseph Chen	default n
994ca6fb291SJoseph Chen	help
995ca6fb291SJoseph Chen	  This enables select the expected DTB from sets by hardware id,
996ca6fb291SJoseph Chen	  i.e. GPIO or ADC value.
997ca6fb291SJoseph Chen
998de479f92SXuhui Linconfig SPL_ROCKCHIP_HWID_DTB
999de479f92SXuhui Lin	bool "Enable support for selecting DTB by hardware id in SPL"
1000de479f92SXuhui Lin	depends on SPL_KERNEL_BOOT
1001de479f92SXuhui Lin	default n
1002de479f92SXuhui Lin	help
1003de479f92SXuhui Lin	  This enables select the expected kernel DTB from sets by hardware id in SPL,
1004de479f92SXuhui Lin	  i.e. GPIO or ADC value.
1005de479f92SXuhui Lin
100691441457Sfrancis.fanconfig ROCKCHIP_VENDOR_PARTITION
10075bd6dc27SKever Yang	bool "Rockchip vendor storage partition support"
100870990948SYifeng Zhao	depends on (RKIMG_BOOTLOADER || SUPPORT_USBPLUG)
100991441457Sfrancis.fan	help
101091441457Sfrancis.fan	  This enable support to read/write vendor configuration data from/to
10115bd6dc27SKever Yang	  this partition.
101291441457Sfrancis.fan
1013f8aaa2c2SKever Yangconfig USING_KERNEL_DTB
1014f8aaa2c2SKever Yang	bool "Using dtb from Kernel/resource for U-Boot"
1015f8aaa2c2SKever Yang	depends on RKIMG_BOOTLOADER && OF_LIVE
1016f8aaa2c2SKever Yang	default y
1017f8aaa2c2SKever Yang	help
1018f8aaa2c2SKever Yang	  This enable support to read dtb from resource and use it for U-Boot,
1019f8aaa2c2SKever Yang	  the uart and emmc will still using U-Boot dtb, but other devices like
1020f8aaa2c2SKever Yang	  regulator/pmic, display, usb will use dts node from kernel.
1021f8aaa2c2SKever Yang
102295eb462eSJoseph Chenconfig USING_KERNEL_DTB_V2
102395eb462eSJoseph Chen	bool "Version 2 of kernel dtb mechanism"
102495eb462eSJoseph Chen	depends on USING_KERNEL_DTB
102595eb462eSJoseph Chen	default n
102695eb462eSJoseph Chen	help
102795eb462eSJoseph Chen	  The V2 mechanism:
102895eb462eSJoseph Chen	    - both of U-Boot and kernel's *ALL* devices are exist in dm tree.
102995eb462eSJoseph Chen	    - put the necessary U-Boot devices in the head of device uclass list.
103095eb462eSJoseph Chen	    - the both existence policy don't require phandle fixup any more.
103195eb462eSJoseph Chen	    - it is for the next generation(rk3588 ...) or necessary platforms.
103295eb462eSJoseph Chen	  The V1 mechanism(legacy):
103395eb462eSJoseph Chen	    - U-Boot: only some necessary U-Boot devices(storage, crypto...) in dm tree.
103495eb462eSJoseph Chen	    - kernel: all the devices(except the U-Boot only) in dm tree.
103595eb462eSJoseph Chen
10362f5c1c77SJoseph Chenconfig EMBED_KERNEL_DTB
10372f5c1c77SJoseph Chen	bool "Enable embedded dtb support"
10382f5c1c77SJoseph Chen	default n
10392f5c1c77SJoseph Chen	help
10402f5c1c77SJoseph Chen	  Enable embedded dtb support.
10412f5c1c77SJoseph Chen
104203781805SJoseph Chenconfig EMBED_KERNEL_DTB_PATH
10432f5c1c77SJoseph Chen	string "Embedded kernel dtb file path"
10442f5c1c77SJoseph Chen	depends on EMBED_KERNEL_DTB && USING_KERNEL_DTB
1045abfd1c5eSJoseph Chen	default "dts/kern.dtb"
104603781805SJoseph Chen	help
104703781805SJoseph Chen	  This file will auto be appended to the u-boot.bin.
104803781805SJoseph Chen
104903781805SJoseph Chenconfig EMBED_KERNEL_DTB_ALWAYS
10502f5c1c77SJoseph Chen	bool "Always using embedded kernel dtb"
10512f5c1c77SJoseph Chen	depends on EMBED_KERNEL_DTB && USING_KERNEL_DTB
105203781805SJoseph Chen	default n
105303781805SJoseph Chen	help
105403781805SJoseph Chen	  Allow fallback to always use a prepared kernel dtb even USING_KERNEL_DTB
105503781805SJoseph Chen	  is set. This makes U-Boot stage more stable but not flexible any more to
105603781805SJoseph Chen	  compatible different boards.
1057abfd1c5eSJoseph Chen
1058882c7251SJoseph Chenconfig ROCKCHIP_CRC
1059882c7251SJoseph Chen	bool "Rockchip CRC verify images"
1060882c7251SJoseph Chen	help
1061882c7251SJoseph Chen	  This enable support Rockchip CRC verify images. It takes a lot of time,
1062882c7251SJoseph Chen	  so it is better only used for debug.
1063882c7251SJoseph Chen
1064f270a3f8SJoseph Chenconfig ROCKCHIP_SMCCC
1065f270a3f8SJoseph Chen	bool "Rockchip SMCCC"
1066f270a3f8SJoseph Chen	default y if ARM_SMCCC
1067f270a3f8SJoseph Chen	help
1068f270a3f8SJoseph Chen	  This enable support for Rockchip SMC calls
1069f270a3f8SJoseph Chen
1070c563adc7SJoseph Chenconfig ROCKCHIP_DEBUGGER
1071c563adc7SJoseph Chen	bool "Rockchip debugger"
1072c563adc7SJoseph Chen	depends on IRQ
1073c563adc7SJoseph Chen	help
1074c563adc7SJoseph Chen	  This enable support for Rockchip debugger. Now we install a timer interrupt
1075c563adc7SJoseph Chen	  and dump pt_regs when the timeout event trigger. This helps us to know cpu
1076c563adc7SJoseph Chen	  state when system hang.
1077c563adc7SJoseph Chen
107824cd8f36SJoseph Chenconfig ROCKCHIP_CRASH_DUMP
107924cd8f36SJoseph Chen	bool "Rockchip crash dump registers"
108024cd8f36SJoseph Chen	help
108124cd8f36SJoseph Chen	  This enable dump registers when system crash, the registers you would like
108224cd8f36SJoseph Chen	  to dump can be added in show_regs().
108324cd8f36SJoseph Chen
1084dc490422SJoseph Chenconfig ROCKCHIP_PRELOADER_ATAGS
1085dc490422SJoseph Chen	bool "Rockchip pre-loader atags"
1086dc490422SJoseph Chen	default y if ARCH_ROCKCHIP
1087dc490422SJoseph Chen	help
1088dc490422SJoseph Chen	  This enable support Rockchip atags among pre-loaders, i.e. ddr, miniloader, ATF,
1089dc490422SJoseph Chen	  tos, U-Boot, etc. It delivers boot and configure information, shared with pre-loaders
1090dc490422SJoseph Chen	  and finally ends with U-Boot.
1091dc490422SJoseph Chen
109248201c4cSJason Zhuconfig ROCKCHIP_META
109348201c4cSJason Zhu	bool "Rockchip Meta"
109448201c4cSJason Zhu	depends on SPL_KERNEL_BOOT && SPL_LIBDISK_SUPPORT
109548201c4cSJason Zhu	help
109648201c4cSJason Zhu	  This support to load Rockchip meta data which like isp parameter, peripheral
109748201c4cSJason Zhu	  parameters, etc.
109848201c4cSJason Zhu
1099064eb493SJoseph Chenconfig ROCKCHIP_PRELOADER_SERIAL
1100064eb493SJoseph Chen	bool "Rockchip pre-loader serial"
1101064eb493SJoseph Chen	default y if ROCKCHIP_PRELOADER_ATAGS
1102064eb493SJoseph Chen	help
1103064eb493SJoseph Chen	  This enable U-Boot using pre-loader atags serial configure to initialize console.
1104064eb493SJoseph Chen	  It denpends on serial aliases to find pre-loader serial number.
1105064eb493SJoseph Chen
1106c58c68c9SJoseph Chenconfig ROCKCHIP_IMAGE_TINY
1107c58c68c9SJoseph Chen	bool "Rockchip tiny Image generation"
1108c58c68c9SJoseph Chen	default n
1109c58c68c9SJoseph Chen	help
1110c58c68c9SJoseph Chen	  This enable tiny image generation
1111c58c68c9SJoseph Chen
1112b9e68cc3SJoseph Chenconfig ROCKCHIP_FIT_IMAGE_PACK
1113b9e68cc3SJoseph Chen	bool "Rockchip fit image pack of U-Boot and TEE"
11141392e218SJoseph Chen	depends on ROCKCHIP_FIT_IMAGE
1115b9e68cc3SJoseph Chen	default n
1116b9e68cc3SJoseph Chen	help
1117b9e68cc3SJoseph Chen	  This enable fit image pack of U-Boot and TEE, it's used for make.sh script.
1118b9e68cc3SJoseph Chen
11199994e220SYouMin Chenconfig ROCKCHIP_UART_MUX_SEL_M
11209994e220SYouMin Chen	int "UART mux select"
11219994e220SYouMin Chen	default 0
11229994e220SYouMin Chen	depends on TPL
11239994e220SYouMin Chen	help
11249994e220SYouMin Chen	  This select uart multiplexer for debug uart iomux in board_debug_uart_init.
11259994e220SYouMin Chen
1126a225402cSJoseph Chenconfig ROCKCHIP_REBOOT_TEST
1127a225402cSJoseph Chen	bool "Rockchip reboot stress test before kernel"
1128a225402cSJoseph Chen	default n
1129a225402cSJoseph Chen	help
1130a225402cSJoseph Chen	  It's a reboot stress test before kernel stages.
1131a225402cSJoseph Chen
113261507290SJoseph Chenconfig ROCKCHIP_NEW_IDB
113361507290SJoseph Chen	bool "Rockchip new IDB header"
113461507290SJoseph Chen	default n
113561507290SJoseph Chen	help
113661507290SJoseph Chen	  The new IDB header was introduced from RK356X.
113761507290SJoseph Chen
1138a0b23d9cSJoseph Chenconfig ROCKCHIP_HOTKEY
1139a0b23d9cSJoseph Chen	bool "Rockchip hotkey"
1140a0b23d9cSJoseph Chen	default y
1141a0b23d9cSJoseph Chen	help
1142a0b23d9cSJoseph Chen	  Define a lot of hotkeys for debug.
1143a0b23d9cSJoseph Chen
1144a03ccd5bSJoseph Chenconfig ROCKCHIP_CMD
1145a03ccd5bSJoseph Chen	string "Rockchip specific command"
1146a03ccd5bSJoseph Chen	default ""
1147a03ccd5bSJoseph Chen	help
1148a03ccd5bSJoseph Chen	  It defines a command to be run when the key is pressed if assigned.
1149a03ccd5bSJoseph Chen	  String format: "cmd key".
1150a03ccd5bSJoseph Chen	  @cmd: any U-Boot cmd.
1151a03ccd5bSJoseph Chen	  @key: any key map id, '-' standard for ignore.
1152a03ccd5bSJoseph Chen	  e.g. "sd_update 115", 115 is KEY_VOLUMEUP.
1153a03ccd5bSJoseph Chen
1154a93252dfSJoseph Chenconfig GICV2
1155a93252dfSJoseph Chen	bool "ARM GICv2"
1156a93252dfSJoseph Chen
1157a93252dfSJoseph Chenconfig GICV3
1158a93252dfSJoseph Chen	bool "ARM GICv3"
1159a93252dfSJoseph Chen
11605f10b846SYifeng Zhaoconfig ROCKCHIP_EMMC_IOMUX
11615f10b846SYifeng Zhao	bool "ROCKCHIP EMMC IOMUX"
11625f10b846SYifeng Zhao	default n
11635f10b846SYifeng Zhao	help
11645f10b846SYifeng Zhao	  This enable U-Boot to config EMMC iomux.
11655f10b846SYifeng Zhao
11665f10b846SYifeng Zhaoconfig ROCKCHIP_NAND_IOMUX
11675f10b846SYifeng Zhao	bool "ROCKCHIP NAND IOMUX"
11685f10b846SYifeng Zhao	default n
11695f10b846SYifeng Zhao	help
11705f10b846SYifeng Zhao	  This enable U-Boot to config NAND iomux.
11715f10b846SYifeng Zhao
11725f10b846SYifeng Zhaoconfig ROCKCHIP_SFC_IOMUX
11735f10b846SYifeng Zhao	bool "ROCKCHIP SFC IOMUX"
11745f10b846SYifeng Zhao	default n
11755f10b846SYifeng Zhao	help
11765f10b846SYifeng Zhao	  This enable U-Boot to config SFC iomux.
11775f10b846SYifeng Zhao
1178c9a034c4SJoseph Chenconfig ROCKCHIP_SET_SN
1179c9a034c4SJoseph Chen	bool "Rockchip set serial number"
1180c9a034c4SJoseph Chen	default y
1181c9a034c4SJoseph Chen
1182c9a034c4SJoseph Chenconfig ROCKCHIP_SET_ETHADDR
1183c9a034c4SJoseph Chen	bool "Rockchip set eth address"
1184c9a034c4SJoseph Chen	default y
1185c9a034c4SJoseph Chen
1186c6d55e4aSJoseph Chenconfig BASE_DEFCONFIG
1187c6d55e4aSJoseph Chen	string "Base defconfig of config fragment"
1188c6d55e4aSJoseph Chen	default ""
1189c6d55e4aSJoseph Chen	help
1190c6d55e4aSJoseph Chen	  Indicate the base defconfig of config fragment.
1191c6d55e4aSJoseph Chen
1192c6d55e4aSJoseph Chenconfig CHIP_NAME
1193c6d55e4aSJoseph Chen	string "Chip label name"
1194c6d55e4aSJoseph Chen	default ""
1195c6d55e4aSJoseph Chen
1196c6d55e4aSJoseph Chenconfig LOADER_INI
1197c6d55e4aSJoseph Chen	string "Name of Loader ini file in rkbin repository"
1198c6d55e4aSJoseph Chen	default ""
1199c6d55e4aSJoseph Chen	help
1200c6d55e4aSJoseph Chen	  The ini file is used to pack loader image.
1201c6d55e4aSJoseph Chen
1202c6d55e4aSJoseph Chenconfig TRUST_INI
1203c6d55e4aSJoseph Chen	string "Name of Trust ini file in rkbin repository"
1204c6d55e4aSJoseph Chen	default ""
1205c6d55e4aSJoseph Chen	help
1206c6d55e4aSJoseph Chen	  The ini file is used to pack trust image.
1207c6d55e4aSJoseph Chen
1208b2d5967aSJoseph Chenif !ROCKCHIP_FIT_IMAGE_PACK
1209c6d55e4aSJoseph Chenconfig UBOOT_SIZE_KB
1210c6d55e4aSJoseph Chen	int "Per u-boot.bin Image size, unit: KB"
1211c6d55e4aSJoseph Chen	default 1024
1212c6d55e4aSJoseph Chen
1213c6d55e4aSJoseph Chenconfig UBOOT_NUM
1214c6d55e4aSJoseph Chen	int "Number of u-boot.bin image being packed into trust.img"
1215c6d55e4aSJoseph Chen	default 4
1216c6d55e4aSJoseph Chen
1217c6d55e4aSJoseph Chenconfig TRUST_SIZE_KB
1218c6d55e4aSJoseph Chen	int "Per trust Image size, unit: KB"
1219c6d55e4aSJoseph Chen	default 2048
1220c6d55e4aSJoseph Chen
1221c6d55e4aSJoseph Chenconfig TRUST_NUM
1222c6d55e4aSJoseph Chen	int "Number of trust image being packed into trust.img"
1223c6d55e4aSJoseph Chen	default 2
1224c6d55e4aSJoseph Chen
1225c6d55e4aSJoseph Chenconfig TRUST_RSA_MODE
1226c6d55e4aSJoseph Chen	int "RSA mode of trust.img on ARM64"
1227c6d55e4aSJoseph Chen	default 2
1228c6d55e4aSJoseph Chen	help
1229c6d55e4aSJoseph Chen	  The RSA mode for tools to pack, the mode id can be:
1230c6d55e4aSJoseph Chen	  0: none; 1: RSA-1024; 2: RSA-2048; 3: RSA-2048-pss.
1231c6d55e4aSJoseph Chen
1232c6d55e4aSJoseph Chenconfig TRUST_SHA_MODE
1233c6d55e4aSJoseph Chen	int "SHA mode of trust.img on ARM64"
1234c6d55e4aSJoseph Chen	default 3
1235c6d55e4aSJoseph Chen	help
1236c6d55e4aSJoseph Chen	  The SHA mode for tools to pack, the mode id can be:
1237c6d55e4aSJoseph Chen	  0: none; 1: sha1; 2: sha256 RK big endian; 3: sha256 little endian.
1238b2d5967aSJoseph Chenendif
1239c6d55e4aSJoseph Chen
1240ad771a9cSHuibin Hongconfig PSTORE
1241ad771a9cSHuibin Hong	bool "Print log to linux pstore buffer"
1242ad771a9cSHuibin Hong	default n
1243ad771a9cSHuibin Hong	help
1244ad771a9cSHuibin Hong	  This enable Print uboot log to linux pstore buffer which address
1245ad771a9cSHuibin Hong	  is default 0x110000 for most soc.
1246ad771a9cSHuibin Hong
1247ad771a9cSHuibin Hongconfig PERSISTENT_RAM_ADDR
1248ad771a9cSHuibin Hong	hex "Linux pstore buffer address"
1249ad771a9cSHuibin Hong	default 0x0
1250ad771a9cSHuibin Hong	depends on PSTORE
1251ad771a9cSHuibin Hong	help
12520a7aeeb2SJoseph Chen	  This select linux pstore buffer address for U-Boot. When value is
12530a7aeeb2SJoseph Chen	  0, U-Boot auto gets this address from preloader atags.
1254ad771a9cSHuibin Hong
1255ad771a9cSHuibin Hongconfig PERSISTENT_RAM_SIZE
1256ad771a9cSHuibin Hong	hex "Linux pstore buffer size"
1257ad771a9cSHuibin Hong	default 0x0
12580a7aeeb2SJoseph Chen	depends on (PERSISTENT_RAM_ADDR != 0)
1259ad771a9cSHuibin Hong	help
12600a7aeeb2SJoseph Chen	  This select linux pstore buffer size for U-Boot, the value must be
12610a7aeeb2SJoseph Chen	  set if PERSISTENT_RAM_ADDR != 0.
1262ad771a9cSHuibin Hong
1263b3372aa6SHuibin Hongconfig ROCKCHIP_MINIDUMP
1264b3372aa6SHuibin Hong	bool "Minidump Save Linux Debug Data To Ram Elf"
1265b3372aa6SHuibin Hong	default n
1266b3372aa6SHuibin Hong	help
1267b3372aa6SHuibin Hong	  This enable saving linux debug data to a reserved memory as a elf file.
1268b3372aa6SHuibin Hong
1269b3372aa6SHuibin Hongconfig ROCKCHIP_MINIDUMP_SMEM_BASE
1270b3372aa6SHuibin Hong	hex "The base of share memory between Uboot and Linux"
1271b3372aa6SHuibin Hong	default 0x1f0000
1272b3372aa6SHuibin Hong	depends on ROCKCHIP_MINIDUMP
1273b3372aa6SHuibin Hong	help
1274b3372aa6SHuibin Hong	  This select the base address of share memory, which is behind PSTORE.
1275b3372aa6SHuibin Hong
1276b3372aa6SHuibin Hongconfig ROCKCHIP_MINIDUMP_MAX_ELF_SIZE
1277b3372aa6SHuibin Hong	hex "The max size of minidump elf"
1278b3372aa6SHuibin Hong	default 0x2000000
1279b3372aa6SHuibin Hong	depends on ROCKCHIP_MINIDUMP
1280b3372aa6SHuibin Hong	help
1281b3372aa6SHuibin Hong	  This is used to judge the elf program size and section size.
1282b3372aa6SHuibin Hong
1283b3372aa6SHuibin Hongconfig ROCKCHIP_MINIDUMP_MAX_ENTRIES
1284b3372aa6SHuibin Hong	hex "The max entries of minidump region"
1285b3372aa6SHuibin Hong	default 0x200
1286b3372aa6SHuibin Hong	depends on ROCKCHIP_MINIDUMP
1287b3372aa6SHuibin Hong	help
1288b3372aa6SHuibin Hong	  This sets the max entries of minidump region.
1289b3372aa6SHuibin Hong
1290b87fc700SJoseph Chenconfig SANITY_CPU_SWAP
1291b87fc700SJoseph Chen	bool "Sanity cpu swap"
1292b87fc700SJoseph Chen	help
1293b87fc700SJoseph Chen	  This enale checking current cpu mpidr and kernel
1294b87fc700SJoseph Chen	  dts cpu0 mpidr.
1295b87fc700SJoseph Chen
1296448a4b38SKever Yangsource "arch/arm/mach-rockchip/px30/Kconfig"
1297be1d5e03Shuang linsource "arch/arm/mach-rockchip/rk3036/Kconfig"
1298578306eaSPaweł Jaroszsource "arch/arm/mach-rockchip/rk3066/Kconfig"
12996a13bde3SKever Yangsource "arch/arm/mach-rockchip/rk3128/Kconfig"
13000a2be69fSHeiko Stübnersource "arch/arm/mach-rockchip/rk3188/Kconfig"
1301b24a8ec1SKever Yangsource "arch/arm/mach-rockchip/rk322x/Kconfig"
1302041cdb5fSHeiko Stübnersource "arch/arm/mach-rockchip/rk3288/Kconfig"
1303c1e43163SAndy Yansource "arch/arm/mach-rockchip/rk3308/Kconfig"
130485a3cfb8SKever Yangsource "arch/arm/mach-rockchip/rk3328/Kconfig"
130537a0c600SAndreas Färbersource "arch/arm/mach-rockchip/rk3368/Kconfig"
1306a381bcf5SKever Yangsource "arch/arm/mach-rockchip/rk3399/Kconfig"
130785e5c210SXuhui Linsource "arch/arm/mach-rockchip/rk3506/Kconfig"
1308c6f7c1a3SJoseph Chensource "arch/arm/mach-rockchip/rk3528/Kconfig"
130956f7d184SJoseph Chensource "arch/arm/mach-rockchip/rk3562/Kconfig"
13107e26af38SJoseph Chensource "arch/arm/mach-rockchip/rk3568/Kconfig"
1311bf72c9c9SXuhui Linsource "arch/arm/mach-rockchip/rk3576/Kconfig"
1312e1cfe1c9SJoseph Chensource "arch/arm/mach-rockchip/rk3588/Kconfig"
13138870d6b7SJoseph Chensource "arch/arm/mach-rockchip/rk1808/Kconfig"
1314b9dcc643SXuhui Linsource "arch/arm/mach-rockchip/rv1103b/Kconfig"
131504e2aa7fSJoseph Chensource "arch/arm/mach-rockchip/rv1106/Kconfig"
13162c1e11ddSAndy Yansource "arch/arm/mach-rockchip/rv1108/Kconfig"
1317e7c03ac6SJoseph Chensource "arch/arm/mach-rockchip/rv1126/Kconfig"
13184e72b326SXuhui Linsource "arch/arm/mach-rockchip/rv1126b/Kconfig"
13190dc03778SJoseph Chen
13202444dae5SSimon Glassendif
1321