xref: /rk3399_rockchip-uboot/arch/arm/mach-rockchip/Kconfig (revision 529dfdedda26c4de34c1fa331aeba80216781264)
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
230if ROCKCHIP_RK3308
231
232config TPL_LDSCRIPT
233	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
234
235config TPL_TEXT_BASE
236	default 0xfff81000
237
238config TPL_MAX_SIZE
239	default 10240
240
241config TPL_STACK
242	default 0xfff84000
243
244endif
245
246config ROCKCHIP_RK3328
247	bool "Support Rockchip RK3328"
248	select ARM64
249	select GICV2
250	select SUPPORT_SPL
251	select SUPPORT_TPL
252	select SPL
253	select TPL
254	select TPL_NEEDS_SEPARATE_TEXT_BASE if TPL
255	select TPL_NEEDS_SEPARATE_STACK if TPL
256	imply SPL_SERIAL_SUPPORT
257	imply TPL_SERIAL_SUPPORT
258	imply SPL_SEPARATE_BSS
259	select ARM_SMCCC
260	help
261	  The Rockchip RK3328 is a ARM-based SoC with a quad-core Cortex-A53.
262	  including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
263	  video interfaces supporting HDMI and eDP, several DDR3 options
264	  and video codec support. Peripherals include Gigabit Ethernet,
265	  USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
266
267if ROCKCHIP_RK3328
268
269config TPL_LDSCRIPT
270	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
271
272config TPL_TEXT_BASE
273        default 0xff091000
274
275config TPL_MAX_SIZE
276        default 28672
277
278config TPL_STACK
279        default 0xff098000
280
281endif
282
283config ROCKCHIP_RK3368
284	bool "Support Rockchip RK3368"
285	select ARM64
286	select SUPPORT_SPL
287	select SUPPORT_TPL
288	select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL
289	select TPL_NEEDS_SEPARATE_STACK if TPL
290	imply SPL_SEPARATE_BSS
291	imply SPL_SERIAL_SUPPORT
292	imply TPL_SERIAL_SUPPORT
293	select GICV2
294	select ARM_SMCCC
295	help
296	  The Rockchip RK3368 is a ARM-based SoC with a octa-core (organised
297	  into a big and little cluster with 4 cores each) Cortex-A53 including
298	  AdvSIMD, 512KB L2 cache (for the big cluster) and 256 KB L2 cache
299	  (for the little cluster), PowerVR G6110 based graphics, one video
300	  output processor supporting LVDS/HDMI/eDP, several DDR3 options and
301	  video codec support.
302
303	  On-chip peripherals include Gigabit Ethernet, USB2 host and OTG, SDIO,
304	  I2S, UARTs, SPI, I2C and PWMs.
305
306if ROCKCHIP_RK3368
307
308config ROCKCHIP_PX5
309	bool "Support Rockchip PX5"
310	help
311	  PX5 is a variant of RK3368, it shares codes with RK3368, but we still
312	  need this macro to distinguish PX5 and RK3368.
313
314config TPL_LDSCRIPT
315	default "arch/arm/mach-rockchip/rk3368/u-boot-tpl.lds"
316
317config TPL_TEXT_BASE
318        default 0xff8c1000
319
320config TPL_MAX_SIZE
321        default 28672
322
323config TPL_STACK
324        default 0xff8cffff
325
326endif
327
328config ROCKCHIP_RK3399
329	bool "Support Rockchip RK3399"
330	select ARM64
331	select SUPPORT_SPL
332	select SUPPORT_TPL
333	select SPL
334	select TPL
335	select TPL_NEEDS_SEPARATE_TEXT_BASE if TPL
336	select TPL_NEEDS_SEPARATE_STACK if TPL
337	imply TPL_SERIAL_SUPPORT
338	select SPL_SEPARATE_BSS
339	select SPL_SERIAL_SUPPORT
340	select SPL_DRIVERS_MISC_SUPPORT
341	select GICV3
342	select BOARD_LATE_INIT
343	select ROCKCHIP_BROM_HELPER
344	select ARM_SMCCC
345	select TPL_LIBCOMMON_SUPPORT
346	select TPL_LIBGENERIC_SUPPORT
347	select TPL_SYS_MALLOC_SIMPLE
348	select TPL_BOOTROM_SUPPORT
349	select TPL_DRIVERS_MISC_SUPPORT
350	select TPL_OF_CONTROL
351	select TPL_DM
352	select TPL_REGMAP
353	select TPL_SYSCON
354	select TPL_RAM
355	select TPL_CLK
356	select TPL_TINY_MEMSET
357	help
358	  The Rockchip RK3399 is a ARM-based SoC with a dual-core Cortex-A72
359	  and quad-core Cortex-A53.
360	  including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
361	  video interfaces supporting HDMI and eDP, several DDR3 options
362	  and video codec support. Peripherals include Gigabit Ethernet,
363	  USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
364
365if ROCKCHIP_RK3399
366
367config ROCKCHIP_RK3399PRO
368	bool "Support Rockchip RK3399Pro"
369
370config TPL_LDSCRIPT
371	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
372
373config TPL_TEXT_BASE
374        default 0xff8c2000
375
376config TPL_MAX_SIZE
377        default 188416
378
379config TPL_STACK
380        default 0xff8effff
381
382endif
383
384config ROCKCHIP_RK3568
385	bool "Support Rockchip RK3568"
386	select ARM64
387	select ARM_SMCCC
388	select GICV3
389	select SPL
390	select SUPPORT_TPL
391	select SUPPORT_SPL
392	select TPL_TINY_FRAMEWORK if TPL
393	select DEBUG_UART_BOARD_INIT
394	imply TPL
395	imply SPL
396	imply TPL_SERIAL_SUPPORT
397	help
398	  The Rockchip RK3568 is a ARM-based SoC with a quad-core Cortex-A55.
399
400if ROCKCHIP_RK3568
401
402config TPL_LDSCRIPT
403	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
404
405config TPL_TEXT_BASE
406	default 0xfdcc1000
407
408config TPL_MAX_SIZE
409	default 61440
410
411endif
412
413config ROCKCHIP_RK1808
414	bool "Support Rockchip RK1808"
415	select ARM64
416	select ARM_SMCCC
417	select GICV3 if !COPROCESSOR_RK1808
418	select SUPPORT_SPL if !COPROCESSOR_RK1808
419	select SUPPORT_TPL if !COPROCESSOR_RK1808
420	help
421	  The Rockchip RK1808 is a ARM-based Soc which embedded with dual
422	  Cortex-A35.
423
424if ROCKCHIP_RK1808
425
426config ROCKCHIP_RK1806
427	bool "Support Rockchip RK1806"
428	help
429	  The Rockchip RK1806 is a ARM-based Soc which embedded with dual
430	  Cortex-A35.
431
432config COPROCESSOR_RK1808
433	bool "RK1808 coprocessor"
434	help
435	  This indicates the RK1808 is working as a coprocessor for another
436	  more powerful SoC.
437
438endif
439
440config ROCKCHIP_RV1108
441	bool "Support Rockchip RV1108"
442	select CPU_V7
443	select SUPPORT_SPL
444	select SUPPORT_TPL
445	select SPL
446	select TPL
447	select BOARD_LATE_INIT
448	help
449	  The Rockchip RV1108 is a ARM-based SoC with a single-core Cortex-A7
450	  and a DSP.
451
452if ROCKCHIP_RV1108
453
454config TPL_LDSCRIPT
455        default "arch/arm/mach-rockchip/u-boot-tpl.lds"
456
457config TPL_TEXT_BASE
458        default 0x10080800
459
460config TPL_MAX_SIZE
461        default 6144
462
463config TPL_STACK
464        default 0x10082000
465
466endif
467
468config ROCKCHIP_RV1126
469	bool "Support Rockchip RV1126"
470	select CPU_V7
471	select SUPPORT_TPL
472	select SUPPORT_SPL
473	select TPL_TINY_FRAMEWORK if TPL
474	select DEBUG_UART_BOARD_INIT
475	imply TPL
476	imply SPL
477	imply GICV2
478	imply ARM_SMCCC
479	imply BOARD_LATE_INIT
480	imply ROCKCHIP_GPIO_V2
481	imply TPL_SERIAL_SUPPORT
482	help
483	  The Rockchip RV1126 is a ARM-based SoC with a quad-core Cortex-A7
484	  and a risc-v core.
485
486if ROCKCHIP_RV1126
487
488config TPL_LDSCRIPT
489	default "arch/arm/mach-rockchip/u-boot-tpl.lds"
490
491config TPL_TEXT_BASE
492	default 0xff701000
493
494config TPL_MAX_SIZE
495	default 32768
496endif
497
498config SPL_ROCKCHIP_BACK_TO_BROM
499	bool "SPL returns to bootrom"
500	default y if ROCKCHIP_RK3036
501	select ROCKCHIP_BROM_HELPER
502	depends on SPL
503	help
504	  Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled,
505          SPL will return to the boot rom, which will then load the U-Boot
506          binary to keep going on.
507
508config TPL_ROCKCHIP_BACK_TO_BROM
509	bool "TPL returns to bootrom"
510	default y
511	select ROCKCHIP_BROM_HELPER
512	depends on TPL
513	help
514	  Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled,
515          SPL will return to the boot rom, which will then load the U-Boot
516          binary to keep going on.
517
518config ARM64_BOOT_AARCH32
519	bool "Support Boot an ARM64 on AArch32 execution state"
520	select CPU_V7
521	default n
522	help
523	  If you want to boot an ARM64 processor on 32-bit mode, say y here.
524
525config ROCKCHIP_BOOT_MODE_REG
526	hex "Rockchip boot mode flag register address"
527	default 0xff010200 if ROCKCHIP_PX30
528	default 0x200081c8 if ROCKCHIP_RK3036
529	default 0x100a0038 if ROCKCHIP_RK3128
530	default 0x20004040 if ROCKCHIP_RK3188
531	default 0x110005c8 if ROCKCHIP_RK322X
532	default 0xff730094 if ROCKCHIP_RK3288
533	default 0xff000500 if ROCKCHIP_RK3308
534	default 0xff1005c8 if ROCKCHIP_RK3328
535	default 0xff738200 if ROCKCHIP_RK3368
536	default 0xff320300 if ROCKCHIP_RK3399
537	default 0xfdc20200 if ROCKCHIP_RK3568
538	default 0xfe020200 if ROCKCHIP_RK1808
539	default 0x10300580 if ROCKCHIP_RV1108
540	default 0xfe020200 if ROCKCHIP_RV1126
541	default 0
542	help
543	  The Soc will enter to different boot mode(defined in asm/arch/boot_mode.h)
544	  according to the value from this register.
545
546config ROCKCHIP_STIMER_BASE
547	hex "Rockchip Secure timer base address"
548	default 0xff220020 if ROCKCHIP_PX30
549	default 0x200440a0 if ROCKCHIP_RK3036
550	default 0x2000e000 if ROCKCHIP_RK3066
551	default 0x20018020 if ROCKCHIP_RK3126
552	default 0x200440a0 if ROCKCHIP_RK3128
553	default 0x2000e000 if ROCKCHIP_RK3188
554	default 0x110d0020 if ROCKCHIP_RK322X
555	default 0xff810020 if ROCKCHIP_RK3288
556	default 0xff1b00a0 if ROCKCHIP_RK3308
557	default 0xff1d0020 if ROCKCHIP_RK3328
558	default 0xff830020 if ROCKCHIP_RK3368
559	default 0xff8680a0 if ROCKCHIP_RK3399
560	default 0xfdd1c020 if ROCKCHIP_RK3568
561	default 0x10350020 if ROCKCHIP_RV1108
562	default 0xff670020 if ROCKCHIP_RV1126
563	default 0
564	help
565	  The secure timer inited in SPL/TPL in secure word, ARM generic timer
566	  works after this timer work.
567
568config ROCKCHIP_IRAM_START_ADDR
569	hex "Rockchip Secure timer base address"
570	default 0xff0e0000 if ROCKCHIP_PX30
571	default 0x10080000 if ROCKCHIP_RK3036
572	default 0x10080000 if ROCKCHIP_RK3128
573	default 0x10080000 if ROCKCHIP_RK3188
574	default 0x10080000 if ROCKCHIP_RK322X
575	default 0xff700000 if ROCKCHIP_RK3288
576	default 0xfff80000 if ROCKCHIP_RK3308
577	default 0xff091000 if ROCKCHIP_RK3328
578	default 0xff8c0000 if ROCKCHIP_RK3368
579	default 0xff8c0000 if ROCKCHIP_RK3399
580	default 0xfdcc0000 if ROCKCHIP_RK3568
581	default 0x10080000 if ROCKCHIP_RV1108
582	default 0xff700000 if ROCKCHIP_RV1126
583	default 0
584	help
585	  The IRAM start addr is to locate variant of the boot device from
586	  bootrom.
587
588config ROCKCHIP_SPL_RESERVE_IRAM
589	hex "Size of IRAM reserved in SPL"
590	default 0
591	help
592	  SPL may need reserve memory for firmware loaded by SPL, whose load
593	  address is in IRAM and may overlay with SPL text area if not
594	  reserved.
595
596config ROCKCHIP_BROM_HELPER
597	bool
598
599config SPL_ROCKCHIP_EARLYRETURN_TO_BROM
600        bool "SPL requires early-return (for RK3188-style BROM) to BROM"
601	depends on SPL && ENABLE_ARM_SOC_BOOT0_HOOK
602	help
603	  Some Rockchip BROM variants (e.g. on the RK3188) load the
604	  first stage in segments and enter multiple times. E.g. on
605	  the RK3188, the first 1KB of the first stage are loaded
606	  first and entered; after returning to the BROM, the
607	  remainder of the first stage is loaded, but the BROM
608	  re-enters at the same address/to the same code as previously.
609
610	  This enables support code in the BOOT0 hook for the SPL stage
611	  to allow multiple entries.
612
613config TPL_ROCKCHIP_EARLYRETURN_TO_BROM
614        bool "TPL requires early-return (for RK3188-style BROM) to BROM"
615	depends on TPL && ENABLE_ARM_SOC_BOOT0_HOOK
616	help
617	  Some Rockchip BROM variants (e.g. on the RK3188) load the
618	  first stage in segments and enter multiple times. E.g. on
619	  the RK3188, the first 1KB of the first stage are loaded
620	  first and entered; after returning to the BROM, the
621	  remainder of the first stage is loaded, but the BROM
622	  re-enters at the same address/to the same code as previously.
623
624	  This enables support code in the BOOT0 hook for the TPL stage
625	  to allow multiple entries.
626
627config SPL_MMC_SUPPORT
628	default y if !SPL_ROCKCHIP_BACK_TO_BROM
629
630config RKIMG_BOOTLOADER
631	bool "Support for Rockchip platform features"
632	default y
633	help
634	  Actually this is a compatible configure for code compilation.
635
636config RKIMG_ANDROID_BOOTMODE_LEGACY
637	bool "Support set androidboot.mode with legacy rule"
638	depends on RKIMG_BOOTLOADER
639	default n
640	help
641	  Rockchip set "androidboot.mode=" as "charger" or boot media for android,
642	  which is a rockchip private solution(SDK < 8.1) and deprecated.
643
644config ROCKCHIP_RESOURCE_IMAGE
645	bool "Enable support for rockchip resource image"
646	depends on RKIMG_BOOTLOADER
647	default y
648	help
649	  This enables support to get dtb or logo files from
650	  rockchip resource image format partition.
651
652config ROCKCHIP_DTB_VERIFY
653	bool "Enable hash verify for DTB in the resource file"
654	depends on ROCKCHIP_RESOURCE_IMAGE
655	select SHA1 if !DM_CRYPTO
656	select SHA256 if !DM_CRYPTO
657	default y
658	help
659	  This enables the hash verify for DTB in the resource file, it means we
660	  always read DTB from second position even the DTB position is present.
661
662config ROCKCHIP_USB_BOOT
663	bool "Enable support for rockchip U-disk boot"
664	depends on USB
665	default n
666	help
667	  This enables support for rockchip U-disk boot.
668
669config ROCKCHIP_FIT_IMAGE
670	bool "Enable support for FIT image"
671	depends on FIT && USING_KERNEL_DTB
672	select CMD_BOOT_FIT
673	default n
674	help
675	  This enables loading dtb from fit image.
676
677config ROCKCHIP_UIMAGE
678	bool "Enable support for legacy uImage"
679	depends on !FIT_SIGNATURE && USING_KERNEL_DTB
680	select CMD_BOOT_UIMAGE
681	default n
682	help
683	  This enables loading dtb from uImage image.
684
685config ROCKCHIP_EARLY_DISTRO_DTB
686	bool "Enable support for distro dtb early"
687	depends on DISTRO_DEFAULTS && USING_KERNEL_DTB && CMD_FS_GENERIC
688	default n
689	help
690	  This enables loading dtb from distro bootable partition when there
691	  is no valid dtb in android boot.img and rockchip resource.img.
692
693if ROCKCHIP_EARLY_DISTRO_DTB
694
695config ROCKCHIP_EARLY_DISTRO_DTB_PATH
696	string "/rk-kernel.dtb"
697	help
698	  "DTB file path in the bootable partition image"
699endif
700
701config ROCKCHIP_HWID_DTB
702	bool "Enable support for selecting DTB by hardware id"
703	depends on ROCKCHIP_RESOURCE_IMAGE
704	default n
705	help
706	  This enables select the expected DTB from sets by hardware id,
707	  i.e. GPIO or ADC value.
708
709config ROCKCHIP_VENDOR_PARTITION
710	bool "Rockchip vendor storage partition support"
711	depends on RKIMG_BOOTLOADER
712	help
713	  This enable support to read/write vendor configuration data from/to
714	  this partition.
715
716config USING_KERNEL_DTB
717	bool "Using dtb from Kernel/resource for U-Boot"
718	depends on RKIMG_BOOTLOADER && OF_LIVE
719	default y
720	help
721	  This enable support to read dtb from resource and use it for U-Boot,
722	  the uart and emmc will still using U-Boot dtb, but other devices like
723	  regulator/pmic, display, usb will use dts node from kernel.
724
725config ROCKCHIP_CRC
726	bool "Rockchip CRC verify images"
727	help
728	  This enable support Rockchip CRC verify images. It takes a lot of time,
729	  so it is better only used for debug.
730
731config ROCKCHIP_SMCCC
732	bool "Rockchip SMCCC"
733	default y if ARM_SMCCC
734	help
735	  This enable support for Rockchip SMC calls
736
737config ROCKCHIP_DEBUGGER
738	bool "Rockchip debugger"
739	depends on IRQ
740	help
741	  This enable support for Rockchip debugger. Now we install a timer interrupt
742	  and dump pt_regs when the timeout event trigger. This helps us to know cpu
743	  state when system hang.
744
745config ROCKCHIP_CRASH_DUMP
746	bool "Rockchip crash dump registers"
747	help
748	  This enable dump registers when system crash, the registers you would like
749	  to dump can be added in show_regs().
750
751config ROCKCHIP_PRELOADER_ATAGS
752	bool "Rockchip pre-loader atags"
753	default y if ARCH_ROCKCHIP
754	help
755	  This enable support Rockchip atags among pre-loaders, i.e. ddr, miniloader, ATF,
756	  tos, U-Boot, etc. It delivers boot and configure information, shared with pre-loaders
757	  and finally ends with U-Boot.
758
759config ROCKCHIP_PRELOADER_SERIAL
760	bool "Rockchip pre-loader serial"
761	default y if ROCKCHIP_PRELOADER_ATAGS
762	help
763	  This enable U-Boot using pre-loader atags serial configure to initialize console.
764	  It denpends on serial aliases to find pre-loader serial number.
765
766config ROCKCHIP_FIT_IMAGE_PACK
767	bool "Rockchip fit image pack of U-Boot and TEE"
768	depends on ROCKCHIP_FIT_IMAGE
769	default n
770	help
771	  This enable fit image pack of U-Boot and TEE, it's used for make.sh script.
772
773config ROCKCHIP_UART_MUX_SEL_M
774	int "UART mux select"
775	default 0
776	depends on TPL
777	help
778	  This select uart multiplexer for debug uart iomux in board_debug_uart_init.
779
780config BASE_DEFCONFIG
781	string "Base defconfig of config fragment"
782	default ""
783	help
784	  Indicate the base defconfig of config fragment.
785
786config LOADER_INI
787	string "Name of Loader ini file in rkbin repository"
788	default ""
789	help
790	  The ini file is used to pack loader image.
791
792config TRUST_INI
793	string "Name of Trust ini file in rkbin repository"
794	default ""
795	help
796	  The ini file is used to pack trust image.
797
798config GICV2
799	bool "ARM GICv2"
800
801config GICV3
802	bool "ARM GICv3"
803
804source "arch/arm/mach-rockchip/px30/Kconfig"
805source "arch/arm/mach-rockchip/rk3036/Kconfig"
806source "arch/arm/mach-rockchip/rk3066/Kconfig"
807source "arch/arm/mach-rockchip/rk3128/Kconfig"
808source "arch/arm/mach-rockchip/rk3188/Kconfig"
809source "arch/arm/mach-rockchip/rk322x/Kconfig"
810source "arch/arm/mach-rockchip/rk3288/Kconfig"
811source "arch/arm/mach-rockchip/rk3308/Kconfig"
812source "arch/arm/mach-rockchip/rk3328/Kconfig"
813source "arch/arm/mach-rockchip/rk3368/Kconfig"
814source "arch/arm/mach-rockchip/rk3399/Kconfig"
815source "arch/arm/mach-rockchip/rk3568/Kconfig"
816source "arch/arm/mach-rockchip/rk1808/Kconfig"
817source "arch/arm/mach-rockchip/rv1108/Kconfig"
818source "arch/arm/mach-rockchip/rv1126/Kconfig"
819
820endif
821