xref: /rk3399_rockchip-uboot/arch/arm/mach-rockchip/Kconfig (revision e66d4537dbd86d2c766c7745e41d41fd88ae2b83)
1if ARCH_ROCKCHIP
2
3config ROCKCHIP_PX30
4	bool "Support Rockchip PX30"
5	select ARM64 if !ARM64_BOOT_AARCH32
6	select GICV2
7	select ARM_SMCCC
8	select SUPPORT_SPL
9	select SUPPORT_TPL
10	select SPL if !ARM64_BOOT_AARCH32
11	select TPL if !ARM64_BOOT_AARCH32
12	select TPL_TINY_FRAMEWORK if TPL
13
14	imply SPL_SEPARATE_BSS
15	imply SPL_SERIAL_SUPPORT
16	imply TPL_SERIAL_SUPPORT
17	help
18	  The Rockchip PX30 is a ARM-based SoC with a quad-core Cortex-A35
19	  including NEON and GPU, Mali-400 graphics, several DDR3 options
20	  and video codec support. Peripherals include Gigabit Ethernet,
21	  USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
22
23if ROCKCHIP_PX30
24
25config TPL_LDSCRIPT
26	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
27
28config TPL_TEXT_BASE
29	default 0xff0e1000
30
31config TPL_MAX_SIZE
32	default 10240
33
34config ROCKCHIP_RK3326
35	bool "Support Rockchip RK3326 "
36	help
37	  RK3326 can use most code from PX30, but at some situations we have
38	  to distinguish between RK3326 and PX30, so this macro gives help.
39	  It is usually selected in rk3326 board defconfig.
40endif
41
42config ROCKCHIP_RK3036
43	bool "Support Rockchip RK3036"
44	select CPU_V7
45	select SUPPORT_SPL
46	select SUPPORT_TPL
47	select SPL
48	select TPL
49	select BOARD_LATE_INIT
50	select ROCKCHIP_BROM_HELPER
51	select TPL_NEEDS_SEPARATE_TEXT_BASE if TPL
52	select TPL_NEEDS_SEPARATE_STACK if TPL
53	select ARM_SMCCC
54	help
55	  The Rockchip RK3036 is a ARM-based SoC with a dual-core Cortex-A7
56	  including NEON and GPU, Mali-400 graphics, several DDR3 options
57	  and video codec support. Peripherals include Gigabit Ethernet,
58	  USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
59
60config ROCKCHIP_RK3128
61	bool "Support Rockchip RK3128"
62	select CPU_V7
63	select GICV2
64	select ARM_SMCCC
65	help
66	  The Rockchip RK3128 is a ARM-based SoC with a quad-core Cortex-A7
67	  including NEON and GPU, Mali-400 graphics, several DDR3 options
68	  and video codec support. Peripherals include Gigabit Ethernet,
69	  USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
70
71if ROCKCHIP_RK3128
72
73config ROCKCHIP_RK3126
74	bool "Support Rockchip RK3126 "
75	help
76	  RK3126 can use most code from RK3128, but at some situations we have
77	  to distinguish between RK3126 and RK3128, so this macro gives help.
78	  It is usually selected in rk3126 board defconfig.
79
80config ROCKCHIP_PX3SE
81	bool "Support Rockchip PX3SE"
82	help
83	  PX3SE is a variant of RK3128, it shares codes with RK3128, but we still
84	  need this macro to distinguish PX3SE and RK3128.
85endif
86
87config ROCKCHIP_RK3066
88	bool "Support Rockchip RK3066"
89	select CPU_V7
90	select SUPPORT_SPL
91	select SUPPORT_TPL
92	select SPL
93	select TPL
94	select BOARD_LATE_INIT
95	select ROCKCHIP_BROM_HELPER
96	select SPL_ROCKCHIP_EARLYRETURN_TO_BROM
97	help
98	  The Rockchip RK3066 is a ARM-based SoC with a dual-core Cortex-A9
99	  including NEON and GPU, Mali-400 graphics, several DDR3 options
100	  and video codec support. Peripherals include ethernet, USB2 host
101	  and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
102
103config ROCKCHIP_RK3188
104	bool "Support Rockchip RK3188"
105	select CPU_V7
106	select SPL_BOARD_INIT if SPL
107	select SUPPORT_SPL
108	select SPL
109	select SPL_CLK
110	select SPL_REGMAP
111	select SPL_SYSCON
112	select SPL_RAM
113	select SPL_DRIVERS_MISC_SUPPORT
114	select SPL_ROCKCHIP_EARLYRETURN_TO_BROM
115	select BOARD_LATE_INIT
116	select ROCKCHIP_BROM_HELPER
117	help
118	  The Rockchip RK3188 is a ARM-based SoC with a quad-core Cortex-A9
119	  including NEON and GPU, 512KB L2 cache, Mali-400 graphics, two
120	  video interfaces, several memory options and video codec support.
121	  Peripherals include Fast Ethernet, USB2 host and OTG, SDIO, I2S,
122	  UART, SPI, I2C and PWMs.
123
124config ROCKCHIP_RK322X
125	bool "Support Rockchip RK3228/RK3229"
126	select CPU_V7
127	select SUPPORT_SPL
128	select SUPPORT_TPL
129	select SPL
130	select TPL
131	select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL
132	select TPL_NEEDS_SEPARATE_STACK if TPL
133	select SPL_DRIVERS_MISC_SUPPORT
134	imply SPL_SERIAL_SUPPORT
135	imply TPL_SERIAL_SUPPORT
136	select ROCKCHIP_BROM_HELPER
137	select TPL_LIBCOMMON_SUPPORT
138	select TPL_LIBGENERIC_SUPPORT
139	select GICV2
140	select ARM_SMCCC
141	help
142	  The Rockchip RK3229 is a ARM-based SoC with a dual-core Cortex-A7
143	  including NEON and GPU, Mali-400 graphics, several DDR3 options
144	  and video codec support. Peripherals include Gigabit Ethernet,
145	  USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
146
147if ROCKCHIP_RK322X
148
149config ROCKCHIP_RK3128X
150	bool "Support Rockchip RK3128X "
151	help
152	  RK3128X can use most code from RK322X, but at some situations we have
153	  to distinguish between RK3128X and RK322X, so this macro gives help.
154	  It is usually selected in RK3128X board defconfig.
155endif
156
157config ROCKCHIP_RK3288
158	bool "Support Rockchip RK3288"
159	select CPU_V7
160	select SPL_BOARD_INIT if SPL
161	select SUPPORT_SPL
162	select SUPPORT_TPL
163	select SPL
164	select TPL
165	select TPL_NEEDS_SEPARATE_TEXT_BASE if TPL
166	select TPL_NEEDS_SEPARATE_STACK if TPL
167	imply TPL_SERIAL_SUPPORT
168	select GICV2
169	select ARM_SMCCC
170	select SPL_OPTEE
171	select FIT
172	select SPL_LOAD_FIT
173	select TPL_LIBCOMMON_SUPPORT
174	select TPL_LIBGENERIC_SUPPORT
175	select TPL_SYS_MALLOC_SIMPLE
176	select TPL_BOOTROM_SUPPORT
177	select TPL_DRIVERS_MISC_SUPPORT
178	select TPL_OF_CONTROL
179	select TPL_DM
180	select TPL_REGMAP
181	select TPL_SYSCON
182	select TPL_RAM
183	select TPL_CLK
184	select TPL_TINY_MEMSET
185	help
186	  The Rockchip RK3288 is a ARM-based SoC with a quad-core Cortex-A17
187	  including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
188	  video interfaces supporting HDMI and eDP, several DDR3 options
189	  and video codec support. Peripherals include Gigabit Ethernet,
190	  USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
191
192if ROCKCHIP_RK3288
193config SPL_FIT_GENERATOR
194	default "arch/arm/mach-rockchip/make_fit_optee.sh"
195
196config TPL_LDSCRIPT
197	default "arch/arm/mach-rockchip/u-boot-tpl.lds"
198
199config TPL_TEXT_BASE
200	default 0xff704000
201
202config TPL_MAX_SIZE
203	default 32768
204
205config TPL_STACK
206	default 0xff718000
207
208endif
209
210config ROCKCHIP_RK3308
211	bool "Support Rockchip RK3308"
212	select ARM64 if !ARM64_BOOT_AARCH32
213	select ARM_SMCCC
214	select GICV2
215	select SUPPORT_SPL if !ARM64_BOOT_AARCH32
216	select SUPPORT_TPL if !ARM64_BOOT_AARCH32
217	select SPL if !ARM64_BOOT_AARCH32
218	select TPL if !ARM64_BOOT_AARCH32
219	imply SPL_CLK
220	imply SPL_REGMAP
221	imply SPL_SYSCON
222	imply SPL_RAM
223	imply SPL_SERIAL_SUPPORT
224	imply TPL_SERIAL_SUPPORT
225	imply SPL_SEPARATE_BSS
226	help
227	  The Rockchip RK3308 is a ARM-based Soc which embeded with quad
228	  Cortex-A35 and highly integrated audio interfaces.
229
230config ROCKCHIP_RK3328
231	bool "Support Rockchip RK3328"
232	select ARM64
233	select GICV2
234	select SUPPORT_SPL
235	select SUPPORT_TPL
236	select SPL
237	select TPL
238	select TPL_NEEDS_SEPARATE_TEXT_BASE if TPL
239	select TPL_NEEDS_SEPARATE_STACK if TPL
240	imply SPL_SERIAL_SUPPORT
241	imply TPL_SERIAL_SUPPORT
242	imply SPL_SEPARATE_BSS
243	select ARM_SMCCC
244	help
245	  The Rockchip RK3328 is a ARM-based SoC with a quad-core Cortex-A53.
246	  including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
247	  video interfaces supporting HDMI and eDP, several DDR3 options
248	  and video codec support. Peripherals include Gigabit Ethernet,
249	  USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
250
251if ROCKCHIP_RK3328
252
253config TPL_LDSCRIPT
254	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
255
256config TPL_TEXT_BASE
257        default 0xff091000
258
259config TPL_MAX_SIZE
260        default 28672
261
262config TPL_STACK
263        default 0xff098000
264
265endif
266
267config ROCKCHIP_RK3368
268	bool "Support Rockchip RK3368"
269	select ARM64
270	select SUPPORT_SPL
271	select SUPPORT_TPL
272	select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL
273	select TPL_NEEDS_SEPARATE_STACK if TPL
274	imply SPL_SEPARATE_BSS
275	imply SPL_SERIAL_SUPPORT
276	imply TPL_SERIAL_SUPPORT
277	select GICV2
278	select ARM_SMCCC
279	help
280	  The Rockchip RK3368 is a ARM-based SoC with a octa-core (organised
281	  into a big and little cluster with 4 cores each) Cortex-A53 including
282	  AdvSIMD, 512KB L2 cache (for the big cluster) and 256 KB L2 cache
283	  (for the little cluster), PowerVR G6110 based graphics, one video
284	  output processor supporting LVDS/HDMI/eDP, several DDR3 options and
285	  video codec support.
286
287	  On-chip peripherals include Gigabit Ethernet, USB2 host and OTG, SDIO,
288	  I2S, UARTs, SPI, I2C and PWMs.
289
290if ROCKCHIP_RK3368
291
292config ROCKCHIP_PX5
293	bool "Support Rockchip PX5"
294	help
295	  PX5 is a variant of RK3368, it shares codes with RK3368, but we still
296	  need this macro to distinguish PX5 and RK3368.
297
298config TPL_LDSCRIPT
299	default "arch/arm/mach-rockchip/rk3368/u-boot-tpl.lds"
300
301config TPL_TEXT_BASE
302        default 0xff8c1000
303
304config TPL_MAX_SIZE
305        default 28672
306
307config TPL_STACK
308        default 0xff8cffff
309
310endif
311
312config ROCKCHIP_RK3399
313	bool "Support Rockchip RK3399"
314	select ARM64
315	select SUPPORT_SPL
316	select SUPPORT_TPL
317	select SPL
318	select TPL
319	select TPL_NEEDS_SEPARATE_TEXT_BASE if TPL
320	select TPL_NEEDS_SEPARATE_STACK if TPL
321	imply TPL_SERIAL_SUPPORT
322	select SPL_SEPARATE_BSS
323	select SPL_SERIAL_SUPPORT
324	select SPL_DRIVERS_MISC_SUPPORT
325	select GICV3
326	select BOARD_LATE_INIT
327	select ROCKCHIP_BROM_HELPER
328	select ARM_SMCCC
329	select TPL_LIBCOMMON_SUPPORT
330	select TPL_LIBGENERIC_SUPPORT
331	select TPL_SYS_MALLOC_SIMPLE
332	select TPL_BOOTROM_SUPPORT
333	select TPL_DRIVERS_MISC_SUPPORT
334	select TPL_OF_CONTROL
335	select TPL_DM
336	select TPL_REGMAP
337	select TPL_SYSCON
338	select TPL_RAM
339	select TPL_CLK
340	select TPL_TINY_MEMSET
341	help
342	  The Rockchip RK3399 is a ARM-based SoC with a dual-core Cortex-A72
343	  and quad-core Cortex-A53.
344	  including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
345	  video interfaces supporting HDMI and eDP, several DDR3 options
346	  and video codec support. Peripherals include Gigabit Ethernet,
347	  USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
348
349if ROCKCHIP_RK3399
350
351config ROCKCHIP_RK3399PRO
352	bool "Support Rockchip RK3399Pro"
353
354config TPL_LDSCRIPT
355	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
356
357config TPL_TEXT_BASE
358        default 0xff8c2000
359
360config TPL_MAX_SIZE
361        default 188416
362
363config TPL_STACK
364        default 0xff8effff
365
366endif
367
368config ROCKCHIP_RK3568
369	bool "Support Rockchip RK3568"
370	select ARM64
371	select SPL
372	select SUPPORT_TPL
373	select SUPPORT_SPL
374	select TPL_TINY_FRAMEWORK if TPL
375	select DEBUG_UART_BOARD_INIT
376	imply TPL
377	imply SPL
378	imply TPL_SERIAL_SUPPORT
379	help
380	  The Rockchip RK3568 is a ARM-based SoC with a quad-core Cortex-A55.
381
382if ROCKCHIP_RK3568
383
384config TPL_LDSCRIPT
385	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
386
387config TPL_TEXT_BASE
388	default 0xfdcc1000
389
390config TPL_MAX_SIZE
391	default 61440
392
393endif
394
395config ROCKCHIP_RK1808
396	bool "Support Rockchip RK1808"
397	select ARM64
398	select ARM_SMCCC
399	select GICV3 if !COPROCESSOR_RK1808
400	select SUPPORT_SPL if !COPROCESSOR_RK1808
401	select SUPPORT_TPL if !COPROCESSOR_RK1808
402	help
403	  The Rockchip RK1808 is a ARM-based Soc which embedded with dual
404	  Cortex-A35.
405
406if ROCKCHIP_RK1808
407
408config ROCKCHIP_RK1806
409	bool "Support Rockchip RK1806"
410	help
411	  The Rockchip RK1806 is a ARM-based Soc which embedded with dual
412	  Cortex-A35.
413
414config COPROCESSOR_RK1808
415	bool "RK1808 coprocessor"
416	help
417	  This indicates the RK1808 is working as a coprocessor for another
418	  more powerful SoC.
419
420endif
421
422config ROCKCHIP_RV1108
423	bool "Support Rockchip RV1108"
424	select CPU_V7
425	select SUPPORT_SPL
426	select SUPPORT_TPL
427	select SPL
428	select TPL
429	select BOARD_LATE_INIT
430	help
431	  The Rockchip RV1108 is a ARM-based SoC with a single-core Cortex-A7
432	  and a DSP.
433
434if ROCKCHIP_RV1108
435
436config TPL_LDSCRIPT
437        default "arch/arm/mach-rockchip/u-boot-tpl.lds"
438
439config TPL_TEXT_BASE
440        default 0x10080800
441
442config TPL_MAX_SIZE
443        default 6144
444
445config TPL_STACK
446        default 0x10082000
447
448endif
449
450config ROCKCHIP_RV1126
451	bool "Support Rockchip RV1126"
452	select CPU_V7
453	select SUPPORT_TPL
454	select SUPPORT_SPL
455	select TPL_TINY_FRAMEWORK if TPL
456	select DEBUG_UART_BOARD_INIT
457	imply TPL
458	imply SPL
459	imply GICV2
460	imply ARM_SMCCC
461	imply BOARD_LATE_INIT
462	imply ROCKCHIP_GPIO_V2
463	imply TPL_SERIAL_SUPPORT
464	help
465	  The Rockchip RV1126 is a ARM-based SoC with a quad-core Cortex-A7
466	  and a risc-v core.
467
468if ROCKCHIP_RV1126
469
470config TPL_LDSCRIPT
471	default "arch/arm/mach-rockchip/u-boot-tpl.lds"
472
473config TPL_TEXT_BASE
474	default 0xff701000
475
476config TPL_MAX_SIZE
477	default 32768
478endif
479
480config SPL_ROCKCHIP_BACK_TO_BROM
481	bool "SPL returns to bootrom"
482	default y if ROCKCHIP_RK3036
483	select ROCKCHIP_BROM_HELPER
484	depends on SPL
485	help
486	  Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled,
487          SPL will return to the boot rom, which will then load the U-Boot
488          binary to keep going on.
489
490config TPL_ROCKCHIP_BACK_TO_BROM
491	bool "TPL returns to bootrom"
492	default y
493	select ROCKCHIP_BROM_HELPER
494	depends on TPL
495	help
496	  Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled,
497          SPL will return to the boot rom, which will then load the U-Boot
498          binary to keep going on.
499
500config ARM64_BOOT_AARCH32
501	bool "Support Boot an ARM64 on AArch32 execution state"
502	select CPU_V7
503	default n
504	help
505	  If you want to boot an ARM64 processor on 32-bit mode, say y here.
506
507config ROCKCHIP_BOOT_MODE_REG
508	hex "Rockchip boot mode flag register address"
509	default 0xff010200 if ROCKCHIP_PX30
510	default 0x200081c8 if ROCKCHIP_RK3036
511	default 0x100a0038 if ROCKCHIP_RK3128
512	default 0x20004040 if ROCKCHIP_RK3188
513	default 0x110005c8 if ROCKCHIP_RK322X
514	default 0xff730094 if ROCKCHIP_RK3288
515	default 0xff000500 if ROCKCHIP_RK3308
516	default 0xff1005c8 if ROCKCHIP_RK3328
517	default 0xff738200 if ROCKCHIP_RK3368
518	default 0xff320300 if ROCKCHIP_RK3399
519	default 0xfdc20200 if ROCKCHIP_RK3568
520	default 0xfe020200 if ROCKCHIP_RK1808
521	default 0x10300580 if ROCKCHIP_RV1108
522	default 0xfe020200 if ROCKCHIP_RV1126
523	default 0
524	help
525	  The Soc will enter to different boot mode(defined in asm/arch/boot_mode.h)
526	  according to the value from this register.
527
528config ROCKCHIP_STIMER_BASE
529	hex "Rockchip Secure timer base address"
530	default 0xff220020 if ROCKCHIP_PX30
531	default 0x200440a0 if ROCKCHIP_RK3036
532	default 0x2000e000 if ROCKCHIP_RK3066
533	default 0x20018020 if ROCKCHIP_RK3126
534	default 0x200440a0 if ROCKCHIP_RK3128
535	default 0x2000e000 if ROCKCHIP_RK3188
536	default 0x110d0020 if ROCKCHIP_RK322X
537	default 0xff810020 if ROCKCHIP_RK3288
538	default 0xff1d0020 if ROCKCHIP_RK3328
539	default 0xff830020 if ROCKCHIP_RK3368
540	default 0xff8680a0 if ROCKCHIP_RK3399
541	default 0xfdd1c020 if ROCKCHIP_RK3568
542	default 0x10350020 if ROCKCHIP_RV1108
543	default 0xff670020 if ROCKCHIP_RV1126
544	default 0
545	help
546	  The secure timer inited in SPL/TPL in secure word, ARM generic timer
547	  works after this timer work.
548
549config ROCKCHIP_IRAM_START_ADDR
550	hex "Rockchip Secure timer base address"
551	default 0xff0e0000 if ROCKCHIP_PX30
552	default 0x10080000 if ROCKCHIP_RK3036
553	default 0x10080000 if ROCKCHIP_RK3128
554	default 0x10080000 if ROCKCHIP_RK3188
555	default 0x10080000 if ROCKCHIP_RK322X
556	default 0xff700000 if ROCKCHIP_RK3288
557	default 0xfff80000 if ROCKCHIP_RK3308
558	default 0xff091000 if ROCKCHIP_RK3328
559	default 0xff8c0000 if ROCKCHIP_RK3368
560	default 0xff8c0000 if ROCKCHIP_RK3399
561	default 0xfdcc0000 if ROCKCHIP_RK3568
562	default 0x10080000 if ROCKCHIP_RV1108
563	default 0xff700000 if ROCKCHIP_RV1126
564	default 0
565	help
566	  The IRAM start addr is to locate variant of the boot device from
567	  bootrom.
568
569config ROCKCHIP_SPL_RESERVE_IRAM
570	hex "Size of IRAM reserved in SPL"
571	default 0
572	help
573	  SPL may need reserve memory for firmware loaded by SPL, whose load
574	  address is in IRAM and may overlay with SPL text area if not
575	  reserved.
576
577config ROCKCHIP_BROM_HELPER
578	bool
579
580config SPL_ROCKCHIP_EARLYRETURN_TO_BROM
581        bool "SPL requires early-return (for RK3188-style BROM) to BROM"
582	depends on SPL && ENABLE_ARM_SOC_BOOT0_HOOK
583	help
584	  Some Rockchip BROM variants (e.g. on the RK3188) load the
585	  first stage in segments and enter multiple times. E.g. on
586	  the RK3188, the first 1KB of the first stage are loaded
587	  first and entered; after returning to the BROM, the
588	  remainder of the first stage is loaded, but the BROM
589	  re-enters at the same address/to the same code as previously.
590
591	  This enables support code in the BOOT0 hook for the SPL stage
592	  to allow multiple entries.
593
594config TPL_ROCKCHIP_EARLYRETURN_TO_BROM
595        bool "TPL requires early-return (for RK3188-style BROM) to BROM"
596	depends on TPL && ENABLE_ARM_SOC_BOOT0_HOOK
597	help
598	  Some Rockchip BROM variants (e.g. on the RK3188) load the
599	  first stage in segments and enter multiple times. E.g. on
600	  the RK3188, the first 1KB of the first stage are loaded
601	  first and entered; after returning to the BROM, the
602	  remainder of the first stage is loaded, but the BROM
603	  re-enters at the same address/to the same code as previously.
604
605	  This enables support code in the BOOT0 hook for the TPL stage
606	  to allow multiple entries.
607
608config SPL_MMC_SUPPORT
609	default y if !SPL_ROCKCHIP_BACK_TO_BROM
610
611config RKIMG_BOOTLOADER
612	bool "Support for Rockchip platform features"
613	default y
614	help
615	  Actually this is a compatible configure for code compilation.
616
617config RKIMG_ANDROID_BOOTMODE_LEGACY
618	bool "Support set androidboot.mode with legacy rule"
619	depends on RKIMG_BOOTLOADER
620	default n
621	help
622	  Rockchip set "androidboot.mode=" as "charger" or boot media for android,
623	  which is a rockchip private solution(SDK < 8.1) and deprecated.
624
625config ROCKCHIP_RESOURCE_IMAGE
626	bool "Enable support for rockchip resource image"
627	depends on RKIMG_BOOTLOADER
628	default y
629	help
630	  This enables support to get dtb or logo files from
631	  rockchip resource image format partition.
632
633config ROCKCHIP_DTB_VERIFY
634	bool "Enable hash verify for DTB in the resource file"
635	depends on ROCKCHIP_RESOURCE_IMAGE
636	select SHA1 if !DM_CRYPTO
637	select SHA256 if !DM_CRYPTO
638	default y
639	help
640	  This enables the hash verify for DTB in the resource file, it means we
641	  always read DTB from second position even the DTB position is present.
642
643config ROCKCHIP_USB_BOOT
644	bool "Enable support for rockchip U-disk boot"
645	depends on USB
646	default n
647	help
648	  This enables support for rockchip U-disk boot.
649
650config ROCKCHIP_FIT_IMAGE
651	bool "Enable support for FIT image"
652	depends on FIT && USING_KERNEL_DTB
653	select CMD_BOOT_FIT
654	default n
655	help
656	  This enables loading dtb from fit image.
657
658config ROCKCHIP_UIMAGE
659	bool "Enable support for legacy uImage"
660	depends on !FIT_SIGNATURE && USING_KERNEL_DTB
661	select CMD_BOOT_UIMAGE
662	default n
663	help
664	  This enables loading dtb from uImage image.
665
666config ROCKCHIP_EARLY_DISTRO_DTB
667	bool "Enable support for distro dtb early"
668	depends on DISTRO_DEFAULTS && USING_KERNEL_DTB && CMD_FS_GENERIC
669	default n
670	help
671	  This enables loading dtb from distro bootable partition when there
672	  is no valid dtb in android boot.img and rockchip resource.img.
673
674if ROCKCHIP_EARLY_DISTRO_DTB
675
676config ROCKCHIP_EARLY_DISTRO_DTB_PATH
677	string "/rk-kernel.dtb"
678	help
679	  "DTB file path in the bootable partition image"
680endif
681
682config ROCKCHIP_HWID_DTB
683	bool "Enable support for selecting DTB by hardware id"
684	depends on ROCKCHIP_RESOURCE_IMAGE
685	default n
686	help
687	  This enables select the expected DTB from sets by hardware id,
688	  i.e. GPIO or ADC value.
689
690config ROCKCHIP_VENDOR_PARTITION
691	bool "Rockchip vendor storage partition support"
692	depends on RKIMG_BOOTLOADER
693	help
694	  This enable support to read/write vendor configuration data from/to
695	  this partition.
696
697config USING_KERNEL_DTB
698	bool "Using dtb from Kernel/resource for U-Boot"
699	depends on RKIMG_BOOTLOADER && OF_LIVE
700	default y
701	help
702	  This enable support to read dtb from resource and use it for U-Boot,
703	  the uart and emmc will still using U-Boot dtb, but other devices like
704	  regulator/pmic, display, usb will use dts node from kernel.
705
706config ROCKCHIP_CRC
707	bool "Rockchip CRC verify images"
708	help
709	  This enable support Rockchip CRC verify images. It takes a lot of time,
710	  so it is better only used for debug.
711
712config ROCKCHIP_SMCCC
713	bool "Rockchip SMCCC"
714	default y if ARM_SMCCC
715	help
716	  This enable support for Rockchip SMC calls
717
718config ROCKCHIP_DEBUGGER
719	bool "Rockchip debugger"
720	depends on IRQ
721	help
722	  This enable support for Rockchip debugger. Now we install a timer interrupt
723	  and dump pt_regs when the timeout event trigger. This helps us to know cpu
724	  state when system hang.
725
726config ROCKCHIP_CRASH_DUMP
727	bool "Rockchip crash dump registers"
728	help
729	  This enable dump registers when system crash, the registers you would like
730	  to dump can be added in show_regs().
731
732config ROCKCHIP_PRELOADER_ATAGS
733	bool "Rockchip pre-loader atags"
734	default y if ARCH_ROCKCHIP
735	help
736	  This enable support Rockchip atags among pre-loaders, i.e. ddr, miniloader, ATF,
737	  tos, U-Boot, etc. It delivers boot and configure information, shared with pre-loaders
738	  and finally ends with U-Boot.
739
740config ROCKCHIP_PRELOADER_SERIAL
741	bool "Rockchip pre-loader serial"
742	default y if ROCKCHIP_PRELOADER_ATAGS
743	help
744	  This enable U-Boot using pre-loader atags serial configure to initialize console.
745	  It denpends on serial aliases to find pre-loader serial number.
746
747config ROCKCHIP_FIT_IMAGE_PACK
748	bool "Rockchip fit image pack of U-Boot and TEE"
749	depends on ROCKCHIP_FIT_IMAGE
750	default n
751	help
752	  This enable fit image pack of U-Boot and TEE, it's used for make.sh script.
753
754config ROCKCHIP_UART_MUX_SEL_M
755	int "UART mux select"
756	default 0
757	depends on TPL
758	help
759	  This select uart multiplexer for debug uart iomux in board_debug_uart_init.
760
761config BASE_DEFCONFIG
762	string "Base defconfig of config fragment"
763	default ""
764	help
765	  Indicate the base defconfig of config fragment.
766
767config LOADER_INI
768	string "Name of Loader ini file in rkbin repository"
769	default ""
770	help
771	  The ini file is used to pack loader image.
772
773config TRUST_INI
774	string "Name of Trust ini file in rkbin repository"
775	default ""
776	help
777	  The ini file is used to pack trust image.
778
779config GICV2
780	bool "ARM GICv2"
781
782config GICV3
783	bool "ARM GICv3"
784
785source "arch/arm/mach-rockchip/px30/Kconfig"
786source "arch/arm/mach-rockchip/rk3036/Kconfig"
787source "arch/arm/mach-rockchip/rk3066/Kconfig"
788source "arch/arm/mach-rockchip/rk3128/Kconfig"
789source "arch/arm/mach-rockchip/rk3188/Kconfig"
790source "arch/arm/mach-rockchip/rk322x/Kconfig"
791source "arch/arm/mach-rockchip/rk3288/Kconfig"
792source "arch/arm/mach-rockchip/rk3308/Kconfig"
793source "arch/arm/mach-rockchip/rk3328/Kconfig"
794source "arch/arm/mach-rockchip/rk3368/Kconfig"
795source "arch/arm/mach-rockchip/rk3399/Kconfig"
796source "arch/arm/mach-rockchip/rk3568/Kconfig"
797source "arch/arm/mach-rockchip/rk1808/Kconfig"
798source "arch/arm/mach-rockchip/rv1108/Kconfig"
799source "arch/arm/mach-rockchip/rv1126/Kconfig"
800
801endif
802