Merge tag 'v3.14.26' into backport/v3.14.24-ltsi-rc1+v3.14.26/snapshot-merge.wip
[platform/adaptation/renesas_rcar/renesas_kernel.git] / arch / arm / Kconfig.debug
1 menu "Kernel hacking"
2
3 source "lib/Kconfig.debug"
4
5 config ARM_PTDUMP
6         bool "Export kernel pagetable layout to userspace via debugfs"
7         depends on DEBUG_KERNEL
8         select DEBUG_FS
9         ---help---
10           Say Y here if you want to show the kernel pagetable layout in a
11           debugfs file. This information is only useful for kernel developers
12           who are working in architecture specific areas of the kernel.
13           It is probably not a good idea to enable this feature in a production
14           kernel.
15           If in doubt, say "N"
16
17 config STRICT_DEVMEM
18         bool "Filter access to /dev/mem"
19         depends on MMU
20         ---help---
21           If this option is disabled, you allow userspace (root) access to all
22           of memory, including kernel and userspace memory. Accidental
23           access to this is obviously disastrous, but specific access can
24           be used by people debugging the kernel.
25
26           If this option is switched on, the /dev/mem file only allows
27           userspace access to memory mapped peripherals.
28
29           If in doubt, say Y.
30
31 # RMK wants arm kernels compiled with frame pointers or stack unwinding.
32 # If you know what you are doing and are willing to live without stack
33 # traces, you can get a slightly smaller kernel by setting this option to
34 # n, but then RMK will have to kill you ;).
35 config FRAME_POINTER
36         bool
37         depends on !THUMB2_KERNEL
38         default y if !ARM_UNWIND || FUNCTION_GRAPH_TRACER
39         help
40           If you say N here, the resulting kernel will be slightly smaller and
41           faster. However, if neither FRAME_POINTER nor ARM_UNWIND are enabled,
42           when a problem occurs with the kernel, the information that is
43           reported is severely limited.
44
45 config ARM_UNWIND
46         bool "Enable stack unwinding support (EXPERIMENTAL)"
47         depends on AEABI
48         default y
49         help
50           This option enables stack unwinding support in the kernel
51           using the information automatically generated by the
52           compiler. The resulting kernel image is slightly bigger but
53           the performance is not affected. Currently, this feature
54           only works with EABI compilers. If unsure say Y.
55
56 config OLD_MCOUNT
57         bool
58         depends on FUNCTION_TRACER && FRAME_POINTER
59         default y
60
61 config DEBUG_USER
62         bool "Verbose user fault messages"
63         help
64           When a user program crashes due to an exception, the kernel can
65           print a brief message explaining what the problem was. This is
66           sometimes helpful for debugging but serves no purpose on a
67           production system. Most people should say N here.
68
69           In addition, you need to pass user_debug=N on the kernel command
70           line to enable this feature.  N consists of the sum of:
71
72               1 - undefined instruction events
73               2 - system calls
74               4 - invalid data aborts
75               8 - SIGSEGV faults
76              16 - SIGBUS faults
77
78 # These options are only for real kernel hackers who want to get their hands dirty.
79 config DEBUG_LL
80         bool "Kernel low-level debugging functions (read help!)"
81         depends on DEBUG_KERNEL
82         help
83           Say Y here to include definitions of printascii, printch, printhex
84           in the kernel.  This is helpful if you are debugging code that
85           executes before the console is initialized.
86
87           Note that selecting this option will limit the kernel to a single
88           UART definition, as specified below. Attempting to boot the kernel
89           image on a different platform *will not work*, so this option should
90           not be enabled for kernels that are intended to be portable.
91
92 choice
93         prompt "Kernel low-level debugging port"
94         depends on DEBUG_LL
95
96         config AT91_DEBUG_LL_DBGU0
97                 bool "Kernel low-level debugging on rm9200, 9260/9g20, 9261/9g10 and 9rl"
98                 depends on HAVE_AT91_DBGU0
99
100         config AT91_DEBUG_LL_DBGU1
101                 bool "Kernel low-level debugging on 9263 and 9g45"
102                 depends on HAVE_AT91_DBGU1
103
104         config DEBUG_BCM2835
105                 bool "Kernel low-level debugging on BCM2835 PL011 UART"
106                 depends on ARCH_BCM2835
107                 select DEBUG_UART_PL01X
108
109         config DEBUG_BCM_KONA_UART
110                 bool "Kernel low-level debugging messages via BCM KONA UART"
111                 depends on ARCH_BCM
112                 select DEBUG_UART_8250
113                 help
114                   Say Y here if you want kernel low-level debugging support
115                   on Broadcom SoC platforms.
116                   This low level debug works for Broadcom
117                   mobile SoCs in the Kona family of chips (e.g. bcm28155,
118                   bcm11351, etc...)
119
120         config DEBUG_BERLIN_UART
121                 bool "Marvell Berlin SoC Debug UART"
122                 depends on ARCH_BERLIN
123                 select DEBUG_UART_8250
124                 help
125                   Say Y here if you want kernel low-level debugging support
126                   on Marvell Berlin SoC based platforms.
127
128         config DEBUG_CLPS711X_UART1
129                 bool "Kernel low-level debugging messages via UART1"
130                 depends on ARCH_CLPS711X
131                 help
132                   Say Y here if you want the debug print routines to direct
133                   their output to the first serial port on these devices.
134
135         config DEBUG_CLPS711X_UART2
136                 bool "Kernel low-level debugging messages via UART2"
137                 depends on ARCH_CLPS711X
138                 help
139                   Say Y here if you want the debug print routines to direct
140                   their output to the second serial port on these devices.
141
142         config DEBUG_CNS3XXX
143                 bool "Kernel Kernel low-level debugging on Cavium Networks CNS3xxx"
144                 depends on ARCH_CNS3XXX
145                 select DEBUG_UART_PL01X
146                 help
147                   Say Y here if you want the debug print routines to direct
148                   their output to the CNS3xxx UART0.
149
150         config DEBUG_DAVINCI_DA8XX_UART1
151                 bool "Kernel low-level debugging on DaVinci DA8XX using UART1"
152                 depends on ARCH_DAVINCI_DA8XX
153                 select DEBUG_UART_8250
154                 help
155                   Say Y here if you want the debug print routines to direct
156                   their output to UART1 serial port on DaVinci DA8XX devices.
157
158         config DEBUG_DAVINCI_DA8XX_UART2
159                 bool "Kernel low-level debugging on DaVinci DA8XX using UART2"
160                 depends on ARCH_DAVINCI_DA8XX
161                 select DEBUG_UART_8250
162                 help
163                   Say Y here if you want the debug print routines to direct
164                   their output to UART2 serial port on DaVinci DA8XX devices.
165
166         config DEBUG_DAVINCI_DMx_UART0
167                 bool "Kernel low-level debugging on DaVinci DMx using UART0"
168                 depends on ARCH_DAVINCI_DMx
169                 select DEBUG_UART_8250
170                 help
171                   Say Y here if you want the debug print routines to direct
172                   their output to UART0 serial port on DaVinci DMx devices.
173
174         config DEBUG_DAVINCI_TNETV107X_UART1
175                 bool "Kernel low-level debugging on DaVinci TNETV107x using UART1"
176                 depends on ARCH_DAVINCI_TNETV107X
177                 select DEBUG_UART_8250
178                 help
179                   Say Y here if you want the debug print routines to direct
180                   their output to UART1 serial port on DaVinci TNETV107X
181                   devices.
182
183         config DEBUG_ZYNQ_UART0
184                 bool "Kernel low-level debugging on Xilinx Zynq using UART0"
185                 depends on ARCH_ZYNQ
186                 help
187                   Say Y here if you want the debug print routines to direct
188                   their output to UART0 on the Zynq platform.
189
190         config DEBUG_ZYNQ_UART1
191                 bool "Kernel low-level debugging on Xilinx Zynq using UART1"
192                 depends on ARCH_ZYNQ
193                 help
194                   Say Y here if you want the debug print routines to direct
195                   their output to UART1 on the Zynq platform.
196
197                   If you have a ZC702 board and want early boot messages to
198                   appear on the USB serial adaptor, select this option.
199
200         config DEBUG_DC21285_PORT
201                 bool "Kernel low-level debugging messages via footbridge serial port"
202                 depends on FOOTBRIDGE
203                 help
204                   Say Y here if you want the debug print routines to direct
205                   their output to the serial port in the DC21285 (Footbridge).
206
207         config DEBUG_FOOTBRIDGE_COM1
208                 bool "Kernel low-level debugging messages via footbridge 8250 at PCI COM1"
209                 depends on FOOTBRIDGE
210                 help
211                   Say Y here if you want the debug print routines to direct
212                   their output to the 8250 at PCI COM1.
213
214         config DEBUG_HI3620_UART
215                 bool "Hisilicon HI3620 Debug UART"
216                 depends on ARCH_HI3xxx
217                 select DEBUG_UART_PL01X
218                 help
219                   Say Y here if you want kernel low-level debugging support
220                   on HI3620 UART.
221
222         config DEBUG_HI3716_UART
223                 bool "Hisilicon Hi3716 Debug UART"
224                 depends on ARCH_HI3xxx
225                 select DEBUG_UART_PL01X
226                 help
227                   Say Y here if you want kernel low-level debugging support
228                   on HI3716 UART.
229
230         config DEBUG_HIGHBANK_UART
231                 bool "Kernel low-level debugging messages via Highbank UART"
232                 depends on ARCH_HIGHBANK
233                 select DEBUG_UART_PL01X
234                 help
235                   Say Y here if you want the debug print routines to direct
236                   their output to the UART on Highbank based devices.
237
238         config DEBUG_IMX1_UART
239                 bool "i.MX1 Debug UART"
240                 depends on SOC_IMX1
241                 help
242                   Say Y here if you want kernel low-level debugging support
243                   on i.MX1.
244
245         config DEBUG_IMX23_UART
246                 bool "i.MX23 Debug UART"
247                 depends on SOC_IMX23
248                 select DEBUG_UART_PL01X
249                 help
250                   Say Y here if you want kernel low-level debugging support
251                   on i.MX23.
252
253         config DEBUG_IMX25_UART
254                 bool "i.MX25 Debug UART"
255                 depends on SOC_IMX25
256                 help
257                   Say Y here if you want kernel low-level debugging support
258                   on i.MX25.
259
260         config DEBUG_IMX21_IMX27_UART
261                 bool "i.MX21 and i.MX27 Debug UART"
262                 depends on SOC_IMX21 || SOC_IMX27
263                 help
264                   Say Y here if you want kernel low-level debugging support
265                   on i.MX21 or i.MX27.
266
267         config DEBUG_IMX28_UART
268                 bool "i.MX28 Debug UART"
269                 depends on SOC_IMX28
270                 select DEBUG_UART_PL01X
271                 help
272                   Say Y here if you want kernel low-level debugging support
273                   on i.MX28.
274
275         config DEBUG_IMX31_UART
276                 bool "i.MX31 Debug UART"
277                 depends on SOC_IMX31
278                 help
279                   Say Y here if you want kernel low-level debugging support
280                   on i.MX31.
281
282         config DEBUG_IMX35_UART
283                 bool "i.MX35 Debug UART"
284                 depends on SOC_IMX35
285                 help
286                   Say Y here if you want kernel low-level debugging support
287                   on i.MX35.
288
289         config DEBUG_IMX50_UART
290                 bool "i.MX50 Debug UART"
291                 depends on SOC_IMX50
292                 help
293                   Say Y here if you want kernel low-level debugging support
294                   on i.MX50.
295
296         config DEBUG_IMX51_UART
297                 bool "i.MX51 Debug UART"
298                 depends on SOC_IMX51
299                 help
300                   Say Y here if you want kernel low-level debugging support
301                   on i.MX51.
302
303         config DEBUG_IMX53_UART
304                 bool "i.MX53 Debug UART"
305                 depends on SOC_IMX53
306                 help
307                   Say Y here if you want kernel low-level debugging support
308                   on i.MX53.
309
310         config DEBUG_IMX6Q_UART
311                 bool "i.MX6Q/DL Debug UART"
312                 depends on SOC_IMX6Q
313                 help
314                   Say Y here if you want kernel low-level debugging support
315                   on i.MX6Q/DL.
316
317         config DEBUG_IMX6SL_UART
318                 bool "i.MX6SL Debug UART"
319                 depends on SOC_IMX6SL
320                 help
321                   Say Y here if you want kernel low-level debugging support
322                   on i.MX6SL.
323
324         config DEBUG_KEYSTONE_UART0
325                 bool "Kernel low-level debugging on KEYSTONE2 using UART0"
326                 depends on ARCH_KEYSTONE
327                 select DEBUG_UART_8250
328                 help
329                   Say Y here if you want the debug print routines to direct
330                   their output to UART0 serial port on KEYSTONE2 devices.
331
332         config DEBUG_KEYSTONE_UART1
333                 bool "Kernel low-level debugging on KEYSTONE2 using UART1"
334                 depends on ARCH_KEYSTONE
335                 select DEBUG_UART_8250
336                 help
337                   Say Y here if you want the debug print routines to direct
338                   their output to UART1 serial port on KEYSTONE2 devices.
339
340         config DEBUG_MMP_UART2
341                 bool "Kernel low-level debugging message via MMP UART2"
342                 depends on ARCH_MMP
343                 select DEBUG_UART_8250
344                 help
345                   Say Y here if you want kernel low-level debugging support
346                   on MMP UART2.
347
348         config DEBUG_MMP_UART3
349                 bool "Kernel low-level debugging message via MMP UART3"
350                 depends on ARCH_MMP
351                 select DEBUG_UART_8250
352                 help
353                   Say Y here if you want kernel low-level debugging support
354                   on MMP UART3.
355
356         config DEBUG_MSM_UART1
357                 bool "Kernel low-level debugging messages via MSM UART1"
358                 depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50
359                 select DEBUG_MSM_UART
360                 help
361                   Say Y here if you want the debug print routines to direct
362                   their output to the first serial port on MSM devices.
363
364         config DEBUG_MSM_UART2
365                 bool "Kernel low-level debugging messages via MSM UART2"
366                 depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50
367                 select DEBUG_MSM_UART
368                 help
369                   Say Y here if you want the debug print routines to direct
370                   their output to the second serial port on MSM devices.
371
372         config DEBUG_MSM_UART3
373                 bool "Kernel low-level debugging messages via MSM UART3"
374                 depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50
375                 select DEBUG_MSM_UART
376                 help
377                   Say Y here if you want the debug print routines to direct
378                   their output to the third serial port on MSM devices.
379
380         config DEBUG_MSM8660_UART
381                 bool "Kernel low-level debugging messages via MSM 8660 UART"
382                 depends on ARCH_MSM8X60
383                 select MSM_HAS_DEBUG_UART_HS
384                 select DEBUG_MSM_UART
385                 help
386                   Say Y here if you want the debug print routines to direct
387                   their output to the serial port on MSM 8660 devices.
388
389         config DEBUG_MSM8960_UART
390                 bool "Kernel low-level debugging messages via MSM 8960 UART"
391                 depends on ARCH_MSM8960
392                 select MSM_HAS_DEBUG_UART_HS
393                 select DEBUG_MSM_UART
394                 help
395                   Say Y here if you want the debug print routines to direct
396                   their output to the serial port on MSM 8960 devices.
397
398         config DEBUG_MSM8974_UART
399                 bool "Kernel low-level debugging messages via MSM 8974 UART"
400                 depends on ARCH_MSM8974
401                 select MSM_HAS_DEBUG_UART_HS
402                 select DEBUG_MSM_UART
403                 help
404                   Say Y here if you want the debug print routines to direct
405                   their output to the serial port on MSM 8974 devices.
406
407         config DEBUG_MVEBU_UART
408                 bool "Kernel low-level debugging messages via MVEBU UART (old bootloaders)"
409                 depends on ARCH_MVEBU
410                 select DEBUG_UART_8250
411                 help
412                   Say Y here if you want kernel low-level debugging support
413                   on MVEBU based platforms.
414
415                   This option should be used with the old bootloaders
416                   that left the internal registers mapped at
417                   0xd0000000. As of today, this is the case on
418                   platforms such as the Globalscale Mirabox or the
419                   Plathome OpenBlocks AX3, when using the original
420                   bootloader.
421
422                   If the wrong DEBUG_MVEBU_UART* option is selected,
423                   when u-boot hands over to the kernel, the system
424                   silently crashes, with no serial output at all.
425
426         config DEBUG_MVEBU_UART_ALTERNATE
427                 bool "Kernel low-level debugging messages via MVEBU UART (new bootloaders)"
428                 depends on ARCH_MVEBU
429                 select DEBUG_UART_8250
430                 help
431                   Say Y here if you want kernel low-level debugging support
432                   on MVEBU based platforms.
433
434                   This option should be used with the new bootloaders
435                   that remap the internal registers at 0xf1000000.
436
437                   If the wrong DEBUG_MVEBU_UART* option is selected,
438                   when u-boot hands over to the kernel, the system
439                   silently crashes, with no serial output at all.
440
441         config DEBUG_VF_UART
442                 bool "Vybrid UART"
443                 depends on SOC_VF610
444                 help
445                   Say Y here if you want kernel low-level debugging support
446                   on Vybrid based platforms.
447
448         config DEBUG_NOMADIK_UART
449                 bool "Kernel low-level debugging messages via NOMADIK UART"
450                 depends on ARCH_NOMADIK
451                 select DEBUG_UART_PL01X
452                 help
453                   Say Y here if you want kernel low-level debugging support
454                   on NOMADIK based platforms.
455
456         config DEBUG_NSPIRE_CLASSIC_UART
457                 bool "Kernel low-level debugging via TI-NSPIRE 8250 UART"
458                 depends on ARCH_NSPIRE
459                 select DEBUG_UART_8250
460                 help
461                   Say Y here if you want kernel low-level debugging support
462                   on TI-NSPIRE classic models.
463
464         config DEBUG_NSPIRE_CX_UART
465                 bool "Kernel low-level debugging via TI-NSPIRE PL011 UART"
466                 depends on ARCH_NSPIRE
467                 select DEBUG_UART_PL01X
468                 help
469                   Say Y here if you want kernel low-level debugging support
470                   on TI-NSPIRE CX models.
471
472         config DEBUG_OMAP2UART1
473                 bool "OMAP2/3/4 UART1 (omap2/3 sdp boards and some omap3 boards)"
474                 depends on ARCH_OMAP2PLUS
475                 select DEBUG_OMAP2PLUS_UART
476                 help
477                   This covers at least h4, 2430sdp, 3430sdp, 3630sdp,
478                   omap3 torpedo and 3530 lv som.
479
480         config DEBUG_OMAP2UART2
481                 bool "Kernel low-level debugging messages via OMAP2/3/4 UART2"
482                 depends on ARCH_OMAP2PLUS
483                 select DEBUG_OMAP2PLUS_UART
484
485         config DEBUG_OMAP2UART3
486                 bool "Kernel low-level debugging messages via OMAP2 UART3 (n8x0)"
487                 depends on ARCH_OMAP2PLUS
488                 select DEBUG_OMAP2PLUS_UART
489
490         config DEBUG_OMAP3UART3
491                 bool "Kernel low-level debugging messages via OMAP3 UART3 (most omap3 boards)"
492                 depends on ARCH_OMAP2PLUS
493                 select DEBUG_OMAP2PLUS_UART
494                 help
495                   This covers at least cm_t3x, beagle, crane, devkit8000,
496                   igep00x0, ldp, n900, n9(50), pandora, overo, touchbook,
497                   and 3517evm.
498
499         config DEBUG_OMAP4UART3
500                 bool "Kernel low-level debugging messages via OMAP4/5 UART3 (omap4 blaze, panda, omap5 sevm)"
501                 depends on ARCH_OMAP2PLUS
502                 select DEBUG_OMAP2PLUS_UART
503
504         config DEBUG_OMAP3UART4
505                 bool "Kernel low-level debugging messages via OMAP36XX UART4"
506                 depends on ARCH_OMAP2PLUS
507                 select DEBUG_OMAP2PLUS_UART
508
509         config DEBUG_OMAP4UART4
510                 bool "Kernel low-level debugging messages via OMAP4/5 UART4"
511                 depends on ARCH_OMAP2PLUS
512                 select DEBUG_OMAP2PLUS_UART
513
514         config DEBUG_TI81XXUART1
515                 bool "Kernel low-level debugging messages via TI81XX UART1 (ti8148evm)"
516                 depends on ARCH_OMAP2PLUS
517                 select DEBUG_OMAP2PLUS_UART
518
519         config DEBUG_TI81XXUART2
520                 bool "Kernel low-level debugging messages via TI81XX UART2"
521                 depends on ARCH_OMAP2PLUS
522                 select DEBUG_OMAP2PLUS_UART
523
524         config DEBUG_TI81XXUART3
525                 bool "Kernel low-level debugging messages via TI81XX UART3 (ti8168evm)"
526                 depends on ARCH_OMAP2PLUS
527                 select DEBUG_OMAP2PLUS_UART
528
529         config DEBUG_AM33XXUART1
530                 bool "Kernel low-level debugging messages via AM33XX UART1"
531                 depends on ARCH_OMAP2PLUS
532                 select DEBUG_OMAP2PLUS_UART
533
534         config DEBUG_ZOOM_UART
535                 bool "Kernel low-level debugging messages via Zoom2/3 UART"
536                 depends on ARCH_OMAP2PLUS
537                 select DEBUG_OMAP2PLUS_UART
538
539         config DEBUG_PICOXCELL_UART
540                 depends on ARCH_PICOXCELL
541                 bool "Use PicoXcell UART for low-level debug"
542                 select DEBUG_UART_8250
543                 help
544                   Say Y here if you want kernel low-level debugging support
545                   on PicoXcell based platforms.
546
547         config DEBUG_PXA_UART1
548                 depends on ARCH_PXA
549                 bool "Use PXA UART1 for low-level debug"
550                 select DEBUG_UART_8250
551                 help
552                   Say Y here if you want kernel low-level debugging support
553                   on PXA UART1.
554
555         config DEBUG_REALVIEW_STD_PORT
556                 bool "RealView Default UART"
557                 depends on ARCH_REALVIEW
558                 select DEBUG_UART_PL01X
559                 help
560                   Say Y here if you want the debug print routines to direct
561                   their output to the serial port on RealView EB, PB11MP, PBA8
562                   and PBX platforms.
563
564         config DEBUG_REALVIEW_PB1176_PORT
565                 bool "RealView PB1176 UART"
566                 depends on MACH_REALVIEW_PB1176
567                 select DEBUG_UART_PL01X
568                 help
569                   Say Y here if you want the debug print routines to direct
570                   their output to the standard serial port on the RealView
571                   PB1176 platform.
572
573         config DEBUG_RK29_UART0
574                 bool "Kernel low-level debugging messages via Rockchip RK29 UART0"
575                 depends on ARCH_ROCKCHIP
576                 select DEBUG_UART_8250
577                 help
578                   Say Y here if you want kernel low-level debugging support
579                   on Rockchip based platforms.
580
581         config DEBUG_RK29_UART1
582                 bool "Kernel low-level debugging messages via Rockchip RK29 UART1"
583                 depends on ARCH_ROCKCHIP
584                 select DEBUG_UART_8250
585                 help
586                   Say Y here if you want kernel low-level debugging support
587                   on Rockchip based platforms.
588
589         config DEBUG_RK29_UART2
590                 bool "Kernel low-level debugging messages via Rockchip RK29 UART2"
591                 depends on ARCH_ROCKCHIP
592                 select DEBUG_UART_8250
593                 help
594                   Say Y here if you want kernel low-level debugging support
595                   on Rockchip based platforms.
596
597         config DEBUG_RK3X_UART0
598                 bool "Kernel low-level debugging messages via Rockchip RK3X UART0"
599                 depends on ARCH_ROCKCHIP
600                 select DEBUG_UART_8250
601                 help
602                   Say Y here if you want kernel low-level debugging support
603                   on Rockchip based platforms.
604
605         config DEBUG_RK3X_UART1
606                 bool "Kernel low-level debugging messages via Rockchip RK3X UART1"
607                 depends on ARCH_ROCKCHIP
608                 select DEBUG_UART_8250
609                 help
610                   Say Y here if you want kernel low-level debugging support
611                   on Rockchip based platforms.
612
613         config DEBUG_RK3X_UART2
614                 bool "Kernel low-level debugging messages via Rockchip RK3X UART2"
615                 depends on ARCH_ROCKCHIP
616                 select DEBUG_UART_8250
617                 help
618                   Say Y here if you want kernel low-level debugging support
619                   on Rockchip based platforms.
620
621         config DEBUG_RK3X_UART3
622                 bool "Kernel low-level debugging messages via Rockchip RK3X UART3"
623                 depends on ARCH_ROCKCHIP
624                 select DEBUG_UART_8250
625                 help
626                   Say Y here if you want kernel low-level debugging support
627                   on Rockchip based platforms.
628
629         config DEBUG_R7S72100_SCIF2
630                 bool "Kernel low-level debugging messages via SCIF2 on R7S72100"
631                 depends on ARCH_R7S72100
632                 help
633                   Say Y here if you want kernel low-level debugging support
634                   via SCIF2 on Renesas RZ/A1H (R7S72100).
635
636         config DEBUG_RCAR_GEN1_SCIF0
637                 bool "Kernel low-level debugging messages via SCIF0 on R8A7778"
638                 depends on ARCH_R8A7778
639                 help
640                   Say Y here if you want kernel low-level debugging support
641                   via SCIF0 on Renesas R-Car M1A (R8A7778).
642
643         config DEBUG_RCAR_GEN1_SCIF2
644                 bool "Kernel low-level debugging messages via SCIF2 on R8A7779"
645                 depends on ARCH_R8A7779
646                 help
647                   Say Y here if you want kernel low-level debugging support
648                   via SCIF2 on Renesas R-Car H1 (R8A7779).
649
650         config DEBUG_RCAR_GEN2_SCIF0
651                 bool "Kernel low-level debugging messages via SCIF0 on R8A7790/R8A7791/R8A7793)"
652                 depends on ARCH_R8A7790 || ARCH_R8A7791 || ARCH_R8A7793
653                 help
654                   Say Y here if you want kernel low-level debugging support
655                   via SCIF0 on Renesas R-Car H2 (R8A7790), M2-W (R8A7791), or
656                   M2-N (R8A7793).
657
658         config DEBUG_RCAR_GEN2_SCIF2
659                 bool "Kernel low-level debugging messages via SCIF2 on R8A7794"
660                 depends on ARCH_R8A7794
661                 help
662                   Say Y here if you want kernel low-level debugging support
663                   via SCIF2 on Renesas R-Car E2 (R8A7794).
664
665         config DEBUG_RMOBILE_SCIFA0
666                 bool "Kernel low-level debugging messages via SCIFA0 on R8A73A4/SH7372"
667                 depends on ARCH_R8A73A4 || ARCH_SH7372
668                 help
669                   Say Y here if you want kernel low-level debugging support
670                   via SCIFA0 on Renesas R-Mobile APE6 (R8A73A4) or SH-Mobile
671                   AP4 (SH7372).
672
673         config DEBUG_RMOBILE_SCIFA1
674                 bool "Kernel low-level debugging messages via SCIFA1 on R8A7740"
675                 depends on ARCH_R8A7740
676                 help
677                   Say Y here if you want kernel low-level debugging support
678                   via SCIFA1 on Renesas R-Mobile A1 (R8A7740).
679
680         config DEBUG_RMOBILE_SCIFA4
681                 bool "Kernel low-level debugging messages via SCIFA4 on SH73A0"
682                 depends on ARCH_SH73A0
683                 help
684                   Say Y here if you want kernel low-level debugging support
685                   via SCIFA4 on Renesas SH-Mobile AG5 (SH73A0).
686
687         config DEBUG_S3C_UART0
688                 depends on PLAT_SAMSUNG
689                 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
690                 bool "Use S3C UART 0 for low-level debug"
691                 help
692                   Say Y here if you want the debug print routines to direct
693                   their output to UART 0. The port must have been initialised
694                   by the boot-loader before use.
695
696                   The uncompressor code port configuration is now handled
697                   by CONFIG_S3C_LOWLEVEL_UART_PORT.
698
699         config DEBUG_S3C_UART1
700                 depends on PLAT_SAMSUNG
701                 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
702                 bool "Use S3C UART 1 for low-level debug"
703                 help
704                   Say Y here if you want the debug print routines to direct
705                   their output to UART 1. The port must have been initialised
706                   by the boot-loader before use.
707
708                   The uncompressor code port configuration is now handled
709                   by CONFIG_S3C_LOWLEVEL_UART_PORT.
710
711         config DEBUG_S3C_UART2
712                 depends on PLAT_SAMSUNG
713                 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
714                 bool "Use S3C UART 2 for low-level debug"
715                 help
716                   Say Y here if you want the debug print routines to direct
717                   their output to UART 2. The port must have been initialised
718                   by the boot-loader before use.
719
720                   The uncompressor code port configuration is now handled
721                   by CONFIG_S3C_LOWLEVEL_UART_PORT.
722
723         config DEBUG_S3C_UART3
724                 depends on PLAT_SAMSUNG && ARCH_EXYNOS
725                 select DEBUG_EXYNOS_UART
726                 bool "Use S3C UART 3 for low-level debug"
727                 help
728                   Say Y here if you want the debug print routines to direct
729                   their output to UART 3. The port must have been initialised
730                   by the boot-loader before use.
731
732                   The uncompressor code port configuration is now handled
733                   by CONFIG_S3C_LOWLEVEL_UART_PORT.
734
735         config DEBUG_SOCFPGA_UART
736                 depends on ARCH_SOCFPGA
737                 bool "Use SOCFPGA UART for low-level debug"
738                 select DEBUG_UART_8250
739                 help
740                   Say Y here if you want kernel low-level debugging support
741                   on SOCFPGA based platforms.
742
743         config DEBUG_SUNXI_UART0
744                 bool "Kernel low-level debugging messages via sunXi UART0"
745                 depends on ARCH_SUNXI
746                 select DEBUG_UART_8250
747                 help
748                   Say Y here if you want kernel low-level debugging support
749                   on Allwinner A1X based platforms on the UART0.
750
751         config DEBUG_SUNXI_UART1
752                 bool "Kernel low-level debugging messages via sunXi UART1"
753                 depends on ARCH_SUNXI
754                 select DEBUG_UART_8250
755                 help
756                   Say Y here if you want kernel low-level debugging support
757                   on Allwinner A1X based platforms on the UART1.
758
759         config TEGRA_DEBUG_UART_AUTO_ODMDATA
760                 bool "Kernel low-level debugging messages via Tegra UART via ODMDATA"
761                 depends on ARCH_TEGRA
762                 select DEBUG_TEGRA_UART
763                 help
764                   Automatically determines which UART to use for low-level
765                   debug based on the ODMDATA value. This value is part of
766                   the BCT, and is written to the boot memory device using
767                   nvflash, or other flashing tool.  When bits 19:18 are 3,
768                   then bits 17:15 indicate which UART to use; 0/1/2/3/4
769                   are UART A/B/C/D/E.
770
771         config TEGRA_DEBUG_UARTA
772                 bool "Kernel low-level debugging messages via Tegra UART A"
773                 depends on ARCH_TEGRA
774                 select DEBUG_TEGRA_UART
775                 help
776                   Say Y here if you want kernel low-level debugging support
777                   on Tegra based platforms.
778
779         config TEGRA_DEBUG_UARTB
780                 bool "Kernel low-level debugging messages via Tegra UART B"
781                 depends on ARCH_TEGRA
782                 select DEBUG_TEGRA_UART
783                 help
784                   Say Y here if you want kernel low-level debugging support
785                   on Tegra based platforms.
786
787         config TEGRA_DEBUG_UARTC
788                 bool "Kernel low-level debugging messages via Tegra UART C"
789                 depends on ARCH_TEGRA
790                 select DEBUG_TEGRA_UART
791                 help
792                   Say Y here if you want kernel low-level debugging support
793                   on Tegra based platforms.
794
795         config TEGRA_DEBUG_UARTD
796                 bool "Kernel low-level debugging messages via Tegra UART D"
797                 depends on ARCH_TEGRA
798                 select DEBUG_TEGRA_UART
799                 help
800                   Say Y here if you want kernel low-level debugging support
801                   on Tegra based platforms.
802
803         config TEGRA_DEBUG_UARTE
804                 bool "Kernel low-level debugging messages via Tegra UART E"
805                 depends on ARCH_TEGRA
806                 select DEBUG_TEGRA_UART
807                 help
808                   Say Y here if you want kernel low-level debugging support
809                   on Tegra based platforms.
810
811         config DEBUG_SIRFPRIMA2_UART1
812                 bool "Kernel low-level debugging messages via SiRFprimaII UART1"
813                 depends on ARCH_PRIMA2
814                 help
815                   Say Y here if you want the debug print routines to direct
816                   their output to the uart1 port on SiRFprimaII devices.
817
818         config DEBUG_SIRFMARCO_UART1
819                 bool "Kernel low-level debugging messages via SiRFmarco UART1"
820                 depends on ARCH_MARCO
821                 help
822                   Say Y here if you want the debug print routines to direct
823                   their output to the uart1 port on SiRFmarco devices.
824
825         config STIH41X_DEBUG_ASC2
826                 bool "Use StiH415/416 ASC2 UART for low-level debug"
827                 depends on ARCH_STI
828                 select DEBUG_STI_UART
829                 help
830                   Say Y here if you want kernel low-level debugging support
831                   on STiH415/416 based platforms like b2000, which has
832                   default UART wired up to ASC2.
833
834                   If unsure, say N.
835
836         config STIH41X_DEBUG_SBC_ASC1
837                 bool "Use StiH415/416 SBC ASC1 UART for low-level debug"
838                 depends on ARCH_STI
839                 select DEBUG_STI_UART
840                 help
841                   Say Y here if you want kernel low-level debugging support
842                   on STiH415/416 based platforms like b2020. which has
843                   default UART wired up to SBC ASC1.
844
845                   If unsure, say N.
846
847         config DEBUG_U300_UART
848                 bool "Kernel low-level debugging messages via U300 UART0"
849                 depends on ARCH_U300
850                 select DEBUG_UART_PL01X
851                 help
852                   Say Y here if you want the debug print routines to direct
853                   their output to the uart port on U300 devices.
854
855         config DEBUG_UX500_UART
856                 depends on ARCH_U8500
857                 bool "Use Ux500 UART for low-level debug"
858                 help
859                   Say Y here if you want kernel low-level debugging support
860                   on Ux500 based platforms.
861
862         config DEBUG_VEXPRESS_UART0_DETECT
863                 bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
864                 depends on ARCH_VEXPRESS && CPU_CP15_MMU
865                 help
866                   This option enables a simple heuristic which tries to determine
867                   the motherboard's memory map variant (original or RS1) and then
868                   choose the relevant UART0 base address.
869
870                   Note that this will only work with standard A-class core tiles,
871                   and may fail with non-standard SMM or custom software models.
872
873         config DEBUG_VEXPRESS_UART0_CA9
874                 bool "Use PL011 UART0 at 0x10009000 (V2P-CA9 core tile)"
875                 depends on ARCH_VEXPRESS
876                 select DEBUG_UART_PL01X
877                 help
878                   This option selects UART0 at 0x10009000. Except for custom models,
879                   this applies only to the V2P-CA9 tile.
880
881         config DEBUG_VEXPRESS_UART0_RS1
882                 bool "Use PL011 UART0 at 0x1c090000 (RS1 complaint tiles)"
883                 depends on ARCH_VEXPRESS
884                 select DEBUG_UART_PL01X
885                 help
886                   This option selects UART0 at 0x1c090000. This applies to most
887                   of the tiles using the RS1 memory map, including all new A-class
888                   core tiles, FPGA-based SMMs and software models.
889
890         config DEBUG_VEXPRESS_UART0_CRX
891                 bool "Use PL011 UART0 at 0xb0090000 (Cortex-R compliant tiles)"
892                 depends on ARCH_VEXPRESS && !MMU
893                 select DEBUG_UART_PL01X
894                 help
895                   This option selects UART0 at 0xb0090000. This is appropriate for
896                   Cortex-R series tiles and SMMs, such as Cortex-R5 and Cortex-R7
897
898         config DEBUG_VT8500_UART0
899                 bool "Use UART0 on VIA/Wondermedia SoCs"
900                 depends on ARCH_VT8500
901                 help
902                   This option selects UART0 on VIA/Wondermedia System-on-a-chip
903                   devices, including VT8500, WM8505, WM8650 and WM8850.
904
905         config DEBUG_LL_UART_NONE
906                 bool "No low-level debugging UART"
907                 depends on !ARCH_MULTIPLATFORM
908                 help
909                   Say Y here if your platform doesn't provide a UART option
910                   above. This relies on your platform choosing the right UART
911                   definition internally in order for low-level debugging to
912                   work.
913
914         config DEBUG_ICEDCC
915                 bool "Kernel low-level debugging via EmbeddedICE DCC channel"
916                 help
917                   Say Y here if you want the debug print routines to direct
918                   their output to the EmbeddedICE macrocell's DCC channel using
919                   co-processor 14. This is known to work on the ARM9 style ICE
920                   channel and on the XScale with the PEEDI.
921
922                   Note that the system will appear to hang during boot if there
923                   is nothing connected to read from the DCC.
924
925         config DEBUG_SEMIHOSTING
926                 bool "Kernel low-level debug output via semihosting I/O"
927                 help
928                   Semihosting enables code running on an ARM target to use
929                   the I/O facilities on a host debugger/emulator through a
930                   simple SVC call. The host debugger or emulator must have
931                   semihosting enabled for the special svc call to be trapped
932                   otherwise the kernel will crash.
933
934                   This is known to work with OpenOCD, as well as
935                   ARM's Fast Models, or any other controlling environment
936                   that implements semihosting.
937
938                   For more details about semihosting, please see
939                   chapter 8 of DUI0203I_rvct_developer_guide.pdf from ARM Ltd.
940
941         config DEBUG_LL_UART_8250
942                 bool "Kernel low-level debugging via 8250 UART"
943                 help
944                   Say Y here if you wish the debug print routes to direct
945                   their output to an 8250 UART.  You can use this option
946                   to provide the parameters for the 8250 UART rather than
947                   selecting one of the platform specific options above if
948                   you know the parameters for the port.
949
950                   This option is preferred over the platform specific
951                   options; the platform specific options are deprecated
952                   and will be soon removed.
953
954         config DEBUG_LL_UART_EFM32
955                 bool "Kernel low-level debugging via efm32 UART"
956                 depends on ARCH_EFM32
957                 help
958                   Say Y here if you want the debug print routines to direct
959                   their output to an UART or USART port on efm32 based
960                   machines. Use the following addresses for DEBUG_UART_PHYS:
961
962                     0x4000c000 | USART0
963                     0x4000c400 | USART1
964                     0x4000c800 | USART2
965                     0x4000e000 | UART0
966                     0x4000e400 | UART1
967
968         config DEBUG_LL_UART_PL01X
969                 bool "Kernel low-level debugging via ARM Ltd PL01x Primecell UART"
970                 help
971                   Say Y here if you wish the debug print routes to direct
972                   their output to a PL01x Primecell UART.  You can use
973                   this option to provide the parameters for the UART
974                   rather than selecting one of the platform specific
975                   options above if you know the parameters for the port.
976
977                   This option is preferred over the platform specific
978                   options; the platform specific options are deprecated
979                   and will be soon removed.
980
981 endchoice
982
983 config DEBUG_EXYNOS_UART
984         bool
985
986 config DEBUG_OMAP2PLUS_UART
987         bool
988         depends on ARCH_OMAP2PLUS
989
990 config DEBUG_IMX_UART_PORT
991         int "i.MX Debug UART Port Selection" if DEBUG_IMX1_UART || \
992                                                 DEBUG_IMX25_UART || \
993                                                 DEBUG_IMX21_IMX27_UART || \
994                                                 DEBUG_IMX31_UART || \
995                                                 DEBUG_IMX35_UART || \
996                                                 DEBUG_IMX50_UART || \
997                                                 DEBUG_IMX51_UART || \
998                                                 DEBUG_IMX53_UART || \
999                                                 DEBUG_IMX6Q_UART || \
1000                                                 DEBUG_IMX6SL_UART
1001         default 1
1002         depends on ARCH_MXC
1003         help
1004           Choose UART port on which kernel low-level debug messages
1005           should be output.
1006
1007 config DEBUG_TEGRA_UART
1008         bool
1009         depends on ARCH_TEGRA
1010
1011 config DEBUG_STI_UART
1012         bool
1013         depends on ARCH_STI
1014
1015 config DEBUG_MSM_UART
1016         bool
1017         depends on ARCH_MSM
1018
1019 config DEBUG_LL_INCLUDE
1020         string
1021         default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250
1022         default "debug/pl01x.S" if DEBUG_LL_UART_PL01X || DEBUG_UART_PL01X
1023         default "debug/exynos.S" if DEBUG_EXYNOS_UART
1024         default "debug/efm32.S" if DEBUG_LL_UART_EFM32
1025         default "debug/icedcc.S" if DEBUG_ICEDCC
1026         default "debug/imx.S" if DEBUG_IMX1_UART || \
1027                                  DEBUG_IMX25_UART || \
1028                                  DEBUG_IMX21_IMX27_UART || \
1029                                  DEBUG_IMX31_UART || \
1030                                  DEBUG_IMX35_UART || \
1031                                  DEBUG_IMX50_UART || \
1032                                  DEBUG_IMX51_UART || \
1033                                  DEBUG_IMX53_UART ||\
1034                                  DEBUG_IMX6Q_UART || \
1035                                  DEBUG_IMX6SL_UART
1036         default "debug/msm.S" if DEBUG_MSM_UART
1037         default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART
1038         default "debug/renesas-scif.S" if DEBUG_R7S72100_SCIF2
1039         default "debug/renesas-scif.S" if DEBUG_RCAR_GEN1_SCIF0
1040         default "debug/renesas-scif.S" if DEBUG_RCAR_GEN1_SCIF2
1041         default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF0
1042         default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF2
1043         default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA0
1044         default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA1
1045         default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA4
1046         default "debug/sirf.S" if DEBUG_SIRFPRIMA2_UART1 || DEBUG_SIRFMARCO_UART1
1047         default "debug/sti.S" if DEBUG_STI_UART
1048         default "debug/tegra.S" if DEBUG_TEGRA_UART
1049         default "debug/ux500.S" if DEBUG_UX500_UART
1050         default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT
1051         default "debug/vf.S" if DEBUG_VF_UART
1052         default "debug/vt8500.S" if DEBUG_VT8500_UART0
1053         default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1
1054         default "mach/debug-macro.S"
1055
1056 # Compatibility options for PL01x
1057 config DEBUG_UART_PL01X
1058         def_bool ARCH_EP93XX || \
1059                 ARCH_INTEGRATOR || \
1060                 ARCH_SPEAR3XX || \
1061                 ARCH_SPEAR6XX || \
1062                 ARCH_SPEAR13XX || \
1063                 ARCH_VERSATILE
1064
1065 # Compatibility options for 8250
1066 config DEBUG_UART_8250
1067         def_bool ARCH_DOVE || ARCH_EBSA110 || \
1068                 (FOOTBRIDGE && !DEBUG_DC21285_PORT) || \
1069                 ARCH_GEMINI || ARCH_IOP13XX || ARCH_IOP32X || \
1070                 ARCH_IOP33X || ARCH_IXP4XX || ARCH_KIRKWOOD || \
1071                 ARCH_LPC32XX || ARCH_MV78XX0 || ARCH_ORION5X || ARCH_RPC
1072
1073 config DEBUG_UART_PHYS
1074         hex "Physical base address of debug UART"
1075         default 0x01c20000 if DEBUG_DAVINCI_DMx_UART0
1076         default 0x01c28000 if DEBUG_SUNXI_UART0
1077         default 0x01c28400 if DEBUG_SUNXI_UART1
1078         default 0x01d0c000 if DEBUG_DAVINCI_DA8XX_UART1
1079         default 0x01d0d000 if DEBUG_DAVINCI_DA8XX_UART2
1080         default 0x02530c00 if DEBUG_KEYSTONE_UART0
1081         default 0x02531000 if DEBUG_KEYSTONE_UART1
1082         default 0x03010fe0 if ARCH_RPC
1083         default 0x08108300 if DEBUG_DAVINCI_TNETV107X_UART1
1084         default 0x10009000 if DEBUG_REALVIEW_STD_PORT || DEBUG_CNS3XXX || \
1085                                 DEBUG_VEXPRESS_UART0_CA9
1086         default 0x1010c000 if DEBUG_REALVIEW_PB1176_PORT
1087         default 0x10124000 if DEBUG_RK3X_UART0
1088         default 0x10126000 if DEBUG_RK3X_UART1
1089         default 0x101f1000 if ARCH_VERSATILE
1090         default 0x101fb000 if DEBUG_NOMADIK_UART
1091         default 0x16000000 if ARCH_INTEGRATOR
1092         default 0x1c090000 if DEBUG_VEXPRESS_UART0_RS1
1093         default 0x20060000 if DEBUG_RK29_UART0
1094         default 0x20064000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1095         default 0x20068000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
1096         default 0x20201000 if DEBUG_BCM2835
1097         default 0x3e000000 if DEBUG_BCM_KONA_UART
1098         default 0x4000e400 if DEBUG_LL_UART_EFM32
1099         default 0x40090000 if ARCH_LPC32XX
1100         default 0x40100000 if DEBUG_PXA_UART1
1101         default 0x42000000 if ARCH_GEMINI
1102         default 0x7c0003f8 if FOOTBRIDGE
1103         default 0x80230000 if DEBUG_PICOXCELL_UART
1104         default 0x80070000 if DEBUG_IMX23_UART
1105         default 0x80074000 if DEBUG_IMX28_UART
1106         default 0x808c0000 if ARCH_EP93XX
1107         default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
1108         default 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX
1109         default 0xc0013000 if DEBUG_U300_UART
1110         default 0xc8000000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1111         default 0xc8000003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
1112         default 0xd0000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
1113         default 0xd0012000 if DEBUG_MVEBU_UART
1114         default 0xd4017000 if DEBUG_MMP_UART2
1115         default 0xd4018000 if DEBUG_MMP_UART3
1116         default 0xe0000000 if ARCH_SPEAR13XX
1117         default 0xe6c40000 if DEBUG_RMOBILE_SCIFA0
1118         default 0xe6c50000 if DEBUG_RMOBILE_SCIFA1
1119         default 0xe6c80000 if DEBUG_RMOBILE_SCIFA4
1120         default 0xe6e58000 if DEBUG_RCAR_GEN2_SCIF2
1121         default 0xe6e60000 if DEBUG_RCAR_GEN2_SCIF0
1122         default 0xe8008000 if DEBUG_R7S72100_SCIF2
1123         default 0xf0000be0 if ARCH_EBSA110
1124         default 0xf1012000 if DEBUG_MVEBU_UART_ALTERNATE
1125         default 0xf1012000 if ARCH_DOVE || ARCH_KIRKWOOD || ARCH_MV78XX0 || \
1126                                 ARCH_ORION5X
1127         default 0xf7fc9000 if DEBUG_BERLIN_UART
1128         default 0xf8b00000 if DEBUG_HI3716_UART
1129         default 0xfcb00000 if DEBUG_HI3620_UART
1130         default 0xfe800000 if ARCH_IOP32X
1131         default 0xffc02000 if DEBUG_SOCFPGA_UART
1132         default 0xffd82340 if ARCH_IOP13XX
1133         default 0xffe40000 if DEBUG_RCAR_GEN1_SCIF0
1134         default 0xffe42000 if DEBUG_RCAR_GEN1_SCIF2
1135         default 0xfff36000 if DEBUG_HIGHBANK_UART
1136         default 0xfffff700 if ARCH_IOP33X
1137         depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1138                 DEBUG_LL_UART_EFM32 || \
1139                 DEBUG_UART_8250 || DEBUG_UART_PL01X || \\
1140                 DEBUG_R7S72100_SCIF2 || \
1141                 DEBUG_RCAR_GEN1_SCIF0 || DEBUG_RCAR_GEN1_SCIF2 || \
1142                 DEBUG_RCAR_GEN2_SCIF0 || DEBUG_RCAR_GEN2_SCIF2 || \
1143                 DEBUG_RMOBILE_SCIFA0 || DEBUG_RMOBILE_SCIFA1 || \
1144                 DEBUG_RMOBILE_SCIFA4 || DEBUG_S3C24XX_UART || \
1145                 DEBUG_UART_BCM63XX
1146
1147 config DEBUG_UART_VIRT
1148         hex "Virtual base address of debug UART"
1149         default 0xe0010fe0 if ARCH_RPC
1150         default 0xf0000be0 if ARCH_EBSA110
1151         default 0xf0009000 if DEBUG_CNS3XXX
1152         default 0xf01fb000 if DEBUG_NOMADIK_UART
1153         default 0xf0201000 if DEBUG_BCM2835
1154         default 0xf11f1000 if ARCH_VERSATILE
1155         default 0xf1600000 if ARCH_INTEGRATOR
1156         default 0xf1c28000 if DEBUG_SUNXI_UART0
1157         default 0xf1c28400 if DEBUG_SUNXI_UART1
1158         default 0xf2100000 if DEBUG_PXA_UART1
1159         default 0xf4090000 if ARCH_LPC32XX
1160         default 0xf4200000 if ARCH_GEMINI
1161         default 0xf7fc9000 if DEBUG_BERLIN_UART
1162         default 0xf8009000 if DEBUG_VEXPRESS_UART0_CA9
1163         default 0xf8090000 if DEBUG_VEXPRESS_UART0_RS1
1164         default 0xfb009000 if DEBUG_REALVIEW_STD_PORT
1165         default 0xfb10c000 if DEBUG_REALVIEW_PB1176_PORT
1166         default 0xfd000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
1167         default 0xfd000000 if ARCH_SPEAR13XX
1168         default 0xfd012000 if ARCH_MV78XX0
1169         default 0xfde12000 if ARCH_DOVE
1170         default 0xfe012000 if ARCH_ORION5X
1171         default 0xfe017000 if DEBUG_MMP_UART2
1172         default 0xfe018000 if DEBUG_MMP_UART3
1173         default 0xfe100000 if DEBUG_IMX23_UART || DEBUG_IMX28_UART
1174         default 0xfe230000 if DEBUG_PICOXCELL_UART
1175         default 0xfe300000 if DEBUG_BCM_KONA_UART
1176         default 0xfe800000 if ARCH_IOP32X
1177         default 0xfeb00000 if DEBUG_HI3620_UART || DEBUG_HI3716_UART
1178         default 0xfeb24000 if DEBUG_RK3X_UART0
1179         default 0xfeb26000 if DEBUG_RK3X_UART1
1180         default 0xfeb30c00 if DEBUG_KEYSTONE_UART0
1181         default 0xfeb31000 if DEBUG_KEYSTONE_UART1
1182         default 0xfec12000 if DEBUG_MVEBU_UART || DEBUG_MVEBU_UART_ALTERNATE
1183         default 0xfed60000 if DEBUG_RK29_UART0
1184         default 0xfed64000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1185         default 0xfed68000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
1186         default 0xfec02000 if DEBUG_SOCFPGA_UART
1187         default 0xfec20000 if DEBUG_DAVINCI_DMx_UART0
1188         default 0xfed0c000 if DEBUG_DAVINCI_DA8XX_UART1
1189         default 0xfed0d000 if DEBUG_DAVINCI_DA8XX_UART2
1190         default 0xfed12000 if ARCH_KIRKWOOD
1191         default 0xfedc0000 if ARCH_EP93XX
1192         default 0xfee003f8 if FOOTBRIDGE
1193         default 0xfee08300 if DEBUG_DAVINCI_TNETV107X_UART1
1194         default 0xfee20000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
1195         default 0xfef36000 if DEBUG_HIGHBANK_UART
1196         default 0xfee82340 if ARCH_IOP13XX
1197         default 0xfef00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1198         default 0xfef00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
1199         default 0xfefff700 if ARCH_IOP33X
1200         default 0xff003000 if DEBUG_U300_UART
1201         default DEBUG_UART_PHYS if !MMU
1202         depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1203                 DEBUG_UART_8250 || DEBUG_UART_PL01X
1204
1205 config DEBUG_UART_8250_SHIFT
1206         int "Register offset shift for the 8250 debug UART"
1207         depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1208         default 0 if FOOTBRIDGE || ARCH_IOP32X
1209         default 2
1210
1211 config DEBUG_UART_8250_WORD
1212         bool "Use 32-bit accesses for 8250 UART"
1213         depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1214         depends on DEBUG_UART_8250_SHIFT >= 2
1215         default y if DEBUG_PICOXCELL_UART || DEBUG_SOCFPGA_UART || \
1216                 ARCH_KEYSTONE || \
1217                 DEBUG_DAVINCI_DMx_UART0 || DEBUG_DAVINCI_DA8XX_UART1 || \
1218                 DEBUG_DAVINCI_DA8XX_UART2 || DEBUG_DAVINCI_TNETV107X_UART1 || \
1219                 DEBUG_BCM_KONA_UART
1220
1221 config DEBUG_UART_8250_FLOW_CONTROL
1222         bool "Enable flow control for 8250 UART"
1223         depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1224         default y if ARCH_EBSA110 || FOOTBRIDGE || ARCH_GEMINI || ARCH_RPC
1225
1226 config DEBUG_UNCOMPRESS
1227         bool
1228         depends on ARCH_MULTIPLATFORM || ARCH_MSM
1229         default y if DEBUG_LL && !DEBUG_OMAP2PLUS_UART && \
1230                      (!DEBUG_TEGRA_UART || !ZBOOT_ROM)
1231         help
1232           This option influences the normal decompressor output for
1233           multiplatform kernels.  Normally, multiplatform kernels disable
1234           decompressor output because it is not possible to know where to
1235           send the decompressor output.
1236
1237           When this option is set, the selected DEBUG_LL output method
1238           will be re-used for normal decompressor output on multiplatform
1239           kernels.
1240           
1241
1242 config UNCOMPRESS_INCLUDE
1243         string
1244         default "debug/uncompress.h" if ARCH_MULTIPLATFORM || ARCH_MSM
1245         default "mach/uncompress.h"
1246
1247 config EARLY_PRINTK
1248         bool "Early printk"
1249         depends on DEBUG_LL
1250         help
1251           Say Y here if you want to have an early console using the
1252           kernel low-level debugging functions. Add earlyprintk to your
1253           kernel parameters to enable this console.
1254
1255 config OC_ETM
1256         bool "On-chip ETM and ETB"
1257         depends on ARM_AMBA
1258         help
1259           Enables the on-chip embedded trace macrocell and embedded trace
1260           buffer driver that will allow you to collect traces of the
1261           kernel code.
1262
1263 config ARM_KPROBES_TEST
1264         tristate "Kprobes test module"
1265         depends on KPROBES && MODULES
1266         help
1267           Perform tests of kprobes API and instruction set simulation.
1268
1269 config PID_IN_CONTEXTIDR
1270         bool "Write the current PID to the CONTEXTIDR register"
1271         depends on CPU_COPY_V6
1272         help
1273           Enabling this option causes the kernel to write the current PID to
1274           the PROCID field of the CONTEXTIDR register, at the expense of some
1275           additional instructions during context switch. Say Y here only if you
1276           are planning to use hardware trace tools with this kernel.
1277
1278 config DEBUG_SET_MODULE_RONX
1279         bool "Set loadable kernel module data as NX and text as RO"
1280         depends on MODULES
1281         ---help---
1282           This option helps catch unintended modifications to loadable
1283           kernel module's text and read-only data. It also prevents execution
1284           of module data. Such protection may interfere with run-time code
1285           patching and dynamic kernel tracing - and they might also protect
1286           against certain classes of kernel exploits.
1287           If in doubt, say "N".
1288
1289 endmenu