xref: /rk3399_rockchip-uboot/arch/arm/mach-rockchip/Kconfig (revision ade6d65fa167bb7a6f9e4c5af94229600a8fade2)
12444dae5SSimon Glassif ARCH_ROCKCHIP
22444dae5SSimon Glass
310e73f7bSKever Yangconfig ROCKCHIP_PX30
410e73f7bSKever Yang	bool "Support Rockchip PX30"
510e73f7bSKever Yang	select ARM64
660848109SJoseph Chen	select GICV2
793f9f019SJoseph Chen	select ARM_SMCCC
8f6d4196eSYouMin Chen	select SUPPORT_SPL
9f6d4196eSYouMin Chen	select SUPPORT_TPL
10f6d4196eSYouMin Chen	select SPL
11f6d4196eSYouMin Chen	select TPL
12f6d4196eSYouMin Chen	select TPL_TINY_FRAMEWORK if TPL
13f6d4196eSYouMin Chen
14f6d4196eSYouMin Chen	imply SPL_SERIAL_SUPPORT
15f6d4196eSYouMin Chen	imply TPL_SERIAL_SUPPORT
16f6d4196eSYouMin Chen	select DEBUG_UART_BOARD_INIT
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
53cdfcfbccSDavid Wu	select DEBUG_UART_BOARD_INIT
546ba2d5cbSJoseph Chen	select ARM_SMCCC
55041cdb5fSHeiko Stübner	help
56041cdb5fSHeiko Stübner	  The Rockchip RK3036 is a ARM-based SoC with a dual-core Cortex-A7
57041cdb5fSHeiko Stübner	  including NEON and GPU, Mali-400 graphics, several DDR3 options
58041cdb5fSHeiko Stübner	  and video codec support. Peripherals include Gigabit Ethernet,
59041cdb5fSHeiko Stübner	  USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
60041cdb5fSHeiko Stübner
616a13bde3SKever Yangconfig ROCKCHIP_RK3128
626a13bde3SKever Yang	bool "Support Rockchip RK3128"
636a13bde3SKever Yang	select CPU_V7
64f3d84b4aSJoseph Chen	select GICV2
65965c1b10SJoseph Chen	select ARM_SMCCC
666a13bde3SKever Yang	help
676a13bde3SKever Yang	  The Rockchip RK3128 is a ARM-based SoC with a quad-core Cortex-A7
686a13bde3SKever Yang	  including NEON and GPU, Mali-400 graphics, several DDR3 options
696a13bde3SKever Yang	  and video codec support. Peripherals include Gigabit Ethernet,
706a13bde3SKever Yang	  USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
716a13bde3SKever Yang
72e1048023SJoseph Chenif ROCKCHIP_RK3128
73e1048023SJoseph Chen
74e1048023SJoseph Chenconfig ROCKCHIP_RK3126
75e1048023SJoseph Chen	bool "Support Rockchip RK3126 "
76e1048023SJoseph Chen	help
77e1048023SJoseph Chen	  RK3126 can use most code from RK3128, but at some situations we have
78e1048023SJoseph Chen	  to distinguish between RK3126 and RK3128, so this macro gives help.
79e1048023SJoseph Chen	  It is usually selected in rk3126 board defconfig.
80e1048023SJoseph Chenendif
81e1048023SJoseph Chen
82578306eaSPaweł Jaroszconfig ROCKCHIP_RK3066
83578306eaSPaweł Jarosz	bool "Support Rockchip RK3066"
84578306eaSPaweł Jarosz	select CPU_V7
85578306eaSPaweł Jarosz	select SUPPORT_SPL
86578306eaSPaweł Jarosz	select SUPPORT_TPL
87578306eaSPaweł Jarosz	select SPL
88578306eaSPaweł Jarosz	select TPL
89578306eaSPaweł Jarosz	select BOARD_LATE_INIT
90578306eaSPaweł Jarosz	select ROCKCHIP_BROM_HELPER
91ffb06671SKever Yang	select SPL_ROCKCHIP_EARLYRETURN_TO_BROM
92578306eaSPaweł Jarosz	help
93578306eaSPaweł Jarosz	  The Rockchip RK3066 is a ARM-based SoC with a dual-core Cortex-A9
94578306eaSPaweł Jarosz	  including NEON and GPU, Mali-400 graphics, several DDR3 options
95578306eaSPaweł Jarosz	  and video codec support. Peripherals include ethernet, USB2 host
96578306eaSPaweł Jarosz	  and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
97578306eaSPaweł Jarosz
980a2be69fSHeiko Stübnerconfig ROCKCHIP_RK3188
990a2be69fSHeiko Stübner	bool "Support Rockchip RK3188"
1000a2be69fSHeiko Stübner	select CPU_V7
1010680f1b1SLey Foon Tan	select SPL_BOARD_INIT if SPL
1020a2be69fSHeiko Stübner	select SUPPORT_SPL
1030a2be69fSHeiko Stübner	select SPL
104397403c7SPhilipp Tomsich	select SPL_CLK
105397403c7SPhilipp Tomsich	select SPL_REGMAP
106397403c7SPhilipp Tomsich	select SPL_SYSCON
107397403c7SPhilipp Tomsich	select SPL_RAM
108397403c7SPhilipp Tomsich	select SPL_DRIVERS_MISC_SUPPORT
109885cc66fSPhilipp Tomsich	select SPL_ROCKCHIP_EARLYRETURN_TO_BROM
110008a610bSHeiko Stübner	select BOARD_LATE_INIT
1110a2be69fSHeiko Stübner	select ROCKCHIP_BROM_HELPER
1120a2be69fSHeiko Stübner	help
1130a2be69fSHeiko Stübner	  The Rockchip RK3188 is a ARM-based SoC with a quad-core Cortex-A9
1140a2be69fSHeiko Stübner	  including NEON and GPU, 512KB L2 cache, Mali-400 graphics, two
1150a2be69fSHeiko Stübner	  video interfaces, several memory options and video codec support.
1160a2be69fSHeiko Stübner	  Peripherals include Fast Ethernet, USB2 host and OTG, SDIO, I2S,
1170a2be69fSHeiko Stübner	  UART, SPI, I2C and PWMs.
1180a2be69fSHeiko Stübner
119168eef7aSKever Yangconfig ROCKCHIP_RK322X
120168eef7aSKever Yang	bool "Support Rockchip RK3228/RK3229"
121168eef7aSKever Yang	select CPU_V7
122168eef7aSKever Yang	select SUPPORT_SPL
12306d27531SKever Yang	select SUPPORT_TPL
124168eef7aSKever Yang	select SPL
12506d27531SKever Yang	select TPL
12606d27531SKever Yang	select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL
12706d27531SKever Yang	select TPL_NEEDS_SEPARATE_STACK if TPL
12806d27531SKever Yang	select SPL_DRIVERS_MISC_SUPPORT
12906d27531SKever Yang	imply SPL_SERIAL_SUPPORT
13006d27531SKever Yang	imply TPL_SERIAL_SUPPORT
131168eef7aSKever Yang	select ROCKCHIP_BROM_HELPER
132168eef7aSKever Yang	select DEBUG_UART_BOARD_INIT
13306d27531SKever Yang	select TPL_LIBCOMMON_SUPPORT
13406d27531SKever Yang	select TPL_LIBGENERIC_SUPPORT
135d1d395d7SJoseph Chen	select GICV2
1366ba2d5cbSJoseph Chen	select ARM_SMCCC
137168eef7aSKever Yang	help
138168eef7aSKever Yang	  The Rockchip RK3229 is a ARM-based SoC with a dual-core Cortex-A7
139168eef7aSKever Yang	  including NEON and GPU, Mali-400 graphics, several DDR3 options
140168eef7aSKever Yang	  and video codec support. Peripherals include Gigabit Ethernet,
141168eef7aSKever Yang	  USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
142168eef7aSKever Yang
1432444dae5SSimon Glassconfig ROCKCHIP_RK3288
1442444dae5SSimon Glass	bool "Support Rockchip RK3288"
145e0f5dbcbSAndreas Färber	select CPU_V7
1460680f1b1SLey Foon Tan	select SPL_BOARD_INIT if SPL
147a381bcf5SKever Yang	select SUPPORT_SPL
148a381bcf5SKever Yang	select SPL
14986a31622SJoseph Chen	select GICV2
1506ba2d5cbSJoseph Chen	select ARM_SMCCC
1512444dae5SSimon Glass	help
1522444dae5SSimon Glass	  The Rockchip RK3288 is a ARM-based SoC with a quad-core Cortex-A17
1532444dae5SSimon Glass	  including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
1542444dae5SSimon Glass	  video interfaces supporting HDMI and eDP, several DDR3 options
1552444dae5SSimon Glass	  and video codec support. Peripherals include Gigabit Ethernet,
156ef904bf2SAndreas Färber	  USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
1572444dae5SSimon Glass
1583d78ac3eSAndy Yanconfig ROCKCHIP_RK3308
1593d78ac3eSAndy Yan	bool "Support Rockchip RK3308"
160b4bed602SAndy Yan	select ARM64 if !ARM64_BOOT_AARCH32
1613d78ac3eSAndy Yan	select DEBUG_UART_BOARD_INIT
1626ba2d5cbSJoseph Chen	select ARM_SMCCC
1633d78ac3eSAndy Yan	help
1643d78ac3eSAndy Yan	  The Rockchip RK3308 is a ARM-based Soc which embeded with quad
1653d78ac3eSAndy Yan	  Cortex-A35 and highly integrated audio interfaces.
1663d78ac3eSAndy Yan
16785a3cfb8SKever Yangconfig ROCKCHIP_RK3328
16885a3cfb8SKever Yang	bool "Support Rockchip RK3328"
16985a3cfb8SKever Yang	select ARM64
17055da6f73SJoseph Chen	select GICV2
171430b0146SKever Yang	select SUPPORT_SPL
172430b0146SKever Yang	select SUPPORT_TPL
173430b0146SKever Yang	select SPL
174430b0146SKever Yang	select TPL
175430b0146SKever Yang	select TPL_NEEDS_SEPARATE_TEXT_BASE if TPL
176430b0146SKever Yang	select TPL_NEEDS_SEPARATE_STACK if TPL
177430b0146SKever Yang	imply SPL_SERIAL_SUPPORT
178430b0146SKever Yang	imply TPL_SERIAL_SUPPORT
179430b0146SKever Yang	imply SPL_SEPARATE_BSS
180430b0146SKever Yang	select DEBUG_UART_BOARD_INIT
1816ba2d5cbSJoseph Chen	select ARM_SMCCC
18285a3cfb8SKever Yang	help
18385a3cfb8SKever Yang	  The Rockchip RK3328 is a ARM-based SoC with a quad-core Cortex-A53.
18485a3cfb8SKever Yang	  including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
18585a3cfb8SKever Yang	  video interfaces supporting HDMI and eDP, several DDR3 options
18685a3cfb8SKever Yang	  and video codec support. Peripherals include Gigabit Ethernet,
18785a3cfb8SKever Yang	  USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
18885a3cfb8SKever Yang
189430b0146SKever Yangif ROCKCHIP_RK3328
190430b0146SKever Yang
191430b0146SKever Yangconfig TPL_LDSCRIPT
192430b0146SKever Yang	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
193430b0146SKever Yang
194430b0146SKever Yangconfig TPL_TEXT_BASE
195430b0146SKever Yang        default 0xff091000
196430b0146SKever Yang
197430b0146SKever Yangconfig TPL_MAX_SIZE
198430b0146SKever Yang        default 28672
199430b0146SKever Yang
200430b0146SKever Yangconfig TPL_STACK
201430b0146SKever Yang        default 0xff098000
202430b0146SKever Yang
203430b0146SKever Yangendif
204430b0146SKever Yang
20537a0c600SAndreas Färberconfig ROCKCHIP_RK3368
20637a0c600SAndreas Färber	bool "Support Rockchip RK3368"
20737a0c600SAndreas Färber	select ARM64
2085071457eSPhilipp Tomsich	select SUPPORT_SPL
2095071457eSPhilipp Tomsich	select SUPPORT_TPL
2104cf4378eSPhilipp Tomsich	select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL
2114cf4378eSPhilipp Tomsich	select TPL_NEEDS_SEPARATE_STACK if TPL
2125071457eSPhilipp Tomsich	imply SPL_SEPARATE_BSS
2135071457eSPhilipp Tomsich	imply SPL_SERIAL_SUPPORT
2145071457eSPhilipp Tomsich	imply TPL_SERIAL_SUPPORT
2155071457eSPhilipp Tomsich	select DEBUG_UART_BOARD_INIT
216503f955fSJoseph Chen	select GICV2
2176ba2d5cbSJoseph Chen	select ARM_SMCCC
21837a0c600SAndreas Färber	help
2199a8f009fSPhilipp Tomsich	  The Rockchip RK3368 is a ARM-based SoC with a octa-core (organised
2209a8f009fSPhilipp Tomsich	  into a big and little cluster with 4 cores each) Cortex-A53 including
2219a8f009fSPhilipp Tomsich	  AdvSIMD, 512KB L2 cache (for the big cluster) and 256 KB L2 cache
2229a8f009fSPhilipp Tomsich	  (for the little cluster), PowerVR G6110 based graphics, one video
2239a8f009fSPhilipp Tomsich	  output processor supporting LVDS/HDMI/eDP, several DDR3 options and
2249a8f009fSPhilipp Tomsich	  video codec support.
2259a8f009fSPhilipp Tomsich
2269a8f009fSPhilipp Tomsich	  On-chip peripherals include Gigabit Ethernet, USB2 host and OTG, SDIO,
2279a8f009fSPhilipp Tomsich	  I2S, UARTs, SPI, I2C and PWMs.
22837a0c600SAndreas Färber
229d9d1242bSPhilipp Tomsichif ROCKCHIP_RK3368
230d9d1242bSPhilipp Tomsich
231d9d1242bSPhilipp Tomsichconfig TPL_LDSCRIPT
232d9d1242bSPhilipp Tomsich	default "arch/arm/mach-rockchip/rk3368/u-boot-tpl.lds"
233d9d1242bSPhilipp Tomsich
2345aa49af3SPhilipp Tomsichconfig TPL_TEXT_BASE
2355aa49af3SPhilipp Tomsich        default 0xff8c1000
2365aa49af3SPhilipp Tomsich
2375aa49af3SPhilipp Tomsichconfig TPL_MAX_SIZE
2385aa49af3SPhilipp Tomsich        default 28672
2395aa49af3SPhilipp Tomsich
2405aa49af3SPhilipp Tomsichconfig TPL_STACK
2415aa49af3SPhilipp Tomsich        default 0xff8cffff
2425aa49af3SPhilipp Tomsich
243d9d1242bSPhilipp Tomsichendif
244d9d1242bSPhilipp Tomsich
245a381bcf5SKever Yangconfig ROCKCHIP_RK3399
246a381bcf5SKever Yang	bool "Support Rockchip RK3399"
247a381bcf5SKever Yang	select ARM64
24866e87cc8SKever Yang	select SUPPORT_SPL
24966e87cc8SKever Yang	select SPL
25066e87cc8SKever Yang	select SPL_SEPARATE_BSS
251c0508e42SPhilipp Tomsich	select SPL_SERIAL_SUPPORT
252c0508e42SPhilipp Tomsich	select SPL_DRIVERS_MISC_SUPPORT
2537ee16de5SPhilipp Tomsich	select DEBUG_UART_BOARD_INIT
2548f557da1SJoseph Chen	select GICV3
255be55ced3SAndy Yan	select BOARD_LATE_INIT
25647a9f8fcSAndy Yan	select ROCKCHIP_BROM_HELPER
2576ba2d5cbSJoseph Chen	select ARM_SMCCC
258a381bcf5SKever Yang	help
259a381bcf5SKever Yang	  The Rockchip RK3399 is a ARM-based SoC with a dual-core Cortex-A72
260a381bcf5SKever Yang	  and quad-core Cortex-A53.
261a381bcf5SKever Yang	  including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
262a381bcf5SKever Yang	  video interfaces supporting HDMI and eDP, several DDR3 options
263a381bcf5SKever Yang	  and video codec support. Peripherals include Gigabit Ethernet,
264a381bcf5SKever Yang	  USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
265a381bcf5SKever Yang
2662c1e11ddSAndy Yanconfig ROCKCHIP_RV1108
2672c1e11ddSAndy Yan	bool "Support Rockchip RV1108"
2682c1e11ddSAndy Yan	select CPU_V7
26952f7b21dSZhihuan He	select SUPPORT_SPL
27052f7b21dSZhihuan He	select SPL
271dfe03786SAndy Yan	select BOARD_LATE_INIT
2722c1e11ddSAndy Yan	help
2732c1e11ddSAndy Yan	  The Rockchip RV1108 is a ARM-based SoC with a single-core Cortex-A7
2742c1e11ddSAndy Yan	  and a DSP.
2752c1e11ddSAndy Yan
276ee14d29dSPhilipp Tomsichconfig SPL_ROCKCHIP_BACK_TO_BROM
277b47ea792SXu Ziyuan	bool "SPL returns to bootrom"
278b47ea792SXu Ziyuan	default y if ROCKCHIP_RK3036
2791d845947SHeiko Stübner	select ROCKCHIP_BROM_HELPER
280ee14d29dSPhilipp Tomsich	depends on SPL
281ee14d29dSPhilipp Tomsich	help
282ee14d29dSPhilipp Tomsich	  Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled,
283ee14d29dSPhilipp Tomsich          SPL will return to the boot rom, which will then load the U-Boot
284ee14d29dSPhilipp Tomsich          binary to keep going on.
285ee14d29dSPhilipp Tomsich
286ee14d29dSPhilipp Tomsichconfig TPL_ROCKCHIP_BACK_TO_BROM
287ee14d29dSPhilipp Tomsich	bool "TPL returns to bootrom"
288430b0146SKever Yang	default y if ROCKCHIP_RK3368 || ROCKCHIP_RK3328
289ee14d29dSPhilipp Tomsich	select ROCKCHIP_BROM_HELPER
290ee14d29dSPhilipp Tomsich	depends on TPL
291b47ea792SXu Ziyuan	help
292b47ea792SXu Ziyuan	  Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled,
293b47ea792SXu Ziyuan          SPL will return to the boot rom, which will then load the U-Boot
294b47ea792SXu Ziyuan          binary to keep going on.
295b47ea792SXu Ziyuan
296b4bed602SAndy Yanconfig ARM64_BOOT_AARCH32
297b4bed602SAndy Yan	bool "Support Boot an ARM64 on AArch32 execution state"
298b4bed602SAndy Yan	select CPU_V7
299b4bed602SAndy Yan	default n
300b4bed602SAndy Yan	help
301b4bed602SAndy Yan	  If you want to boot an ARM64 processor on 32-bit mode, say y here.
302b4bed602SAndy Yan
303be55ced3SAndy Yanconfig ROCKCHIP_BOOT_MODE_REG
304be55ced3SAndy Yan	hex "Rockchip boot mode flag register address"
30510e73f7bSKever Yang	default 0xff010200 if ROCKCHIP_PX30
306be55ced3SAndy Yan	default 0x200081c8 if ROCKCHIP_RK3036
307dd9a11eaSAndy Yan	default 0x100a0038 if ROCKCHIP_RK3128
308be55ced3SAndy Yan	default 0x20004040 if ROCKCHIP_RK3188
309be55ced3SAndy Yan	default 0x110005c8 if ROCKCHIP_RK322X
310be55ced3SAndy Yan	default 0xff730094 if ROCKCHIP_RK3288
3113d78ac3eSAndy Yan	default 0xff000500 if ROCKCHIP_RK3308
3128ec39620SKever Yang	default 0xff1005c8 if ROCKCHIP_RK3328
313be55ced3SAndy Yan	default 0xff738200 if ROCKCHIP_RK3368
314be55ced3SAndy Yan	default 0xff320300 if ROCKCHIP_RK3399
315be55ced3SAndy Yan	default 0x10300580 if ROCKCHIP_RV1108
316be55ced3SAndy Yan	default 0
317be55ced3SAndy Yan	help
318be55ced3SAndy Yan	  The Soc will enter to different boot mode(defined in asm/arch/boot_mode.h)
319be55ced3SAndy Yan	  according to the value from this register.
320be55ced3SAndy Yan
321d5ed5c22SKever Yangconfig ROCKCHIP_STIMER_BASE
322d5ed5c22SKever Yang	hex "Rockchip Secure timer base address"
323d5ed5c22SKever Yang	default 0xff220020 if ROCKCHIP_PX30
324d5ed5c22SKever Yang	default 0x200440a0 if ROCKCHIP_RK3036
325d5ed5c22SKever Yang	default 0x2000e000 if ROCKCHIP_RK3066
326d5ed5c22SKever Yang	default 0x20018020 if ROCKCHIP_RK3126
327d5ed5c22SKever Yang	default 0x200440a0 if ROCKCHIP_RK3128
328d5ed5c22SKever Yang	default 0x2000e000 if ROCKCHIP_RK3188
329d5ed5c22SKever Yang	default 0x110d0020 if ROCKCHIP_RK322X
330d5ed5c22SKever Yang	default 0xff810020 if ROCKCHIP_RK3288
331d5ed5c22SKever Yang	default 0xff1d0020 if ROCKCHIP_RK3328
332d5ed5c22SKever Yang	default 0xff830020 if ROCKCHIP_RK3368
333d5ed5c22SKever Yang	default 0xff8680a0 if ROCKCHIP_RK3399
334d5ed5c22SKever Yang	default 0x10350020 if ROCKCHIP_RV1108
335d5ed5c22SKever Yang	default 0
336d5ed5c22SKever Yang	help
337d5ed5c22SKever Yang	  The secure timer inited in SPL/TPL in secure word, ARM generic timer
338d5ed5c22SKever Yang	  works after this timer work.
339d5ed5c22SKever Yang
340e8078e90SKever Yangconfig ROCKCHIP_IRAM_START_ADDR
341e8078e90SKever Yang	hex "Rockchip Secure timer base address"
342e8078e90SKever Yang	default 0xff0e0000 if ROCKCHIP_PX30
343e8078e90SKever Yang	default 0x10080000 if ROCKCHIP_RK3036
344e8078e90SKever Yang	default 0x10080000 if ROCKCHIP_RK3128
345e8078e90SKever Yang	default 0x10080000 if ROCKCHIP_RK3188
346e8078e90SKever Yang	default 0x10080000 if ROCKCHIP_RK322X
347e8078e90SKever Yang	default 0xff700000 if ROCKCHIP_RK3288
348*ade6d65fSZhihuan He	default 0xfff80000 if ROCKCHIP_RK3308
349e8078e90SKever Yang	default 0xff091000 if ROCKCHIP_RK3328
350e8078e90SKever Yang	default 0xff8c0000 if ROCKCHIP_RK3368
351e8078e90SKever Yang	default 0xff8c0000 if ROCKCHIP_RK3399
352e8078e90SKever Yang	default 0x10080000 if ROCKCHIP_RV1108
353e8078e90SKever Yang	default 0
354e8078e90SKever Yang	help
355e8078e90SKever Yang	  The IRAM start addr is to locate variant of the boot device from
356e8078e90SKever Yang	  bootrom.
357e8078e90SKever Yang
358fa1392a2SKever Yangconfig ROCKCHIP_SPL_RESERVE_IRAM
359fa1392a2SKever Yang	hex "Size of IRAM reserved in SPL"
360b2870221SKever Yang	default 0
361fa1392a2SKever Yang	help
362fa1392a2SKever Yang	  SPL may need reserve memory for firmware loaded by SPL, whose load
363fa1392a2SKever Yang	  address is in IRAM and may overlay with SPL text area if not
364fa1392a2SKever Yang	  reserved.
365fa1392a2SKever Yang
3661d845947SHeiko Stübnerconfig ROCKCHIP_BROM_HELPER
3671d845947SHeiko Stübner	bool
3681d845947SHeiko Stübner
369dff737c4SPhilipp Tomsichconfig SPL_ROCKCHIP_EARLYRETURN_TO_BROM
370dff737c4SPhilipp Tomsich        bool "SPL requires early-return (for RK3188-style BROM) to BROM"
371dff737c4SPhilipp Tomsich	depends on SPL && ENABLE_ARM_SOC_BOOT0_HOOK
372dff737c4SPhilipp Tomsich	help
373dff737c4SPhilipp Tomsich	  Some Rockchip BROM variants (e.g. on the RK3188) load the
374dff737c4SPhilipp Tomsich	  first stage in segments and enter multiple times. E.g. on
375dff737c4SPhilipp Tomsich	  the RK3188, the first 1KB of the first stage are loaded
376dff737c4SPhilipp Tomsich	  first and entered; after returning to the BROM, the
377dff737c4SPhilipp Tomsich	  remainder of the first stage is loaded, but the BROM
378dff737c4SPhilipp Tomsich	  re-enters at the same address/to the same code as previously.
379dff737c4SPhilipp Tomsich
380dff737c4SPhilipp Tomsich	  This enables support code in the BOOT0 hook for the SPL stage
381dff737c4SPhilipp Tomsich	  to allow multiple entries.
382dff737c4SPhilipp Tomsich
383dff737c4SPhilipp Tomsichconfig TPL_ROCKCHIP_EARLYRETURN_TO_BROM
384dff737c4SPhilipp Tomsich        bool "TPL requires early-return (for RK3188-style BROM) to BROM"
385dff737c4SPhilipp Tomsich	depends on TPL && ENABLE_ARM_SOC_BOOT0_HOOK
386dff737c4SPhilipp Tomsich	help
387dff737c4SPhilipp Tomsich	  Some Rockchip BROM variants (e.g. on the RK3188) load the
388dff737c4SPhilipp Tomsich	  first stage in segments and enter multiple times. E.g. on
389dff737c4SPhilipp Tomsich	  the RK3188, the first 1KB of the first stage are loaded
390dff737c4SPhilipp Tomsich	  first and entered; after returning to the BROM, the
391dff737c4SPhilipp Tomsich	  remainder of the first stage is loaded, but the BROM
392dff737c4SPhilipp Tomsich	  re-enters at the same address/to the same code as previously.
393dff737c4SPhilipp Tomsich
394dff737c4SPhilipp Tomsich	  This enables support code in the BOOT0 hook for the TPL stage
395dff737c4SPhilipp Tomsich	  to allow multiple entries.
396dff737c4SPhilipp Tomsich
397230e0e09SSandy Pattersonconfig SPL_MMC_SUPPORT
398ee14d29dSPhilipp Tomsich	default y if !SPL_ROCKCHIP_BACK_TO_BROM
399230e0e09SSandy Patterson
40006621a79SKever Yangconfig RKIMG_BOOTLOADER
40106621a79SKever Yang	bool "Support for Rockchip Image Bootloader boot flow"
40206621a79SKever Yang	default n
40306621a79SKever Yang	help
40406621a79SKever Yang	  Rockchip use this to boot Android during development cycle and for
40506621a79SKever Yang	  other OS, typical content kernel.img with zImage/Image, boot.img and
40606621a79SKever Yang	  recovery.img with Ramdisk, packed with 'KNRL' header; and resource.img
40706621a79SKever Yang	  with dtb and uboot/kernel logo bmp, vendor storage for custom info
40806621a79SKever Yang	  like SN and MAC address.
40906621a79SKever Yang
41008dcd37cSAndy Yanconfig ROCKCHIP_RESOURCE_IMAGE
41108dcd37cSAndy Yan	bool "Enable support for rockchip resource image"
412a12bbc34SJason Zhu	depends on RKIMG_BOOTLOADER
413aae0febbSJoseph Chen	default y
41408dcd37cSAndy Yan	help
41508dcd37cSAndy Yan	  This enables support to get dtb or logo files from
41608dcd37cSAndy Yan	  rockchip resource image format partition.
41708dcd37cSAndy Yan
41891441457Sfrancis.fanconfig ROCKCHIP_VENDOR_PARTITION
4195bd6dc27SKever Yang	bool "Rockchip vendor storage partition support"
4205bd6dc27SKever Yang	depends on RKIMG_BOOTLOADER
42191441457Sfrancis.fan	help
42291441457Sfrancis.fan	  This enable support to read/write vendor configuration data from/to
4235bd6dc27SKever Yang	  this partition.
42491441457Sfrancis.fan
425f8aaa2c2SKever Yangconfig USING_KERNEL_DTB
426f8aaa2c2SKever Yang	bool "Using dtb from Kernel/resource for U-Boot"
427f8aaa2c2SKever Yang	depends on RKIMG_BOOTLOADER && OF_LIVE
428f8aaa2c2SKever Yang	default y
429f8aaa2c2SKever Yang	help
430f8aaa2c2SKever Yang	  This enable support to read dtb from resource and use it for U-Boot,
431f8aaa2c2SKever Yang	  the uart and emmc will still using U-Boot dtb, but other devices like
432f8aaa2c2SKever Yang	  regulator/pmic, display, usb will use dts node from kernel.
433f8aaa2c2SKever Yang
434882c7251SJoseph Chenconfig ROCKCHIP_CRC
435882c7251SJoseph Chen	bool "Rockchip CRC verify images"
436882c7251SJoseph Chen	help
437882c7251SJoseph Chen	  This enable support Rockchip CRC verify images. It takes a lot of time,
438882c7251SJoseph Chen	  so it is better only used for debug.
439882c7251SJoseph Chen
440f270a3f8SJoseph Chenconfig ROCKCHIP_SMCCC
441f270a3f8SJoseph Chen	bool "Rockchip SMCCC"
442f270a3f8SJoseph Chen	default y if ARM_SMCCC
443f270a3f8SJoseph Chen	help
444f270a3f8SJoseph Chen	  This enable support for Rockchip SMC calls
445f270a3f8SJoseph Chen
446c563adc7SJoseph Chenconfig ROCKCHIP_DEBUGGER
447c563adc7SJoseph Chen	bool "Rockchip debugger"
448c563adc7SJoseph Chen	depends on IRQ
449c563adc7SJoseph Chen	help
450c563adc7SJoseph Chen	  This enable support for Rockchip debugger. Now we install a timer interrupt
451c563adc7SJoseph Chen	  and dump pt_regs when the timeout event trigger. This helps us to know cpu
452c563adc7SJoseph Chen	  state when system hang.
453c563adc7SJoseph Chen
45424cd8f36SJoseph Chenconfig ROCKCHIP_CRASH_DUMP
45524cd8f36SJoseph Chen	bool "Rockchip crash dump registers"
45624cd8f36SJoseph Chen	help
45724cd8f36SJoseph Chen	  This enable dump registers when system crash, the registers you would like
45824cd8f36SJoseph Chen	  to dump can be added in show_regs().
45924cd8f36SJoseph Chen
460a93252dfSJoseph Chenconfig GICV2
461a93252dfSJoseph Chen	bool "ARM GICv2"
462a93252dfSJoseph Chen
463a93252dfSJoseph Chenconfig GICV3
464a93252dfSJoseph Chen	bool "ARM GICv3"
465a93252dfSJoseph Chen
466448a4b38SKever Yangsource "arch/arm/mach-rockchip/px30/Kconfig"
467be1d5e03Shuang linsource "arch/arm/mach-rockchip/rk3036/Kconfig"
468578306eaSPaweł Jaroszsource "arch/arm/mach-rockchip/rk3066/Kconfig"
4696a13bde3SKever Yangsource "arch/arm/mach-rockchip/rk3128/Kconfig"
4700a2be69fSHeiko Stübnersource "arch/arm/mach-rockchip/rk3188/Kconfig"
471b24a8ec1SKever Yangsource "arch/arm/mach-rockchip/rk322x/Kconfig"
472041cdb5fSHeiko Stübnersource "arch/arm/mach-rockchip/rk3288/Kconfig"
473c1e43163SAndy Yansource "arch/arm/mach-rockchip/rk3308/Kconfig"
47485a3cfb8SKever Yangsource "arch/arm/mach-rockchip/rk3328/Kconfig"
47537a0c600SAndreas Färbersource "arch/arm/mach-rockchip/rk3368/Kconfig"
476a381bcf5SKever Yangsource "arch/arm/mach-rockchip/rk3399/Kconfig"
4772c1e11ddSAndy Yansource "arch/arm/mach-rockchip/rv1108/Kconfig"
4782444dae5SSimon Glassendif
479