xref: /rk3399_rockchip-uboot/arch/arm/mach-rockchip/Kconfig (revision d6f8cec4d54b00221a4e2560b3576fe70b46b8cf)
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	select ARM_ERRATA_814220
55	help
56	  The Rockchip RK3036 is a ARM-based SoC with a dual-core Cortex-A7
57	  including NEON and GPU, Mali-400 graphics, several DDR3 options
58	  and video codec support. Peripherals include Gigabit Ethernet,
59	  USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
60
61config ROCKCHIP_RK3128
62	bool "Support Rockchip RK3128"
63	select CPU_V7
64	select GICV2
65	select ARM_SMCCC
66	select ARM_ERRATA_814220
67	help
68	  The Rockchip RK3128 is a ARM-based SoC with a quad-core Cortex-A7
69	  including NEON and GPU, Mali-400 graphics, several DDR3 options
70	  and video codec support. Peripherals include Gigabit Ethernet,
71	  USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
72
73if ROCKCHIP_RK3128
74
75config ROCKCHIP_RK3126
76	bool "Support Rockchip RK3126 "
77	help
78	  RK3126 can use most code from RK3128, but at some situations we have
79	  to distinguish between RK3126 and RK3128, so this macro gives help.
80	  It is usually selected in rk3126 board defconfig.
81
82config ROCKCHIP_PX3SE
83	bool "Support Rockchip PX3SE"
84	help
85	  PX3SE is a variant of RK3128, it shares codes with RK3128, but we still
86	  need this macro to distinguish PX3SE and RK3128.
87endif
88
89config ROCKCHIP_RK3066
90	bool "Support Rockchip RK3066"
91	select CPU_V7
92	select SUPPORT_SPL
93	select SUPPORT_TPL
94	select SPL
95	select TPL
96	select BOARD_LATE_INIT
97	select ROCKCHIP_BROM_HELPER
98	select SPL_ROCKCHIP_EARLYRETURN_TO_BROM
99	help
100	  The Rockchip RK3066 is a ARM-based SoC with a dual-core Cortex-A9
101	  including NEON and GPU, Mali-400 graphics, several DDR3 options
102	  and video codec support. Peripherals include ethernet, USB2 host
103	  and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
104
105config ROCKCHIP_RK3188
106	bool "Support Rockchip RK3188"
107	select CPU_V7
108	select SPL_BOARD_INIT if SPL
109	select SUPPORT_SPL
110	select SPL
111	select SPL_CLK
112	select SPL_REGMAP
113	select SPL_SYSCON
114	select SPL_RAM
115	select SPL_DRIVERS_MISC_SUPPORT
116	select SPL_ROCKCHIP_EARLYRETURN_TO_BROM
117	select BOARD_LATE_INIT
118	select ROCKCHIP_BROM_HELPER
119	help
120	  The Rockchip RK3188 is a ARM-based SoC with a quad-core Cortex-A9
121	  including NEON and GPU, 512KB L2 cache, Mali-400 graphics, two
122	  video interfaces, several memory options and video codec support.
123	  Peripherals include Fast Ethernet, USB2 host and OTG, SDIO, I2S,
124	  UART, SPI, I2C and PWMs.
125
126config ROCKCHIP_RK322X
127	bool "Support Rockchip RK3228/RK3229"
128	select CPU_V7
129	select SUPPORT_SPL
130	select SUPPORT_TPL
131	select SPL
132	select TPL
133	select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL
134	select TPL_NEEDS_SEPARATE_STACK if TPL
135	select SPL_DRIVERS_MISC_SUPPORT
136	imply SPL_SERIAL_SUPPORT
137	imply TPL_SERIAL_SUPPORT
138	select ROCKCHIP_BROM_HELPER
139	select TPL_LIBCOMMON_SUPPORT
140	select TPL_LIBGENERIC_SUPPORT
141	select GICV2
142	select ARM_SMCCC
143	select ARM_ERRATA_814220
144	help
145	  The Rockchip RK3229 is a ARM-based SoC with a dual-core Cortex-A7
146	  including NEON and GPU, Mali-400 graphics, several DDR3 options
147	  and video codec support. Peripherals include Gigabit Ethernet,
148	  USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
149
150if ROCKCHIP_RK322X
151
152config ROCKCHIP_RK3128X
153	bool "Support Rockchip RK3128X "
154	help
155	  RK3128X can use most code from RK322X, but at some situations we have
156	  to distinguish between RK3128X and RK322X, so this macro gives help.
157	  It is usually selected in RK3128X board defconfig.
158endif
159
160config ROCKCHIP_RK3288
161	bool "Support Rockchip RK3288"
162	select CPU_V7
163	select SPL_BOARD_INIT if SPL
164	select SUPPORT_SPL
165	select SUPPORT_TPL
166	select SPL
167	select TPL
168	select TPL_NEEDS_SEPARATE_TEXT_BASE if TPL
169	select TPL_NEEDS_SEPARATE_STACK if TPL
170	imply TPL_SERIAL_SUPPORT
171	select GICV2
172	select ARM_SMCCC
173	select SPL_OPTEE
174	select FIT
175	select SPL_LOAD_FIT
176	select TPL_LIBCOMMON_SUPPORT
177	select TPL_LIBGENERIC_SUPPORT
178	select TPL_SYS_MALLOC_SIMPLE
179	select TPL_BOOTROM_SUPPORT
180	select TPL_DRIVERS_MISC_SUPPORT
181	select TPL_OF_CONTROL
182	select TPL_DM
183	select TPL_REGMAP
184	select TPL_SYSCON
185	select TPL_RAM
186	select TPL_CLK
187	select TPL_TINY_MEMSET
188	help
189	  The Rockchip RK3288 is a ARM-based SoC with a quad-core Cortex-A17
190	  including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
191	  video interfaces supporting HDMI and eDP, several DDR3 options
192	  and video codec support. Peripherals include Gigabit Ethernet,
193	  USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
194
195if ROCKCHIP_RK3288
196config SPL_FIT_GENERATOR
197	default "arch/arm/mach-rockchip/make_fit_optee.sh"
198
199config TPL_LDSCRIPT
200	default "arch/arm/mach-rockchip/u-boot-tpl.lds"
201
202config TPL_TEXT_BASE
203	default 0xff704000
204
205config TPL_MAX_SIZE
206	default 32768
207
208config TPL_STACK
209	default 0xff718000
210
211endif
212
213config ROCKCHIP_RK3308
214	bool "Support Rockchip RK3308"
215	select ARM64 if !ARM64_BOOT_AARCH32
216	select ARM_SMCCC
217	imply GICV2
218	select SUPPORT_SPL if !ARM64_BOOT_AARCH32
219	select SUPPORT_TPL if !ARM64_BOOT_AARCH32
220	select SPL if !ARM64_BOOT_AARCH32
221	select TPL if !ARM64_BOOT_AARCH32
222	imply SPL_CLK
223	imply SPL_REGMAP
224	imply SPL_SYSCON
225	imply SPL_RAM
226	imply SPL_SERIAL_SUPPORT
227	imply TPL_SERIAL_SUPPORT
228	imply SPL_SEPARATE_BSS
229	help
230	  The Rockchip RK3308 is a ARM-based Soc which embeded with quad
231	  Cortex-A35 and highly integrated audio interfaces.
232
233if ROCKCHIP_RK3308
234
235config TPL_LDSCRIPT
236	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
237
238config TPL_TEXT_BASE
239	default 0xfff81000
240
241config TPL_MAX_SIZE
242	default 10240
243
244config TPL_STACK
245	default 0xfff84000
246
247endif
248
249config ROCKCHIP_RK3328
250	bool "Support Rockchip RK3328"
251	select ARM64
252	select GICV2
253	select SUPPORT_SPL
254	select SUPPORT_TPL
255	select SPL
256	select TPL
257	select TPL_NEEDS_SEPARATE_TEXT_BASE if TPL
258	select TPL_NEEDS_SEPARATE_STACK if TPL
259	imply SPL_SERIAL_SUPPORT
260	imply TPL_SERIAL_SUPPORT
261	imply SPL_SEPARATE_BSS
262	select ARM_SMCCC
263	help
264	  The Rockchip RK3328 is a ARM-based SoC with a quad-core Cortex-A53.
265	  including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
266	  video interfaces supporting HDMI and eDP, several DDR3 options
267	  and video codec support. Peripherals include Gigabit Ethernet,
268	  USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
269
270if ROCKCHIP_RK3328
271
272config TPL_LDSCRIPT
273	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
274
275config TPL_TEXT_BASE
276        default 0xff091000
277
278config TPL_MAX_SIZE
279        default 28672
280
281config TPL_STACK
282        default 0xff098000
283
284endif
285
286config ROCKCHIP_RK3368
287	bool "Support Rockchip RK3368"
288	select ARM64
289	select SUPPORT_SPL
290	select SUPPORT_TPL
291	select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL
292	select TPL_NEEDS_SEPARATE_STACK if TPL
293	imply SPL_SEPARATE_BSS
294	imply SPL_SERIAL_SUPPORT
295	imply TPL_SERIAL_SUPPORT
296	select GICV2
297	select ARM_SMCCC
298	help
299	  The Rockchip RK3368 is a ARM-based SoC with a octa-core (organised
300	  into a big and little cluster with 4 cores each) Cortex-A53 including
301	  AdvSIMD, 512KB L2 cache (for the big cluster) and 256 KB L2 cache
302	  (for the little cluster), PowerVR G6110 based graphics, one video
303	  output processor supporting LVDS/HDMI/eDP, several DDR3 options and
304	  video codec support.
305
306	  On-chip peripherals include Gigabit Ethernet, USB2 host and OTG, SDIO,
307	  I2S, UARTs, SPI, I2C and PWMs.
308
309if ROCKCHIP_RK3368
310
311config ROCKCHIP_PX5
312	bool "Support Rockchip PX5"
313	help
314	  PX5 is a variant of RK3368, it shares codes with RK3368, but we still
315	  need this macro to distinguish PX5 and RK3368.
316
317config TPL_LDSCRIPT
318	default "arch/arm/mach-rockchip/rk3368/u-boot-tpl.lds"
319
320config TPL_TEXT_BASE
321        default 0xff8c1000
322
323config TPL_MAX_SIZE
324        default 28672
325
326config TPL_STACK
327        default 0xff8cffff
328
329endif
330
331config ROCKCHIP_RK3399
332	bool "Support Rockchip RK3399"
333	select ARM64
334	select SUPPORT_SPL
335	select SUPPORT_TPL
336	select SPL
337	select TPL
338	select TPL_NEEDS_SEPARATE_TEXT_BASE if TPL
339	select TPL_NEEDS_SEPARATE_STACK if TPL
340	imply TPL_SERIAL_SUPPORT
341	select SPL_SEPARATE_BSS
342	select SPL_SERIAL_SUPPORT
343	select SPL_DRIVERS_MISC_SUPPORT
344	select GICV3
345	select BOARD_LATE_INIT
346	select ROCKCHIP_BROM_HELPER
347	select ARM_SMCCC
348	select TPL_LIBCOMMON_SUPPORT
349	select TPL_LIBGENERIC_SUPPORT
350	select TPL_SYS_MALLOC_SIMPLE
351	select TPL_BOOTROM_SUPPORT
352	select TPL_DRIVERS_MISC_SUPPORT
353	select TPL_OF_CONTROL
354	select TPL_DM
355	select TPL_REGMAP
356	select TPL_SYSCON
357	select TPL_RAM
358	select TPL_CLK
359	select TPL_TINY_MEMSET
360	help
361	  The Rockchip RK3399 is a ARM-based SoC with a dual-core Cortex-A72
362	  and quad-core Cortex-A53.
363	  including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
364	  video interfaces supporting HDMI and eDP, several DDR3 options
365	  and video codec support. Peripherals include Gigabit Ethernet,
366	  USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
367
368if ROCKCHIP_RK3399
369
370config ROCKCHIP_RK3399PRO
371	bool "Support Rockchip RK3399Pro"
372
373config TPL_LDSCRIPT
374	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
375
376config TPL_TEXT_BASE
377        default 0xff8c2000
378
379config TPL_MAX_SIZE
380        default 188416
381
382config TPL_STACK
383        default 0xff8effff
384
385endif
386
387config ROCKCHIP_RK3506
388	bool "Support Rockchip RK3506"
389	select CPU_V7
390	select ROCKCHIP_BROM_HELPER
391	select DEBUG_UART_BOARD_INIT
392	select ARM_SMCCC
393	select GICV2
394	select ARM_ERRATA_814220
395	imply SUPPORT_SPL
396	imply SUPPORT_TPL
397	imply SPL
398	imply TPL
399	imply TPL_SERIAL_SUPPORT
400	imply SPL_SERIAL_SUPPORT
401	imply TPL_TINY_FRAMEWORK if TPL
402	imply BOARD_LATE_INIT
403	imply ROCKCHIP_GPIO_V2
404
405	help
406	  The Rockchip RK3506 is a ARM-based SoC with a tri-core Cortex-A7.
407
408if ROCKCHIP_RK3506
409
410config TPL_LDSCRIPT
411	default "arch/arm/mach-rockchip/u-boot-tpl.lds"
412
413config TPL_TEXT_BASE
414	default 0xfff81000
415
416config TPL_MAX_SIZE
417	default 45056
418
419endif
420
421config ROCKCHIP_RK3528
422	bool "Support Rockchip RK3528"
423	select ARM64 if !ARM64_BOOT_AARCH32
424	select GICV2 if !ARM64_BOOT_AARCH32
425	select SUPPORT_TPL if !ARM64_BOOT_AARCH32
426	select SUPPORT_SPL if !ARM64_BOOT_AARCH32
427	select TPL_TINY_FRAMEWORK if TPL
428	select DEBUG_UART_BOARD_INIT
429	imply TPL if !ARM64_BOOT_AARCH32
430	imply SPL if !ARM64_BOOT_AARCH32
431	imply TPL_SERIAL_SUPPORT
432	help
433	  The Rockchip RK3528 is a ARM-based SoC with a quad-core Cortex-A53.
434
435if ROCKCHIP_RK3528
436
437config TPL_LDSCRIPT
438	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
439
440config TPL_TEXT_BASE
441	default 0xfe481000
442
443config TPL_MAX_SIZE
444	default 61440
445
446endif
447
448config ROCKCHIP_RK3562
449	bool "Support Rockchip RK3562"
450	select ARM_SMCCC
451	select ARM64 if !ARM64_BOOT_AARCH32
452	select GICV2 if !ARM64_BOOT_AARCH32
453	select SUPPORT_TPL if !ARM64_BOOT_AARCH32
454	select SUPPORT_SPL if !ARM64_BOOT_AARCH32
455	select TPL_TINY_FRAMEWORK if TPL
456	select DEBUG_UART_BOARD_INIT
457	imply TPL if !ARM64_BOOT_AARCH32
458	imply SPL if !ARM64_BOOT_AARCH32
459	imply TPL_SERIAL_SUPPORT
460	help
461	  The Rockchip RK3562 is a ARM-based SoC with a quad-core Cortex-A53.
462
463if ROCKCHIP_RK3562
464
465config TPL_LDSCRIPT
466	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
467
468config TPL_TEXT_BASE
469	default 0xfe481000
470
471config TPL_MAX_SIZE
472	default 61440
473
474endif
475
476config ROCKCHIP_RK3568
477	bool "Support Rockchip RK3568"
478	select ARM64 if !ARM64_BOOT_AARCH32
479	select ARM_SMCCC
480	select GICV3 if !ARM64_BOOT_AARCH32 && !SUPPORT_USBPLUG
481	select SUPPORT_TPL if !ARM64_BOOT_AARCH32
482	select SUPPORT_SPL if !ARM64_BOOT_AARCH32
483	select TPL_TINY_FRAMEWORK if TPL
484	select DEBUG_UART_BOARD_INIT
485	imply TPL if !ARM64_BOOT_AARCH32
486	imply SPL if !ARM64_BOOT_AARCH32
487	imply TPL_SERIAL_SUPPORT
488	help
489	  The Rockchip RK3568 is a ARM-based SoC with a quad-core Cortex-A55.
490
491if ROCKCHIP_RK3568
492
493config TPL_LDSCRIPT
494	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
495
496config TPL_TEXT_BASE
497	default 0xfdcc1000
498
499config TPL_MAX_SIZE
500	default 61440
501
502endif
503
504config ROCKCHIP_RK3576
505	bool "Support Rockchip RK3576"
506	select ARM64
507	select GICV2
508	select ARM_SMCCC
509	select DEBUG_UART_BOARD_INIT
510	select ROCKCHIP_BROM_HELPER
511	select SUPPORT_SPL
512	select SUPPORT_TPL
513	select TPL_TINY_FRAMEWORK if TPL
514	imply TPL
515	imply SPL
516	imply TPL_SERIAL_SUPPORT
517
518	help
519	  The Rockchip RK3576 is a ARM-based SoC with a quad-core Cortex-A53
520	  and a quad-core Cortex-A72.
521
522if ROCKCHIP_RK3576
523
524config TPL_LDSCRIPT
525	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
526
527config TPL_TEXT_BASE
528	default 0x3ff81000
529
530config TPL_MAX_SIZE
531	default 61440
532
533endif
534
535config ROCKCHIP_RK3588
536	bool "Support Rockchip RK3588"
537	select ARM64 if !ARM64_BOOT_AARCH32
538	select ARM_SMCCC
539	select DEBUG_UART_BOARD_INIT
540	select GICV3 if !ARM64_BOOT_AARCH32 && !SUPPORT_USBPLUG
541	select ROCKCHIP_BROM_HELPER
542	select SUPPORT_SPL if !ARM64_BOOT_AARCH32
543	select SUPPORT_TPL if !ARM64_BOOT_AARCH32
544	select TPL_TINY_FRAMEWORK if TPL
545	imply TPL if !ARM64_BOOT_AARCH32
546	imply SPL if !ARM64_BOOT_AARCH32
547	imply TPL_SERIAL_SUPPORT
548	select DEBUG_UART_BOARD_INIT
549	help
550	  The Rockchip RK3588 is a ARM-based SoC with a quad-core Cortex-A55.
551
552if ROCKCHIP_RK3588
553
554config TPL_LDSCRIPT
555	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
556
557config TPL_TEXT_BASE
558	default 0xff001000
559
560config TPL_MAX_SIZE
561	default 61440
562endif
563
564config ROCKCHIP_RK1808
565	bool "Support Rockchip RK1808"
566	select ARM64
567	select ARM_SMCCC
568	select GICV3 if !COPROCESSOR_RK1808
569	select SUPPORT_SPL if !COPROCESSOR_RK1808
570	select SUPPORT_TPL if !COPROCESSOR_RK1808
571	help
572	  The Rockchip RK1808 is a ARM-based Soc which embedded with dual
573	  Cortex-A35.
574
575if ROCKCHIP_RK1808
576
577config ROCKCHIP_RK1806
578	bool "Support Rockchip RK1806"
579	help
580	  The Rockchip RK1806 is a ARM-based Soc which embedded with dual
581	  Cortex-A35.
582
583config COPROCESSOR_RK1808
584	bool "RK1808 coprocessor"
585	help
586	  This indicates the RK1808 is working as a coprocessor for another
587	  more powerful SoC.
588
589endif
590
591config ROCKCHIP_RV1103B
592	bool "Support Rockchip RV1103B"
593	select CPU_V7
594	select ARM_ZERO_CNTVOFF
595	select ROCKCHIP_BROM_HELPER
596	select DEBUG_UART_BOARD_INIT
597	select ARM_ERRATA_814220
598	imply SUPPORT_SPL
599	imply SUPPORT_TPL
600	imply SPL
601	imply TPL
602	imply TPL_SERIAL_SUPPORT
603	imply TPL_TINY_FRAMEWORK if TPL
604	imply BOARD_LATE_INIT
605	imply ROCKCHIP_GPIO_V2
606
607	help
608	  The Rockchip RV1103B is a ARM-based SoC with a Cortex-A7 and
609	  other modules.
610
611if ROCKCHIP_RV1103B
612
613config TPL_LDSCRIPT
614	default "arch/arm/mach-rockchip/u-boot-tpl.lds"
615
616config TPL_TEXT_BASE
617	default 0x210f7000
618
619config TPL_MAX_SIZE
620	default 32768
621endif
622
623config ROCKCHIP_RV1106
624	bool "Support Rockchip RV1106"
625	select CPU_V7
626	select DEBUG_UART_BOARD_INIT
627	select ARM_ERRATA_814220
628	imply SUPPORT_SPL
629	imply SUPPORT_TPL
630	imply SPL
631	imply TPL
632	imply TPL_SERIAL_SUPPORT
633	imply TPL_TINY_FRAMEWORK if TPL
634	imply BOARD_LATE_INIT
635	imply ROCKCHIP_GPIO_V2
636	help
637	  The Rockchip RV1106 is a ARM-based SoC with a Cortex-A7 and
638	  other modules.
639
640if ROCKCHIP_RV1106
641
642config TPL_LDSCRIPT
643	default "arch/arm/mach-rockchip/u-boot-tpl.lds"
644
645config TPL_TEXT_BASE
646	default 0xff701000
647
648config TPL_MAX_SIZE
649	default 32768
650endif
651
652config ROCKCHIP_RV1108
653	bool "Support Rockchip RV1108"
654	select CPU_V7
655	select SUPPORT_SPL
656	select SUPPORT_TPL
657	select SPL
658	select TPL
659	select BOARD_LATE_INIT
660	select ARM_ERRATA_814220
661	help
662	  The Rockchip RV1108 is a ARM-based SoC with a single-core Cortex-A7
663	  and a DSP.
664
665if ROCKCHIP_RV1108
666
667config TPL_LDSCRIPT
668        default "arch/arm/mach-rockchip/u-boot-tpl.lds"
669
670config TPL_TEXT_BASE
671        default 0x10080800
672
673config TPL_MAX_SIZE
674        default 6144
675
676config TPL_STACK
677        default 0x10082000
678
679endif
680
681config ROCKCHIP_RV1126
682	bool "Support Rockchip RV1126"
683	select CPU_V7
684	imply SUPPORT_TPL
685	imply SUPPORT_SPL
686	imply TPL_TINY_FRAMEWORK if TPL
687	select DEBUG_UART_BOARD_INIT
688	select ARM_ERRATA_814220
689	imply TPL
690	imply SPL
691	imply GICV2
692	imply ARM_SMCCC
693	imply BOARD_LATE_INIT
694	imply ROCKCHIP_GPIO_V2
695	imply TPL_SERIAL_SUPPORT
696	help
697	  The Rockchip RV1126 is a ARM-based SoC with a quad-core Cortex-A7
698	  and a risc-v core.
699
700if ROCKCHIP_RV1126
701
702config TPL_LDSCRIPT
703	default "arch/arm/mach-rockchip/u-boot-tpl.lds"
704
705config TPL_TEXT_BASE
706	default 0xff701000
707
708config TPL_MAX_SIZE
709	default 32768
710endif
711
712config SPL_ROCKCHIP_BACK_TO_BROM
713	bool "SPL returns to bootrom"
714	default y if ROCKCHIP_RK3036
715	select ROCKCHIP_BROM_HELPER
716	depends on SPL
717	help
718	  Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled,
719          SPL will return to the boot rom, which will then load the U-Boot
720          binary to keep going on.
721
722config TPL_ROCKCHIP_BACK_TO_BROM
723	bool "TPL returns to bootrom"
724	default y
725	select ROCKCHIP_BROM_HELPER
726	depends on TPL
727	help
728	  Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled,
729          SPL will return to the boot rom, which will then load the U-Boot
730          binary to keep going on.
731
732config ARM64_BOOT_AARCH32
733	bool "Support Boot an ARM64 on AArch32 execution state, ie. U-Boot is in AArch32"
734	select CPU_V7
735	default n
736	help
737	  If you want to boot an ARM64 processor on 32-bit mode, say y here.
738
739config ARM64_SWITCH_TO_AARCH32
740	bool "Support AArch64 U-Boot boot AArch32 kernel"
741	default n
742	help
743	  If you want AArch64 U-Boot to boot AArch32 kernel, say y here.
744	  This feature needs ATF to help switch the PE state.
745
746config ROCKCHIP_BOOT_MODE_REG
747	hex "Rockchip boot mode flag register address"
748	default 0xff010200 if ROCKCHIP_PX30
749	default 0x200081c8 if ROCKCHIP_RK3036
750	default 0x100a0038 if ROCKCHIP_RK3128
751	default 0x20004040 if ROCKCHIP_RK3188
752	default 0x110005c8 if ROCKCHIP_RK322X
753	default 0xff730094 if ROCKCHIP_RK3288
754	default 0xff000500 if ROCKCHIP_RK3308
755	default 0xff1005c8 if ROCKCHIP_RK3328
756	default 0xff738200 if ROCKCHIP_RK3368
757	default 0xff320300 if ROCKCHIP_RK3399
758	default 0xff910200 if ROCKCHIP_RK3506
759	default 0xff370200 if ROCKCHIP_RK3528
760	default 0xff010220 if ROCKCHIP_RK3562
761	default 0xfdc20200 if ROCKCHIP_RK3568
762	default 0x26024040 if ROCKCHIP_RK3576
763	default 0xfd588080 if ROCKCHIP_RK3588
764	default 0xfe020200 if ROCKCHIP_RK1808
765	default 0x20160200 if ROCKCHIP_RV1103B
766	default 0xff020200 if ROCKCHIP_RV1106
767	default 0x10300580 if ROCKCHIP_RV1108
768	default 0xfe020200 if ROCKCHIP_RV1126
769	default 0
770	help
771	  The Soc will enter to different boot mode(defined in asm/arch/boot_mode.h)
772	  according to the value from this register.
773
774config ROCKCHIP_STIMER_BASE
775	hex "Rockchip Secure timer base address"
776	default 0xff220020 if ROCKCHIP_PX30
777	default 0x200440a0 if ROCKCHIP_RK3036
778	default 0x2000e000 if ROCKCHIP_RK3066
779	default 0x20018020 if ROCKCHIP_RK3126
780	default 0x200440a0 if ROCKCHIP_RK3128
781	default 0x2000e000 if ROCKCHIP_RK3188
782	default 0x110d0020 if ROCKCHIP_RK322X
783	default 0xff810020 if ROCKCHIP_RK3288
784	default 0xff1b00a0 if ROCKCHIP_RK3308
785	default 0xff1d0020 if ROCKCHIP_RK3328
786	default 0xff830020 if ROCKCHIP_RK3368
787	default 0xff8680a0 if ROCKCHIP_RK3399
788	default 0xff980000 if ROCKCHIP_RK3506
789	default 0xff620000 if ROCKCHIP_RK3528
790	default 0xffa90020 if ROCKCHIP_RK3562
791	default 0xfdd1c020 if ROCKCHIP_RK3568
792	default 0x27400000 if ROCKCHIP_RK3576
793	default 0xfd8c8000 if ROCKCHIP_RK3588
794	default 0x20500000 if ROCKCHIP_RV1103B
795	default 0xff590020 if ROCKCHIP_RV1106
796	default 0x10350020 if ROCKCHIP_RV1108
797	default 0xff670020 if ROCKCHIP_RV1126
798	default 0
799	help
800	  The secure timer inited in SPL/TPL in secure word, ARM generic timer
801	  works after this timer work.
802
803config ROCKCHIP_IRAM_START_ADDR
804	hex "Rockchip Secure timer base address"
805	default 0xff0e0000 if ROCKCHIP_PX30
806	default 0x10080000 if ROCKCHIP_RK3036
807	default 0x10080000 if ROCKCHIP_RK3128
808	default 0x10080000 if ROCKCHIP_RK3188
809	default 0x10080000 if ROCKCHIP_RK322X
810	default 0xff700000 if ROCKCHIP_RK3288
811	default 0xfff80000 if ROCKCHIP_RK3308
812	default 0xff091000 if ROCKCHIP_RK3328
813	default 0xff8c0000 if ROCKCHIP_RK3368
814	default 0xff8c0000 if ROCKCHIP_RK3399
815	default 0xfff80000 if ROCKCHIP_RK3506
816	default 0xfe480000 if ROCKCHIP_RK3528
817	default 0xfe480000 if ROCKCHIP_RK3562
818	default 0xfdcc0000 if ROCKCHIP_RK3568
819	default 0x3ff80000 if ROCKCHIP_RK3576
820	default 0xff000000 if ROCKCHIP_RK3588
821	default 0x210f6000 if ROCKCHIP_RV1103B
822	default 0xff6c0000 if ROCKCHIP_RV1106
823	default 0x10080000 if ROCKCHIP_RV1108
824	default 0xff700000 if ROCKCHIP_RV1126
825	default 0
826	help
827	  The IRAM start addr is to locate variant of the boot device from
828	  bootrom.
829
830config ROCKCHIP_SPL_RESERVE_IRAM
831	hex "Size of IRAM reserved in SPL"
832	default 0
833	help
834	  SPL may need reserve memory for firmware loaded by SPL, whose load
835	  address is in IRAM and may overlay with SPL text area if not
836	  reserved.
837
838config ROCKCHIP_BROM_HELPER
839	bool
840
841config SPL_ROCKCHIP_EARLYRETURN_TO_BROM
842        bool "SPL requires early-return (for RK3188-style BROM) to BROM"
843	depends on SPL && ENABLE_ARM_SOC_BOOT0_HOOK
844	help
845	  Some Rockchip BROM variants (e.g. on the RK3188) load the
846	  first stage in segments and enter multiple times. E.g. on
847	  the RK3188, the first 1KB of the first stage are loaded
848	  first and entered; after returning to the BROM, the
849	  remainder of the first stage is loaded, but the BROM
850	  re-enters at the same address/to the same code as previously.
851
852	  This enables support code in the BOOT0 hook for the SPL stage
853	  to allow multiple entries.
854
855config TPL_ROCKCHIP_EARLYRETURN_TO_BROM
856        bool "TPL requires early-return (for RK3188-style BROM) to BROM"
857	depends on TPL && ENABLE_ARM_SOC_BOOT0_HOOK
858	help
859	  Some Rockchip BROM variants (e.g. on the RK3188) load the
860	  first stage in segments and enter multiple times. E.g. on
861	  the RK3188, the first 1KB of the first stage are loaded
862	  first and entered; after returning to the BROM, the
863	  remainder of the first stage is loaded, but the BROM
864	  re-enters at the same address/to the same code as previously.
865
866	  This enables support code in the BOOT0 hook for the TPL stage
867	  to allow multiple entries.
868
869config SPL_MMC_SUPPORT
870	default y if !SPL_ROCKCHIP_BACK_TO_BROM && MMC
871
872config RKIMG_BOOTLOADER
873	bool "Support for Rockchip platform features"
874	default y
875	help
876	  Actually this is a compatible configure for code compilation.
877
878config RKIMG_ANDROID_BOOTMODE_LEGACY
879	bool "Support set androidboot.mode with legacy rule"
880	depends on RKIMG_BOOTLOADER
881	default n
882	help
883	  Rockchip set "androidboot.mode=" as "charger" or boot media for android,
884	  which is a rockchip private solution(SDK < 8.1) and deprecated.
885
886config ROCKCHIP_BOOTDEV
887	string "Set the boot device for multiple storage board"
888	default ""
889	help
890	  On the multiple storage on board, set this to determine what we really
891	  want to be the boot device, which contains kernel, rootfs and etc.
892	  Fall through to get from preloader or scan list when it's NULL.
893
894config ROCKCHIP_RESOURCE_IMAGE
895	bool "Enable support for rockchip resource image"
896	depends on RKIMG_BOOTLOADER
897	default y
898	help
899	  This enables support to get dtb or logo files from
900	  rockchip resource image format partition.
901
902config ROCKCHIP_DTB_VERIFY
903	bool "Enable hash verify for DTB in the resource file"
904	depends on ROCKCHIP_RESOURCE_IMAGE
905	select SHA1 if !DM_CRYPTO
906	select SHA256 if !DM_CRYPTO
907	default y
908	help
909	  This enables the hash verify for DTB in the resource file, it means we
910	  always read DTB from second position even the DTB position is present.
911
912config ROCKCHIP_USB_BOOT
913	bool "Enable support for rockchip U-disk boot"
914	depends on USB
915	default n
916	help
917	  This enables support for rockchip U-disk boot.
918
919config ROCKCHIP_FIT_IMAGE
920	bool "Enable support for FIT image"
921	depends on FIT
922	select CMD_BOOT_FIT
923	default n
924	help
925	  This enables loading dtb from fit image.
926
927config ROCKCHIP_UIMAGE
928	bool "Enable support for legacy uImage"
929	depends on !FIT_SIGNATURE && USING_KERNEL_DTB
930	select CMD_BOOT_UIMAGE
931	default n
932	help
933	  This enables loading dtb from uImage image.
934
935config ROCKCHIP_EARLY_DISTRO_DTB
936	bool "Enable support for distro dtb early"
937	depends on DISTRO_DEFAULTS && USING_KERNEL_DTB && CMD_FS_GENERIC
938	default n
939	help
940	  This enables loading dtb from distro bootable partition when there
941	  is no valid dtb in android boot.img and rockchip resource.img.
942
943if ROCKCHIP_EARLY_DISTRO_DTB
944
945config ROCKCHIP_EARLY_DISTRO_DTB_PATH
946	string "/rk-kernel.dtb"
947	help
948	  "DTB file path in the bootable partition image"
949endif
950
951config ROCKCHIP_HWID_DTB
952	bool "Enable support for selecting DTB by hardware id"
953	depends on ROCKCHIP_RESOURCE_IMAGE
954	default n
955	help
956	  This enables select the expected DTB from sets by hardware id,
957	  i.e. GPIO or ADC value.
958
959config SPL_ROCKCHIP_HWID_DTB
960	bool "Enable support for selecting DTB by hardware id in SPL"
961	depends on SPL_KERNEL_BOOT
962	default n
963	help
964	  This enables select the expected kernel DTB from sets by hardware id in SPL,
965	  i.e. GPIO or ADC value.
966
967config ROCKCHIP_VENDOR_PARTITION
968	bool "Rockchip vendor storage partition support"
969	depends on (RKIMG_BOOTLOADER || SUPPORT_USBPLUG)
970	help
971	  This enable support to read/write vendor configuration data from/to
972	  this partition.
973
974config USING_KERNEL_DTB
975	bool "Using dtb from Kernel/resource for U-Boot"
976	depends on RKIMG_BOOTLOADER && OF_LIVE
977	default y
978	help
979	  This enable support to read dtb from resource and use it for U-Boot,
980	  the uart and emmc will still using U-Boot dtb, but other devices like
981	  regulator/pmic, display, usb will use dts node from kernel.
982
983config USING_KERNEL_DTB_V2
984	bool "Version 2 of kernel dtb mechanism"
985	depends on USING_KERNEL_DTB
986	default n
987	help
988	  The V2 mechanism:
989	    - both of U-Boot and kernel's *ALL* devices are exist in dm tree.
990	    - put the necessary U-Boot devices in the head of device uclass list.
991	    - the both existence policy don't require phandle fixup any more.
992	    - it is for the next generation(rk3588 ...) or necessary platforms.
993	  The V1 mechanism(legacy):
994	    - U-Boot: only some necessary U-Boot devices(storage, crypto...) in dm tree.
995	    - kernel: all the devices(except the U-Boot only) in dm tree.
996
997config EMBED_KERNEL_DTB
998	bool "Enable embedded dtb support"
999	default n
1000	help
1001	  Enable embedded dtb support.
1002
1003config EMBED_KERNEL_DTB_PATH
1004	string "Embedded kernel dtb file path"
1005	depends on EMBED_KERNEL_DTB && USING_KERNEL_DTB
1006	default "dts/kern.dtb"
1007	help
1008	  This file will auto be appended to the u-boot.bin.
1009
1010config EMBED_KERNEL_DTB_ALWAYS
1011	bool "Always using embedded kernel dtb"
1012	depends on EMBED_KERNEL_DTB && USING_KERNEL_DTB
1013	default n
1014	help
1015	  Allow fallback to always use a prepared kernel dtb even USING_KERNEL_DTB
1016	  is set. This makes U-Boot stage more stable but not flexible any more to
1017	  compatible different boards.
1018
1019config ROCKCHIP_CRC
1020	bool "Rockchip CRC verify images"
1021	help
1022	  This enable support Rockchip CRC verify images. It takes a lot of time,
1023	  so it is better only used for debug.
1024
1025config ROCKCHIP_SMCCC
1026	bool "Rockchip SMCCC"
1027	default y if ARM_SMCCC
1028	help
1029	  This enable support for Rockchip SMC calls
1030
1031config ROCKCHIP_DEBUGGER
1032	bool "Rockchip debugger"
1033	depends on IRQ
1034	help
1035	  This enable support for Rockchip debugger. Now we install a timer interrupt
1036	  and dump pt_regs when the timeout event trigger. This helps us to know cpu
1037	  state when system hang.
1038
1039config ROCKCHIP_CRASH_DUMP
1040	bool "Rockchip crash dump registers"
1041	help
1042	  This enable dump registers when system crash, the registers you would like
1043	  to dump can be added in show_regs().
1044
1045config ROCKCHIP_PRELOADER_ATAGS
1046	bool "Rockchip pre-loader atags"
1047	default y if ARCH_ROCKCHIP
1048	help
1049	  This enable support Rockchip atags among pre-loaders, i.e. ddr, miniloader, ATF,
1050	  tos, U-Boot, etc. It delivers boot and configure information, shared with pre-loaders
1051	  and finally ends with U-Boot.
1052
1053config ROCKCHIP_META
1054	bool "Rockchip Meta"
1055	depends on SPL_KERNEL_BOOT && SPL_LIBDISK_SUPPORT
1056	help
1057	  This support to load Rockchip meta data which like isp parameter, peripheral
1058	  parameters, etc.
1059
1060config ROCKCHIP_PRELOADER_SERIAL
1061	bool "Rockchip pre-loader serial"
1062	default y if ROCKCHIP_PRELOADER_ATAGS
1063	help
1064	  This enable U-Boot using pre-loader atags serial configure to initialize console.
1065	  It denpends on serial aliases to find pre-loader serial number.
1066
1067config ROCKCHIP_IMAGE_TINY
1068	bool "Rockchip tiny Image generation"
1069	default n
1070	help
1071	  This enable tiny image generation
1072
1073config ROCKCHIP_FIT_IMAGE_PACK
1074	bool "Rockchip fit image pack of U-Boot and TEE"
1075	depends on ROCKCHIP_FIT_IMAGE
1076	default n
1077	help
1078	  This enable fit image pack of U-Boot and TEE, it's used for make.sh script.
1079
1080config ROCKCHIP_UART_MUX_SEL_M
1081	int "UART mux select"
1082	default 0
1083	depends on TPL
1084	help
1085	  This select uart multiplexer for debug uart iomux in board_debug_uart_init.
1086
1087config ROCKCHIP_REBOOT_TEST
1088	bool "Rockchip reboot stress test before kernel"
1089	default n
1090	help
1091	  It's a reboot stress test before kernel stages.
1092
1093config ROCKCHIP_NEW_IDB
1094	bool "Rockchip new IDB header"
1095	default n
1096	help
1097	  The new IDB header was introduced from RK356X.
1098
1099config ROCKCHIP_HOTKEY
1100	bool "Rockchip hotkey"
1101	default y
1102	help
1103	  Define a lot of hotkeys for debug.
1104
1105config ROCKCHIP_CMD
1106	string "Rockchip specific command"
1107	default ""
1108	help
1109	  It defines a command to be run when the key is pressed if assigned.
1110	  String format: "cmd key".
1111	  @cmd: any U-Boot cmd.
1112	  @key: any key map id, '-' standard for ignore.
1113	  e.g. "sd_update 115", 115 is KEY_VOLUMEUP.
1114
1115config GICV2
1116	bool "ARM GICv2"
1117
1118config GICV3
1119	bool "ARM GICv3"
1120
1121config ROCKCHIP_EMMC_IOMUX
1122	bool "ROCKCHIP EMMC IOMUX"
1123	default n
1124	help
1125	  This enable U-Boot to config EMMC iomux.
1126
1127config ROCKCHIP_NAND_IOMUX
1128	bool "ROCKCHIP NAND IOMUX"
1129	default n
1130	help
1131	  This enable U-Boot to config NAND iomux.
1132
1133config ROCKCHIP_SFC_IOMUX
1134	bool "ROCKCHIP SFC IOMUX"
1135	default n
1136	help
1137	  This enable U-Boot to config SFC iomux.
1138
1139config ROCKCHIP_SET_SN
1140	bool "Rockchip set serial number"
1141	default y
1142
1143config ROCKCHIP_SET_ETHADDR
1144	bool "Rockchip set eth address"
1145	default y
1146
1147config BASE_DEFCONFIG
1148	string "Base defconfig of config fragment"
1149	default ""
1150	help
1151	  Indicate the base defconfig of config fragment.
1152
1153config CHIP_NAME
1154	string "Chip label name"
1155	default ""
1156
1157config LOADER_INI
1158	string "Name of Loader ini file in rkbin repository"
1159	default ""
1160	help
1161	  The ini file is used to pack loader image.
1162
1163config TRUST_INI
1164	string "Name of Trust ini file in rkbin repository"
1165	default ""
1166	help
1167	  The ini file is used to pack trust image.
1168
1169if !ROCKCHIP_FIT_IMAGE_PACK
1170config UBOOT_SIZE_KB
1171	int "Per u-boot.bin Image size, unit: KB"
1172	default 1024
1173
1174config UBOOT_NUM
1175	int "Number of u-boot.bin image being packed into trust.img"
1176	default 4
1177
1178config TRUST_SIZE_KB
1179	int "Per trust Image size, unit: KB"
1180	default 2048
1181
1182config TRUST_NUM
1183	int "Number of trust image being packed into trust.img"
1184	default 2
1185
1186config TRUST_RSA_MODE
1187	int "RSA mode of trust.img on ARM64"
1188	default 2
1189	help
1190	  The RSA mode for tools to pack, the mode id can be:
1191	  0: none; 1: RSA-1024; 2: RSA-2048; 3: RSA-2048-pss.
1192
1193config TRUST_SHA_MODE
1194	int "SHA mode of trust.img on ARM64"
1195	default 3
1196	help
1197	  The SHA mode for tools to pack, the mode id can be:
1198	  0: none; 1: sha1; 2: sha256 RK big endian; 3: sha256 little endian.
1199endif
1200
1201config PSTORE
1202	bool "Print log to linux pstore buffer"
1203	default n
1204	help
1205	  This enable Print uboot log to linux pstore buffer which address
1206	  is default 0x110000 for most soc.
1207
1208config PERSISTENT_RAM_ADDR
1209	hex "Linux pstore buffer address"
1210	default 0x0
1211	depends on PSTORE
1212	help
1213	  This select linux pstore buffer address for U-Boot. When value is
1214	  0, U-Boot auto gets this address from preloader atags.
1215
1216config PERSISTENT_RAM_SIZE
1217	hex "Linux pstore buffer size"
1218	default 0x0
1219	depends on (PERSISTENT_RAM_ADDR != 0)
1220	help
1221	  This select linux pstore buffer size for U-Boot, the value must be
1222	  set if PERSISTENT_RAM_ADDR != 0.
1223
1224config ROCKCHIP_MINIDUMP
1225	bool "Minidump Save Linux Debug Data To Ram Elf"
1226	default n
1227	help
1228	  This enable saving linux debug data to a reserved memory as a elf file.
1229
1230config ROCKCHIP_MINIDUMP_SMEM_BASE
1231	hex "The base of share memory between Uboot and Linux"
1232	default 0x1f0000
1233	depends on ROCKCHIP_MINIDUMP
1234	help
1235	  This select the base address of share memory, which is behind PSTORE.
1236
1237config ROCKCHIP_MINIDUMP_MAX_ELF_SIZE
1238	hex "The max size of minidump elf"
1239	default 0x2000000
1240	depends on ROCKCHIP_MINIDUMP
1241	help
1242	  This is used to judge the elf program size and section size.
1243
1244config ROCKCHIP_MINIDUMP_MAX_ENTRIES
1245	hex "The max entries of minidump region"
1246	default 0x200
1247	depends on ROCKCHIP_MINIDUMP
1248	help
1249	  This sets the max entries of minidump region.
1250
1251config SANITY_CPU_SWAP
1252	bool "Sanity cpu swap"
1253	help
1254	  This enale checking current cpu mpidr and kernel
1255	  dts cpu0 mpidr.
1256
1257source "arch/arm/mach-rockchip/px30/Kconfig"
1258source "arch/arm/mach-rockchip/rk3036/Kconfig"
1259source "arch/arm/mach-rockchip/rk3066/Kconfig"
1260source "arch/arm/mach-rockchip/rk3128/Kconfig"
1261source "arch/arm/mach-rockchip/rk3188/Kconfig"
1262source "arch/arm/mach-rockchip/rk322x/Kconfig"
1263source "arch/arm/mach-rockchip/rk3288/Kconfig"
1264source "arch/arm/mach-rockchip/rk3308/Kconfig"
1265source "arch/arm/mach-rockchip/rk3328/Kconfig"
1266source "arch/arm/mach-rockchip/rk3368/Kconfig"
1267source "arch/arm/mach-rockchip/rk3399/Kconfig"
1268source "arch/arm/mach-rockchip/rk3506/Kconfig"
1269source "arch/arm/mach-rockchip/rk3528/Kconfig"
1270source "arch/arm/mach-rockchip/rk3562/Kconfig"
1271source "arch/arm/mach-rockchip/rk3568/Kconfig"
1272source "arch/arm/mach-rockchip/rk3576/Kconfig"
1273source "arch/arm/mach-rockchip/rk3588/Kconfig"
1274source "arch/arm/mach-rockchip/rk1808/Kconfig"
1275source "arch/arm/mach-rockchip/rv1103b/Kconfig"
1276source "arch/arm/mach-rockchip/rv1106/Kconfig"
1277source "arch/arm/mach-rockchip/rv1108/Kconfig"
1278source "arch/arm/mach-rockchip/rv1126/Kconfig"
1279
1280endif
1281