xref: /rk3399_rockchip-uboot/arch/arm/mach-rockchip/Kconfig (revision b8fa3d2a17dce6006a8a5f46cbc978a19a3fdf82)
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.
80f094cb29SShunqian Zheng
81f094cb29SShunqian Zhengconfig ROCKCHIP_PX3SE
82f094cb29SShunqian Zheng	bool "Support Rockchip PX3SE"
83f094cb29SShunqian Zheng	help
84f094cb29SShunqian Zheng	  PX3SE is a variant of RK3128, it shares codes with RK3128, but we still
85f094cb29SShunqian Zheng	  need this macro to distinguish PX3SE and RK3128.
86e1048023SJoseph Chenendif
87e1048023SJoseph Chen
88578306eaSPaweł Jaroszconfig ROCKCHIP_RK3066
89578306eaSPaweł Jarosz	bool "Support Rockchip RK3066"
90578306eaSPaweł Jarosz	select CPU_V7
91578306eaSPaweł Jarosz	select SUPPORT_SPL
92578306eaSPaweł Jarosz	select SUPPORT_TPL
93578306eaSPaweł Jarosz	select SPL
94578306eaSPaweł Jarosz	select TPL
95578306eaSPaweł Jarosz	select BOARD_LATE_INIT
96578306eaSPaweł Jarosz	select ROCKCHIP_BROM_HELPER
97ffb06671SKever Yang	select SPL_ROCKCHIP_EARLYRETURN_TO_BROM
98578306eaSPaweł Jarosz	help
99578306eaSPaweł Jarosz	  The Rockchip RK3066 is a ARM-based SoC with a dual-core Cortex-A9
100578306eaSPaweł Jarosz	  including NEON and GPU, Mali-400 graphics, several DDR3 options
101578306eaSPaweł Jarosz	  and video codec support. Peripherals include ethernet, USB2 host
102578306eaSPaweł Jarosz	  and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
103578306eaSPaweł Jarosz
1040a2be69fSHeiko Stübnerconfig ROCKCHIP_RK3188
1050a2be69fSHeiko Stübner	bool "Support Rockchip RK3188"
1060a2be69fSHeiko Stübner	select CPU_V7
1070680f1b1SLey Foon Tan	select SPL_BOARD_INIT if SPL
1080a2be69fSHeiko Stübner	select SUPPORT_SPL
1090a2be69fSHeiko Stübner	select SPL
110397403c7SPhilipp Tomsich	select SPL_CLK
111397403c7SPhilipp Tomsich	select SPL_REGMAP
112397403c7SPhilipp Tomsich	select SPL_SYSCON
113397403c7SPhilipp Tomsich	select SPL_RAM
114397403c7SPhilipp Tomsich	select SPL_DRIVERS_MISC_SUPPORT
115885cc66fSPhilipp Tomsich	select SPL_ROCKCHIP_EARLYRETURN_TO_BROM
116008a610bSHeiko Stübner	select BOARD_LATE_INIT
1170a2be69fSHeiko Stübner	select ROCKCHIP_BROM_HELPER
1180a2be69fSHeiko Stübner	help
1190a2be69fSHeiko Stübner	  The Rockchip RK3188 is a ARM-based SoC with a quad-core Cortex-A9
1200a2be69fSHeiko Stübner	  including NEON and GPU, 512KB L2 cache, Mali-400 graphics, two
1210a2be69fSHeiko Stübner	  video interfaces, several memory options and video codec support.
1220a2be69fSHeiko Stübner	  Peripherals include Fast Ethernet, USB2 host and OTG, SDIO, I2S,
1230a2be69fSHeiko Stübner	  UART, SPI, I2C and PWMs.
1240a2be69fSHeiko Stübner
125168eef7aSKever Yangconfig ROCKCHIP_RK322X
126168eef7aSKever Yang	bool "Support Rockchip RK3228/RK3229"
127168eef7aSKever Yang	select CPU_V7
128168eef7aSKever Yang	select SUPPORT_SPL
12906d27531SKever Yang	select SUPPORT_TPL
130168eef7aSKever Yang	select SPL
13106d27531SKever Yang	select TPL
13206d27531SKever Yang	select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL
13306d27531SKever Yang	select TPL_NEEDS_SEPARATE_STACK if TPL
13406d27531SKever Yang	select SPL_DRIVERS_MISC_SUPPORT
13506d27531SKever Yang	imply SPL_SERIAL_SUPPORT
13606d27531SKever Yang	imply TPL_SERIAL_SUPPORT
137168eef7aSKever Yang	select ROCKCHIP_BROM_HELPER
138168eef7aSKever Yang	select DEBUG_UART_BOARD_INIT
13906d27531SKever Yang	select TPL_LIBCOMMON_SUPPORT
14006d27531SKever Yang	select TPL_LIBGENERIC_SUPPORT
141d1d395d7SJoseph Chen	select GICV2
1426ba2d5cbSJoseph Chen	select ARM_SMCCC
143168eef7aSKever Yang	help
144168eef7aSKever Yang	  The Rockchip RK3229 is a ARM-based SoC with a dual-core Cortex-A7
145168eef7aSKever Yang	  including NEON and GPU, Mali-400 graphics, several DDR3 options
146168eef7aSKever Yang	  and video codec support. Peripherals include Gigabit Ethernet,
147168eef7aSKever Yang	  USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
148168eef7aSKever Yang
149ad9ba815SJoseph Chenif ROCKCHIP_RK322X
150ad9ba815SJoseph Chen
151ad9ba815SJoseph Chenconfig ROCKCHIP_RK3128X
152ad9ba815SJoseph Chen	bool "Support Rockchip RK3128X "
153ad9ba815SJoseph Chen	help
154ad9ba815SJoseph Chen	  RK3128X can use most code from RK322X, but at some situations we have
155ad9ba815SJoseph Chen	  to distinguish between RK3128X and RK322X, so this macro gives help.
156ad9ba815SJoseph Chen	  It is usually selected in RK3128X board defconfig.
157ad9ba815SJoseph Chenendif
158ad9ba815SJoseph Chen
1592444dae5SSimon Glassconfig ROCKCHIP_RK3288
1602444dae5SSimon Glass	bool "Support Rockchip RK3288"
161e0f5dbcbSAndreas Färber	select CPU_V7
1620680f1b1SLey Foon Tan	select SPL_BOARD_INIT if SPL
163a381bcf5SKever Yang	select SUPPORT_SPL
164a381bcf5SKever Yang	select SPL
16586a31622SJoseph Chen	select GICV2
1666ba2d5cbSJoseph Chen	select ARM_SMCCC
1672444dae5SSimon Glass	help
1682444dae5SSimon Glass	  The Rockchip RK3288 is a ARM-based SoC with a quad-core Cortex-A17
1692444dae5SSimon Glass	  including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
1702444dae5SSimon Glass	  video interfaces supporting HDMI and eDP, several DDR3 options
1712444dae5SSimon Glass	  and video codec support. Peripherals include Gigabit Ethernet,
172ef904bf2SAndreas Färber	  USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
1732444dae5SSimon Glass
1743d78ac3eSAndy Yanconfig ROCKCHIP_RK3308
1753d78ac3eSAndy Yan	bool "Support Rockchip RK3308"
176b4bed602SAndy Yan	select ARM64 if !ARM64_BOOT_AARCH32
1773d78ac3eSAndy Yan	select DEBUG_UART_BOARD_INIT
1786ba2d5cbSJoseph Chen	select ARM_SMCCC
1793d78ac3eSAndy Yan	help
1803d78ac3eSAndy Yan	  The Rockchip RK3308 is a ARM-based Soc which embeded with quad
1813d78ac3eSAndy Yan	  Cortex-A35 and highly integrated audio interfaces.
1823d78ac3eSAndy Yan
18385a3cfb8SKever Yangconfig ROCKCHIP_RK3328
18485a3cfb8SKever Yang	bool "Support Rockchip RK3328"
18585a3cfb8SKever Yang	select ARM64
18655da6f73SJoseph Chen	select GICV2
187430b0146SKever Yang	select SUPPORT_SPL
188430b0146SKever Yang	select SUPPORT_TPL
189430b0146SKever Yang	select SPL
190430b0146SKever Yang	select TPL
191430b0146SKever Yang	select TPL_NEEDS_SEPARATE_TEXT_BASE if TPL
192430b0146SKever Yang	select TPL_NEEDS_SEPARATE_STACK if TPL
193430b0146SKever Yang	imply SPL_SERIAL_SUPPORT
194430b0146SKever Yang	imply TPL_SERIAL_SUPPORT
195430b0146SKever Yang	imply SPL_SEPARATE_BSS
196430b0146SKever Yang	select DEBUG_UART_BOARD_INIT
1976ba2d5cbSJoseph Chen	select ARM_SMCCC
19885a3cfb8SKever Yang	help
19985a3cfb8SKever Yang	  The Rockchip RK3328 is a ARM-based SoC with a quad-core Cortex-A53.
20085a3cfb8SKever Yang	  including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
20185a3cfb8SKever Yang	  video interfaces supporting HDMI and eDP, several DDR3 options
20285a3cfb8SKever Yang	  and video codec support. Peripherals include Gigabit Ethernet,
20385a3cfb8SKever Yang	  USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
20485a3cfb8SKever Yang
205430b0146SKever Yangif ROCKCHIP_RK3328
206430b0146SKever Yang
207430b0146SKever Yangconfig TPL_LDSCRIPT
208430b0146SKever Yang	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
209430b0146SKever Yang
210430b0146SKever Yangconfig TPL_TEXT_BASE
211430b0146SKever Yang        default 0xff091000
212430b0146SKever Yang
213430b0146SKever Yangconfig TPL_MAX_SIZE
214430b0146SKever Yang        default 28672
215430b0146SKever Yang
216430b0146SKever Yangconfig TPL_STACK
217430b0146SKever Yang        default 0xff098000
218430b0146SKever Yang
219430b0146SKever Yangendif
220430b0146SKever Yang
22137a0c600SAndreas Färberconfig ROCKCHIP_RK3368
22237a0c600SAndreas Färber	bool "Support Rockchip RK3368"
22337a0c600SAndreas Färber	select ARM64
2245071457eSPhilipp Tomsich	select SUPPORT_SPL
2255071457eSPhilipp Tomsich	select SUPPORT_TPL
2264cf4378eSPhilipp Tomsich	select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL
2274cf4378eSPhilipp Tomsich	select TPL_NEEDS_SEPARATE_STACK if TPL
2285071457eSPhilipp Tomsich	imply SPL_SEPARATE_BSS
2295071457eSPhilipp Tomsich	imply SPL_SERIAL_SUPPORT
2305071457eSPhilipp Tomsich	imply TPL_SERIAL_SUPPORT
2315071457eSPhilipp Tomsich	select DEBUG_UART_BOARD_INIT
232503f955fSJoseph Chen	select GICV2
2336ba2d5cbSJoseph Chen	select ARM_SMCCC
23437a0c600SAndreas Färber	help
2359a8f009fSPhilipp Tomsich	  The Rockchip RK3368 is a ARM-based SoC with a octa-core (organised
2369a8f009fSPhilipp Tomsich	  into a big and little cluster with 4 cores each) Cortex-A53 including
2379a8f009fSPhilipp Tomsich	  AdvSIMD, 512KB L2 cache (for the big cluster) and 256 KB L2 cache
2389a8f009fSPhilipp Tomsich	  (for the little cluster), PowerVR G6110 based graphics, one video
2399a8f009fSPhilipp Tomsich	  output processor supporting LVDS/HDMI/eDP, several DDR3 options and
2409a8f009fSPhilipp Tomsich	  video codec support.
2419a8f009fSPhilipp Tomsich
2429a8f009fSPhilipp Tomsich	  On-chip peripherals include Gigabit Ethernet, USB2 host and OTG, SDIO,
2439a8f009fSPhilipp Tomsich	  I2S, UARTs, SPI, I2C and PWMs.
24437a0c600SAndreas Färber
245d9d1242bSPhilipp Tomsichif ROCKCHIP_RK3368
246d9d1242bSPhilipp Tomsich
247d9d1242bSPhilipp Tomsichconfig TPL_LDSCRIPT
248d9d1242bSPhilipp Tomsich	default "arch/arm/mach-rockchip/rk3368/u-boot-tpl.lds"
249d9d1242bSPhilipp Tomsich
2505aa49af3SPhilipp Tomsichconfig TPL_TEXT_BASE
2515aa49af3SPhilipp Tomsich        default 0xff8c1000
2525aa49af3SPhilipp Tomsich
2535aa49af3SPhilipp Tomsichconfig TPL_MAX_SIZE
2545aa49af3SPhilipp Tomsich        default 28672
2555aa49af3SPhilipp Tomsich
2565aa49af3SPhilipp Tomsichconfig TPL_STACK
2575aa49af3SPhilipp Tomsich        default 0xff8cffff
2585aa49af3SPhilipp Tomsich
259d9d1242bSPhilipp Tomsichendif
260d9d1242bSPhilipp Tomsich
261a381bcf5SKever Yangconfig ROCKCHIP_RK3399
262a381bcf5SKever Yang	bool "Support Rockchip RK3399"
263a381bcf5SKever Yang	select ARM64
26466e87cc8SKever Yang	select SUPPORT_SPL
26566e87cc8SKever Yang	select SPL
26666e87cc8SKever Yang	select SPL_SEPARATE_BSS
267c0508e42SPhilipp Tomsich	select SPL_SERIAL_SUPPORT
268c0508e42SPhilipp Tomsich	select SPL_DRIVERS_MISC_SUPPORT
2697ee16de5SPhilipp Tomsich	select DEBUG_UART_BOARD_INIT
2708f557da1SJoseph Chen	select GICV3
271be55ced3SAndy Yan	select BOARD_LATE_INIT
27247a9f8fcSAndy Yan	select ROCKCHIP_BROM_HELPER
2736ba2d5cbSJoseph Chen	select ARM_SMCCC
274a381bcf5SKever Yang	help
275a381bcf5SKever Yang	  The Rockchip RK3399 is a ARM-based SoC with a dual-core Cortex-A72
276a381bcf5SKever Yang	  and quad-core Cortex-A53.
277a381bcf5SKever Yang	  including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
278a381bcf5SKever Yang	  video interfaces supporting HDMI and eDP, several DDR3 options
279a381bcf5SKever Yang	  and video codec support. Peripherals include Gigabit Ethernet,
280a381bcf5SKever Yang	  USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
281a381bcf5SKever Yang
282*b8fa3d2aSJoseph Chenconfig ROCKCHIP_RK1808
283*b8fa3d2aSJoseph Chen	bool "Support Rockchip RK1808"
284*b8fa3d2aSJoseph Chen	select ARM64
285*b8fa3d2aSJoseph Chen	select ARM_SMCCC
286*b8fa3d2aSJoseph Chen	select DEBUG_UART_BOARD_INIT
287*b8fa3d2aSJoseph Chen	help
288*b8fa3d2aSJoseph Chen	  The Rockchip RK1808 is a ARM-based Soc which embedded with dual
289*b8fa3d2aSJoseph Chen	  Cortex-A35.
290*b8fa3d2aSJoseph Chen
2912c1e11ddSAndy Yanconfig ROCKCHIP_RV1108
2922c1e11ddSAndy Yan	bool "Support Rockchip RV1108"
2932c1e11ddSAndy Yan	select CPU_V7
29452f7b21dSZhihuan He	select SUPPORT_SPL
29552f7b21dSZhihuan He	select SPL
296dfe03786SAndy Yan	select BOARD_LATE_INIT
2972c1e11ddSAndy Yan	help
2982c1e11ddSAndy Yan	  The Rockchip RV1108 is a ARM-based SoC with a single-core Cortex-A7
2992c1e11ddSAndy Yan	  and a DSP.
3002c1e11ddSAndy Yan
301ee14d29dSPhilipp Tomsichconfig SPL_ROCKCHIP_BACK_TO_BROM
302b47ea792SXu Ziyuan	bool "SPL returns to bootrom"
303b47ea792SXu Ziyuan	default y if ROCKCHIP_RK3036
3041d845947SHeiko Stübner	select ROCKCHIP_BROM_HELPER
305ee14d29dSPhilipp Tomsich	depends on SPL
306ee14d29dSPhilipp Tomsich	help
307ee14d29dSPhilipp Tomsich	  Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled,
308ee14d29dSPhilipp Tomsich          SPL will return to the boot rom, which will then load the U-Boot
309ee14d29dSPhilipp Tomsich          binary to keep going on.
310ee14d29dSPhilipp Tomsich
311ee14d29dSPhilipp Tomsichconfig TPL_ROCKCHIP_BACK_TO_BROM
312ee14d29dSPhilipp Tomsich	bool "TPL returns to bootrom"
313430b0146SKever Yang	default y if ROCKCHIP_RK3368 || ROCKCHIP_RK3328
314ee14d29dSPhilipp Tomsich	select ROCKCHIP_BROM_HELPER
315ee14d29dSPhilipp Tomsich	depends on TPL
316b47ea792SXu Ziyuan	help
317b47ea792SXu Ziyuan	  Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled,
318b47ea792SXu Ziyuan          SPL will return to the boot rom, which will then load the U-Boot
319b47ea792SXu Ziyuan          binary to keep going on.
320b47ea792SXu Ziyuan
321b4bed602SAndy Yanconfig ARM64_BOOT_AARCH32
322b4bed602SAndy Yan	bool "Support Boot an ARM64 on AArch32 execution state"
323b4bed602SAndy Yan	select CPU_V7
324b4bed602SAndy Yan	default n
325b4bed602SAndy Yan	help
326b4bed602SAndy Yan	  If you want to boot an ARM64 processor on 32-bit mode, say y here.
327b4bed602SAndy Yan
328be55ced3SAndy Yanconfig ROCKCHIP_BOOT_MODE_REG
329be55ced3SAndy Yan	hex "Rockchip boot mode flag register address"
33010e73f7bSKever Yang	default 0xff010200 if ROCKCHIP_PX30
331be55ced3SAndy Yan	default 0x200081c8 if ROCKCHIP_RK3036
332dd9a11eaSAndy Yan	default 0x100a0038 if ROCKCHIP_RK3128
333be55ced3SAndy Yan	default 0x20004040 if ROCKCHIP_RK3188
334be55ced3SAndy Yan	default 0x110005c8 if ROCKCHIP_RK322X
335be55ced3SAndy Yan	default 0xff730094 if ROCKCHIP_RK3288
3363d78ac3eSAndy Yan	default 0xff000500 if ROCKCHIP_RK3308
3378ec39620SKever Yang	default 0xff1005c8 if ROCKCHIP_RK3328
338be55ced3SAndy Yan	default 0xff738200 if ROCKCHIP_RK3368
339be55ced3SAndy Yan	default 0xff320300 if ROCKCHIP_RK3399
340*b8fa3d2aSJoseph Chen	default 0xfe020200 if ROCKCHIP_RK1808
341be55ced3SAndy Yan	default 0x10300580 if ROCKCHIP_RV1108
342be55ced3SAndy Yan	default 0
343be55ced3SAndy Yan	help
344be55ced3SAndy Yan	  The Soc will enter to different boot mode(defined in asm/arch/boot_mode.h)
345be55ced3SAndy Yan	  according to the value from this register.
346be55ced3SAndy Yan
347d5ed5c22SKever Yangconfig ROCKCHIP_STIMER_BASE
348d5ed5c22SKever Yang	hex "Rockchip Secure timer base address"
349d5ed5c22SKever Yang	default 0xff220020 if ROCKCHIP_PX30
350d5ed5c22SKever Yang	default 0x200440a0 if ROCKCHIP_RK3036
351d5ed5c22SKever Yang	default 0x2000e000 if ROCKCHIP_RK3066
352d5ed5c22SKever Yang	default 0x20018020 if ROCKCHIP_RK3126
353d5ed5c22SKever Yang	default 0x200440a0 if ROCKCHIP_RK3128
354d5ed5c22SKever Yang	default 0x2000e000 if ROCKCHIP_RK3188
355d5ed5c22SKever Yang	default 0x110d0020 if ROCKCHIP_RK322X
356d5ed5c22SKever Yang	default 0xff810020 if ROCKCHIP_RK3288
357d5ed5c22SKever Yang	default 0xff1d0020 if ROCKCHIP_RK3328
358d5ed5c22SKever Yang	default 0xff830020 if ROCKCHIP_RK3368
359d5ed5c22SKever Yang	default 0xff8680a0 if ROCKCHIP_RK3399
360d5ed5c22SKever Yang	default 0x10350020 if ROCKCHIP_RV1108
361d5ed5c22SKever Yang	default 0
362d5ed5c22SKever Yang	help
363d5ed5c22SKever Yang	  The secure timer inited in SPL/TPL in secure word, ARM generic timer
364d5ed5c22SKever Yang	  works after this timer work.
365d5ed5c22SKever Yang
366e8078e90SKever Yangconfig ROCKCHIP_IRAM_START_ADDR
367e8078e90SKever Yang	hex "Rockchip Secure timer base address"
368e8078e90SKever Yang	default 0xff0e0000 if ROCKCHIP_PX30
369e8078e90SKever Yang	default 0x10080000 if ROCKCHIP_RK3036
370e8078e90SKever Yang	default 0x10080000 if ROCKCHIP_RK3128
371e8078e90SKever Yang	default 0x10080000 if ROCKCHIP_RK3188
372e8078e90SKever Yang	default 0x10080000 if ROCKCHIP_RK322X
373e8078e90SKever Yang	default 0xff700000 if ROCKCHIP_RK3288
374ade6d65fSZhihuan He	default 0xfff80000 if ROCKCHIP_RK3308
375e8078e90SKever Yang	default 0xff091000 if ROCKCHIP_RK3328
376e8078e90SKever Yang	default 0xff8c0000 if ROCKCHIP_RK3368
377e8078e90SKever Yang	default 0xff8c0000 if ROCKCHIP_RK3399
378e8078e90SKever Yang	default 0x10080000 if ROCKCHIP_RV1108
379e8078e90SKever Yang	default 0
380e8078e90SKever Yang	help
381e8078e90SKever Yang	  The IRAM start addr is to locate variant of the boot device from
382e8078e90SKever Yang	  bootrom.
383e8078e90SKever Yang
384fa1392a2SKever Yangconfig ROCKCHIP_SPL_RESERVE_IRAM
385fa1392a2SKever Yang	hex "Size of IRAM reserved in SPL"
386b2870221SKever Yang	default 0
387fa1392a2SKever Yang	help
388fa1392a2SKever Yang	  SPL may need reserve memory for firmware loaded by SPL, whose load
389fa1392a2SKever Yang	  address is in IRAM and may overlay with SPL text area if not
390fa1392a2SKever Yang	  reserved.
391fa1392a2SKever Yang
3921d845947SHeiko Stübnerconfig ROCKCHIP_BROM_HELPER
3931d845947SHeiko Stübner	bool
3941d845947SHeiko Stübner
395dff737c4SPhilipp Tomsichconfig SPL_ROCKCHIP_EARLYRETURN_TO_BROM
396dff737c4SPhilipp Tomsich        bool "SPL requires early-return (for RK3188-style BROM) to BROM"
397dff737c4SPhilipp Tomsich	depends on SPL && ENABLE_ARM_SOC_BOOT0_HOOK
398dff737c4SPhilipp Tomsich	help
399dff737c4SPhilipp Tomsich	  Some Rockchip BROM variants (e.g. on the RK3188) load the
400dff737c4SPhilipp Tomsich	  first stage in segments and enter multiple times. E.g. on
401dff737c4SPhilipp Tomsich	  the RK3188, the first 1KB of the first stage are loaded
402dff737c4SPhilipp Tomsich	  first and entered; after returning to the BROM, the
403dff737c4SPhilipp Tomsich	  remainder of the first stage is loaded, but the BROM
404dff737c4SPhilipp Tomsich	  re-enters at the same address/to the same code as previously.
405dff737c4SPhilipp Tomsich
406dff737c4SPhilipp Tomsich	  This enables support code in the BOOT0 hook for the SPL stage
407dff737c4SPhilipp Tomsich	  to allow multiple entries.
408dff737c4SPhilipp Tomsich
409dff737c4SPhilipp Tomsichconfig TPL_ROCKCHIP_EARLYRETURN_TO_BROM
410dff737c4SPhilipp Tomsich        bool "TPL requires early-return (for RK3188-style BROM) to BROM"
411dff737c4SPhilipp Tomsich	depends on TPL && ENABLE_ARM_SOC_BOOT0_HOOK
412dff737c4SPhilipp Tomsich	help
413dff737c4SPhilipp Tomsich	  Some Rockchip BROM variants (e.g. on the RK3188) load the
414dff737c4SPhilipp Tomsich	  first stage in segments and enter multiple times. E.g. on
415dff737c4SPhilipp Tomsich	  the RK3188, the first 1KB of the first stage are loaded
416dff737c4SPhilipp Tomsich	  first and entered; after returning to the BROM, the
417dff737c4SPhilipp Tomsich	  remainder of the first stage is loaded, but the BROM
418dff737c4SPhilipp Tomsich	  re-enters at the same address/to the same code as previously.
419dff737c4SPhilipp Tomsich
420dff737c4SPhilipp Tomsich	  This enables support code in the BOOT0 hook for the TPL stage
421dff737c4SPhilipp Tomsich	  to allow multiple entries.
422dff737c4SPhilipp Tomsich
423230e0e09SSandy Pattersonconfig SPL_MMC_SUPPORT
424ee14d29dSPhilipp Tomsich	default y if !SPL_ROCKCHIP_BACK_TO_BROM
425230e0e09SSandy Patterson
42606621a79SKever Yangconfig RKIMG_BOOTLOADER
42706621a79SKever Yang	bool "Support for Rockchip Image Bootloader boot flow"
42806621a79SKever Yang	default n
42906621a79SKever Yang	help
43006621a79SKever Yang	  Rockchip use this to boot Android during development cycle and for
43106621a79SKever Yang	  other OS, typical content kernel.img with zImage/Image, boot.img and
43206621a79SKever Yang	  recovery.img with Ramdisk, packed with 'KNRL' header; and resource.img
43306621a79SKever Yang	  with dtb and uboot/kernel logo bmp, vendor storage for custom info
43406621a79SKever Yang	  like SN and MAC address.
43506621a79SKever Yang
43608dcd37cSAndy Yanconfig ROCKCHIP_RESOURCE_IMAGE
43708dcd37cSAndy Yan	bool "Enable support for rockchip resource image"
438a12bbc34SJason Zhu	depends on RKIMG_BOOTLOADER
439aae0febbSJoseph Chen	default y
44008dcd37cSAndy Yan	help
44108dcd37cSAndy Yan	  This enables support to get dtb or logo files from
44208dcd37cSAndy Yan	  rockchip resource image format partition.
44308dcd37cSAndy Yan
44491441457Sfrancis.fanconfig ROCKCHIP_VENDOR_PARTITION
4455bd6dc27SKever Yang	bool "Rockchip vendor storage partition support"
4465bd6dc27SKever Yang	depends on RKIMG_BOOTLOADER
44791441457Sfrancis.fan	help
44891441457Sfrancis.fan	  This enable support to read/write vendor configuration data from/to
4495bd6dc27SKever Yang	  this partition.
45091441457Sfrancis.fan
451f8aaa2c2SKever Yangconfig USING_KERNEL_DTB
452f8aaa2c2SKever Yang	bool "Using dtb from Kernel/resource for U-Boot"
453f8aaa2c2SKever Yang	depends on RKIMG_BOOTLOADER && OF_LIVE
454f8aaa2c2SKever Yang	default y
455f8aaa2c2SKever Yang	help
456f8aaa2c2SKever Yang	  This enable support to read dtb from resource and use it for U-Boot,
457f8aaa2c2SKever Yang	  the uart and emmc will still using U-Boot dtb, but other devices like
458f8aaa2c2SKever Yang	  regulator/pmic, display, usb will use dts node from kernel.
459f8aaa2c2SKever Yang
460882c7251SJoseph Chenconfig ROCKCHIP_CRC
461882c7251SJoseph Chen	bool "Rockchip CRC verify images"
462882c7251SJoseph Chen	help
463882c7251SJoseph Chen	  This enable support Rockchip CRC verify images. It takes a lot of time,
464882c7251SJoseph Chen	  so it is better only used for debug.
465882c7251SJoseph Chen
466f270a3f8SJoseph Chenconfig ROCKCHIP_SMCCC
467f270a3f8SJoseph Chen	bool "Rockchip SMCCC"
468f270a3f8SJoseph Chen	default y if ARM_SMCCC
469f270a3f8SJoseph Chen	help
470f270a3f8SJoseph Chen	  This enable support for Rockchip SMC calls
471f270a3f8SJoseph Chen
472c563adc7SJoseph Chenconfig ROCKCHIP_DEBUGGER
473c563adc7SJoseph Chen	bool "Rockchip debugger"
474c563adc7SJoseph Chen	depends on IRQ
475c563adc7SJoseph Chen	help
476c563adc7SJoseph Chen	  This enable support for Rockchip debugger. Now we install a timer interrupt
477c563adc7SJoseph Chen	  and dump pt_regs when the timeout event trigger. This helps us to know cpu
478c563adc7SJoseph Chen	  state when system hang.
479c563adc7SJoseph Chen
48024cd8f36SJoseph Chenconfig ROCKCHIP_CRASH_DUMP
48124cd8f36SJoseph Chen	bool "Rockchip crash dump registers"
48224cd8f36SJoseph Chen	help
48324cd8f36SJoseph Chen	  This enable dump registers when system crash, the registers you would like
48424cd8f36SJoseph Chen	  to dump can be added in show_regs().
48524cd8f36SJoseph Chen
486a93252dfSJoseph Chenconfig GICV2
487a93252dfSJoseph Chen	bool "ARM GICv2"
488a93252dfSJoseph Chen
489a93252dfSJoseph Chenconfig GICV3
490a93252dfSJoseph Chen	bool "ARM GICv3"
491a93252dfSJoseph Chen
492448a4b38SKever Yangsource "arch/arm/mach-rockchip/px30/Kconfig"
493be1d5e03Shuang linsource "arch/arm/mach-rockchip/rk3036/Kconfig"
494578306eaSPaweł Jaroszsource "arch/arm/mach-rockchip/rk3066/Kconfig"
4956a13bde3SKever Yangsource "arch/arm/mach-rockchip/rk3128/Kconfig"
4960a2be69fSHeiko Stübnersource "arch/arm/mach-rockchip/rk3188/Kconfig"
497b24a8ec1SKever Yangsource "arch/arm/mach-rockchip/rk322x/Kconfig"
498041cdb5fSHeiko Stübnersource "arch/arm/mach-rockchip/rk3288/Kconfig"
499c1e43163SAndy Yansource "arch/arm/mach-rockchip/rk3308/Kconfig"
50085a3cfb8SKever Yangsource "arch/arm/mach-rockchip/rk3328/Kconfig"
50137a0c600SAndreas Färbersource "arch/arm/mach-rockchip/rk3368/Kconfig"
502a381bcf5SKever Yangsource "arch/arm/mach-rockchip/rk3399/Kconfig"
5032c1e11ddSAndy Yansource "arch/arm/mach-rockchip/rv1108/Kconfig"
5042444dae5SSimon Glassendif
505