Merge tag 'armsoc-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
[firefly-linux-kernel-4.4.55.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 DEBUG_ASM9260_UART
97                 bool "Kernel low-level debugging via asm9260 UART"
98                 depends on MACH_ASM9260
99                 help
100                   Say Y here if you want the debug print routines to direct
101                   their output to an UART or USART port on asm9260 based
102                   machines.
103
104                     DEBUG_UART_PHYS | DEBUG_UART_VIRT
105
106                     0x80000000      | 0xf0000000     | UART0
107                     0x80004000      | 0xf0004000     | UART1
108                     0x80008000      | 0xf0008000     | UART2
109                     0x8000c000      | 0xf000c000     | UART3
110                     0x80010000      | 0xf0010000     | UART4
111                     0x80014000      | 0xf0014000     | UART5
112                     0x80018000      | 0xf0018000     | UART6
113                     0x8001c000      | 0xf001c000     | UART7
114                     0x80020000      | 0xf0020000     | UART8
115                     0x80024000      | 0xf0024000     | UART9
116
117         config AT91_DEBUG_LL_DBGU0
118                 bool "Kernel low-level debugging on rm9200, 9260/9g20, 9261/9g10, 9rl, 9x5, 9n12"
119                 select DEBUG_AT91_UART
120                 depends on ARCH_AT91
121                 depends on SOC_AT91RM9200 || SOC_AT91SAM9
122
123         config AT91_DEBUG_LL_DBGU1
124                 bool "Kernel low-level debugging on 9263, 9g45 and sama5d3"
125                 select DEBUG_AT91_UART
126                 depends on ARCH_AT91
127                 depends on SOC_AT91SAM9 || SOC_SAMA5
128
129         config AT91_DEBUG_LL_DBGU2
130                 bool "Kernel low-level debugging on sama5d4"
131                 select DEBUG_AT91_UART
132                 depends on ARCH_AT91
133                 depends on SOC_SAMA5
134
135         config DEBUG_BCM2835
136                 bool "Kernel low-level debugging on BCM2835 PL011 UART"
137                 depends on ARCH_BCM2835
138                 select DEBUG_UART_PL01X
139
140         config DEBUG_BCM_5301X
141                 bool "Kernel low-level debugging on BCM5301X UART1"
142                 depends on ARCH_BCM_5301X
143                 select DEBUG_UART_8250
144
145         config DEBUG_BCM_KONA_UART
146                 bool "Kernel low-level debugging messages via BCM KONA UART"
147                 depends on ARCH_BCM_MOBILE
148                 select DEBUG_UART_8250
149                 help
150                   Say Y here if you want kernel low-level debugging support
151                   on Broadcom SoC platforms.
152                   This low level debug works for Broadcom
153                   mobile SoCs in the Kona family of chips (e.g. bcm28155,
154                   bcm11351, etc...)
155
156         config DEBUG_BCM63XX
157                 bool "Kernel low-level debugging on BCM63XX UART"
158                 depends on ARCH_BCM_63XX
159                 select DEBUG_UART_BCM63XX
160
161         config DEBUG_BERLIN_UART
162                 bool "Marvell Berlin SoC Debug UART"
163                 depends on ARCH_BERLIN
164                 select DEBUG_UART_8250
165                 help
166                   Say Y here if you want kernel low-level debugging support
167                   on Marvell Berlin SoC based platforms.
168
169         config DEBUG_BRCMSTB_UART
170                 bool "Use BRCMSTB UART for low-level debug"
171                 depends on ARCH_BRCMSTB
172                 select DEBUG_UART_8250
173                 help
174                   Say Y here if you want the debug print routines to direct
175                   their output to the first serial port on these devices.
176
177                   If you have a Broadcom STB chip and would like early print
178                   messages to appear over the UART, select this option.
179
180         config DEBUG_CLPS711X_UART1
181                 bool "Kernel low-level debugging messages via UART1"
182                 depends on ARCH_CLPS711X
183                 help
184                   Say Y here if you want the debug print routines to direct
185                   their output to the first serial port on these devices.
186
187         config DEBUG_CLPS711X_UART2
188                 bool "Kernel low-level debugging messages via UART2"
189                 depends on ARCH_CLPS711X
190                 help
191                   Say Y here if you want the debug print routines to direct
192                   their output to the second serial port on these devices.
193
194         config DEBUG_CNS3XXX
195                 bool "Kernel Kernel low-level debugging on Cavium Networks CNS3xxx"
196                 depends on ARCH_CNS3XXX
197                 select DEBUG_UART_8250
198                 help
199                   Say Y here if you want the debug print routines to direct
200                   their output to the CNS3xxx UART0.
201
202         config DEBUG_DAVINCI_DA8XX_UART1
203                 bool "Kernel low-level debugging on DaVinci DA8XX using UART1"
204                 depends on ARCH_DAVINCI_DA8XX
205                 select DEBUG_UART_8250
206                 help
207                   Say Y here if you want the debug print routines to direct
208                   their output to UART1 serial port on DaVinci DA8XX devices.
209
210         config DEBUG_DAVINCI_DA8XX_UART2
211                 bool "Kernel low-level debugging on DaVinci DA8XX using UART2"
212                 depends on ARCH_DAVINCI_DA8XX
213                 select DEBUG_UART_8250
214                 help
215                   Say Y here if you want the debug print routines to direct
216                   their output to UART2 serial port on DaVinci DA8XX devices.
217
218         config DEBUG_DAVINCI_DMx_UART0
219                 bool "Kernel low-level debugging on DaVinci DMx using UART0"
220                 depends on ARCH_DAVINCI_DMx
221                 select DEBUG_UART_8250
222                 help
223                   Say Y here if you want the debug print routines to direct
224                   their output to UART0 serial port on DaVinci DMx devices.
225
226         config DEBUG_ZYNQ_UART0
227                 bool "Kernel low-level debugging on Xilinx Zynq using UART0"
228                 depends on ARCH_ZYNQ
229                 help
230                   Say Y here if you want the debug print routines to direct
231                   their output to UART0 on the Zynq platform.
232
233         config DEBUG_ZYNQ_UART1
234                 bool "Kernel low-level debugging on Xilinx Zynq using UART1"
235                 depends on ARCH_ZYNQ
236                 help
237                   Say Y here if you want the debug print routines to direct
238                   their output to UART1 on the Zynq platform.
239
240                   If you have a ZC702 board and want early boot messages to
241                   appear on the USB serial adaptor, select this option.
242
243         config DEBUG_DC21285_PORT
244                 bool "Kernel low-level debugging messages via footbridge serial port"
245                 depends on FOOTBRIDGE
246                 help
247                   Say Y here if you want the debug print routines to direct
248                   their output to the serial port in the DC21285 (Footbridge).
249
250         config DEBUG_DIGICOLOR_UA0
251                 bool "Kernel low-level debugging messages via Digicolor UA0"
252                 depends on ARCH_DIGICOLOR
253                 help
254                   Say Y here if you want the debug print routines to direct
255                   their output to the UA0 serial port in the CX92755.
256
257         config DEBUG_FOOTBRIDGE_COM1
258                 bool "Kernel low-level debugging messages via footbridge 8250 at PCI COM1"
259                 depends on FOOTBRIDGE
260                 help
261                   Say Y here if you want the debug print routines to direct
262                   their output to the 8250 at PCI COM1.
263
264         config DEBUG_HI3620_UART
265                 bool "Hisilicon HI3620 Debug UART"
266                 depends on ARCH_HI3xxx
267                 select DEBUG_UART_PL01X
268                 help
269                   Say Y here if you want kernel low-level debugging support
270                   on HI3620 UART.
271
272         config DEBUG_HI3716_UART
273                 bool "Hisilicon Hi3716 Debug UART"
274                 depends on ARCH_HI3xxx
275                 select DEBUG_UART_PL01X
276                 help
277                   Say Y here if you want kernel low-level debugging support
278                   on HI3716 UART.
279
280         config DEBUG_HIGHBANK_UART
281                 bool "Kernel low-level debugging messages via Highbank UART"
282                 depends on ARCH_HIGHBANK
283                 select DEBUG_UART_PL01X
284                 help
285                   Say Y here if you want the debug print routines to direct
286                   their output to the UART on Highbank based devices.
287
288         config DEBUG_HIP01_UART
289                 bool "Hisilicon Hip01 Debug UART"
290                 depends on ARCH_HIP01
291                 select DEBUG_UART_8250
292                 help
293                   Say Y here if you want kernel low-level debugging support
294                   on HIP01 UART.
295
296         config DEBUG_HIP04_UART
297                 bool "Hisilicon HiP04 Debug UART"
298                 depends on ARCH_HIP04
299                 select DEBUG_UART_8250
300                 help
301                   Say Y here if you want kernel low-level debugging support
302                   on HIP04 UART.
303
304         config DEBUG_HIX5HD2_UART
305                 bool "Hisilicon Hix5hd2 Debug UART"
306                 depends on ARCH_HIX5HD2
307                 select DEBUG_UART_PL01X
308                 help
309                   Say Y here if you want kernel low-level debugging support
310                   on Hix5hd2 UART.
311
312         config DEBUG_IMX1_UART
313                 bool "i.MX1 Debug UART"
314                 depends on SOC_IMX1
315                 help
316                   Say Y here if you want kernel low-level debugging support
317                   on i.MX1.
318
319         config DEBUG_IMX23_UART
320                 bool "i.MX23 Debug UART"
321                 depends on SOC_IMX23
322                 select DEBUG_UART_PL01X
323                 help
324                   Say Y here if you want kernel low-level debugging support
325                   on i.MX23.
326
327         config DEBUG_IMX25_UART
328                 bool "i.MX25 Debug UART"
329                 depends on SOC_IMX25
330                 help
331                   Say Y here if you want kernel low-level debugging support
332                   on i.MX25.
333
334         config DEBUG_IMX21_IMX27_UART
335                 bool "i.MX21 and i.MX27 Debug UART"
336                 depends on SOC_IMX21 || SOC_IMX27
337                 help
338                   Say Y here if you want kernel low-level debugging support
339                   on i.MX21 or i.MX27.
340
341         config DEBUG_IMX28_UART
342                 bool "i.MX28 Debug UART"
343                 depends on SOC_IMX28
344                 select DEBUG_UART_PL01X
345                 help
346                   Say Y here if you want kernel low-level debugging support
347                   on i.MX28.
348
349         config DEBUG_IMX31_UART
350                 bool "i.MX31 Debug UART"
351                 depends on SOC_IMX31
352                 help
353                   Say Y here if you want kernel low-level debugging support
354                   on i.MX31.
355
356         config DEBUG_IMX35_UART
357                 bool "i.MX35 Debug UART"
358                 depends on SOC_IMX35
359                 help
360                   Say Y here if you want kernel low-level debugging support
361                   on i.MX35.
362
363         config DEBUG_IMX50_UART
364                 bool "i.MX50 Debug UART"
365                 depends on SOC_IMX50
366                 help
367                   Say Y here if you want kernel low-level debugging support
368                   on i.MX50.
369
370         config DEBUG_IMX51_UART
371                 bool "i.MX51 Debug UART"
372                 depends on SOC_IMX51
373                 help
374                   Say Y here if you want kernel low-level debugging support
375                   on i.MX51.
376
377         config DEBUG_IMX53_UART
378                 bool "i.MX53 Debug UART"
379                 depends on SOC_IMX53
380                 help
381                   Say Y here if you want kernel low-level debugging support
382                   on i.MX53.
383
384         config DEBUG_IMX6Q_UART
385                 bool "i.MX6Q/DL Debug UART"
386                 depends on SOC_IMX6Q
387                 help
388                   Say Y here if you want kernel low-level debugging support
389                   on i.MX6Q/DL.
390
391         config DEBUG_IMX6SL_UART
392                 bool "i.MX6SL Debug UART"
393                 depends on SOC_IMX6SL
394                 help
395                   Say Y here if you want kernel low-level debugging support
396                   on i.MX6SL.
397
398         config DEBUG_IMX6SX_UART
399                 bool "i.MX6SX Debug UART"
400                 depends on SOC_IMX6SX
401                 help
402                   Say Y here if you want kernel low-level debugging support
403                   on i.MX6SX.
404
405         config DEBUG_KEYSTONE_UART0
406                 bool "Kernel low-level debugging on KEYSTONE2 using UART0"
407                 depends on ARCH_KEYSTONE
408                 select DEBUG_UART_8250
409                 help
410                   Say Y here if you want the debug print routines to direct
411                   their output to UART0 serial port on KEYSTONE2 devices.
412
413         config DEBUG_KEYSTONE_UART1
414                 bool "Kernel low-level debugging on KEYSTONE2 using UART1"
415                 depends on ARCH_KEYSTONE
416                 select DEBUG_UART_8250
417                 help
418                   Say Y here if you want the debug print routines to direct
419                   their output to UART1 serial port on KEYSTONE2 devices.
420
421         config DEBUG_KS8695_UART
422                 bool "KS8695 Debug UART"
423                 depends on ARCH_KS8695
424                 help
425                   Say Y here if you want kernel low-level debugging support
426                   on KS8695.
427
428         config DEBUG_MESON_UARTAO
429                 bool "Kernel low-level debugging via Meson6 UARTAO"
430                 depends on ARCH_MESON
431                 help
432                   Say Y here if you want kernel low-lever debugging support
433                   on Amlogic Meson6 based platforms on the UARTAO.
434
435         config DEBUG_MMP_UART2
436                 bool "Kernel low-level debugging message via MMP UART2"
437                 depends on ARCH_MMP
438                 select DEBUG_UART_8250
439                 help
440                   Say Y here if you want kernel low-level debugging support
441                   on MMP UART2.
442
443         config DEBUG_MMP_UART3
444                 bool "Kernel low-level debugging message via MMP UART3"
445                 depends on ARCH_MMP
446                 select DEBUG_UART_8250
447                 help
448                   Say Y here if you want kernel low-level debugging support
449                   on MMP UART3.
450
451         config DEBUG_QCOM_UARTDM
452                 bool "Kernel low-level debugging messages via QCOM UARTDM"
453                 depends on ARCH_QCOM
454                 help
455                   Say Y here if you want the debug print routines to direct
456                   their output to the serial port on Qualcomm devices.
457
458                   ARCH      DEBUG_UART_PHYS   DEBUG_UART_VIRT
459                   APQ8064   0x16640000        0xf0040000
460                   APQ8084   0xf995e000        0xfa75e000
461                   MSM8X60   0x19c40000        0xf0040000
462                   MSM8960   0x16440000        0xf0040000
463                   MSM8974   0xf991e000        0xfa71e000
464
465                   Please adjust DEBUG_UART_PHYS and DEBUG_UART_BASE configuration
466                   options based on your needs.
467
468         config DEBUG_MVEBU_UART0
469                 bool "Kernel low-level debugging messages via MVEBU UART0 (old bootloaders)"
470                 depends on ARCH_MVEBU
471                 select DEBUG_UART_8250
472                 help
473                   Say Y here if you want kernel low-level debugging support
474                   on MVEBU based platforms on UART0.
475
476                   This option should be used with the old bootloaders
477                   that left the internal registers mapped at
478                   0xd0000000. As of today, this is the case on
479                   platforms such as the Globalscale Mirabox or the
480                   Plathome OpenBlocks AX3, when using the original
481                   bootloader.
482
483                   If the wrong DEBUG_MVEBU_UART* option is selected,
484                   when u-boot hands over to the kernel, the system
485                   silently crashes, with no serial output at all.
486
487         config DEBUG_MVEBU_UART0_ALTERNATE
488                 bool "Kernel low-level debugging messages via MVEBU UART0 (new bootloaders)"
489                 depends on ARCH_MVEBU
490                 select DEBUG_UART_8250
491                 help
492                   Say Y here if you want kernel low-level debugging support
493                   on MVEBU based platforms on UART0.
494
495                   This option should be used with the new bootloaders
496                   that remap the internal registers at 0xf1000000.
497
498                   If the wrong DEBUG_MVEBU_UART* option is selected,
499                   when u-boot hands over to the kernel, the system
500                   silently crashes, with no serial output at all.
501
502         config DEBUG_MVEBU_UART1_ALTERNATE
503                 bool "Kernel low-level debugging messages via MVEBU UART1 (new bootloaders)"
504                 depends on ARCH_MVEBU
505                 select DEBUG_UART_8250
506                 help
507                   Say Y here if you want kernel low-level debugging support
508                   on MVEBU based platforms on UART1.
509
510                   This option should be used with the new bootloaders
511                   that remap the internal registers at 0xf1000000.
512
513                   If the wrong DEBUG_MVEBU_UART* option is selected,
514                   when u-boot hands over to the kernel, the system
515                   silently crashes, with no serial output at all.
516
517         config DEBUG_VF_UART
518                 bool "Vybrid UART"
519                 depends on SOC_VF610
520                 help
521                   Say Y here if you want kernel low-level debugging support
522                   on Vybrid based platforms.
523
524         config DEBUG_NETX_UART
525                 bool "Kernel low-level debugging messages via NetX UART"
526                 depends on ARCH_NETX
527                 help
528                   Say Y here if you want kernel low-level debugging support
529                   on Hilscher NetX based platforms.
530
531         config DEBUG_NOMADIK_UART
532                 bool "Kernel low-level debugging messages via NOMADIK UART"
533                 depends on ARCH_NOMADIK
534                 select DEBUG_UART_PL01X
535                 help
536                   Say Y here if you want kernel low-level debugging support
537                   on NOMADIK based platforms.
538
539         config DEBUG_NSPIRE_CLASSIC_UART
540                 bool "Kernel low-level debugging via TI-NSPIRE 8250 UART"
541                 depends on ARCH_NSPIRE
542                 select DEBUG_UART_8250
543                 help
544                   Say Y here if you want kernel low-level debugging support
545                   on TI-NSPIRE classic models.
546
547         config DEBUG_NSPIRE_CX_UART
548                 bool "Kernel low-level debugging via TI-NSPIRE PL011 UART"
549                 depends on ARCH_NSPIRE
550                 select DEBUG_UART_PL01X
551                 help
552                   Say Y here if you want kernel low-level debugging support
553                   on TI-NSPIRE CX models.
554
555         config DEBUG_OMAP1UART1
556                 bool "Kernel low-level debugging via OMAP1 UART1"
557                 depends on ARCH_OMAP1
558                 select DEBUG_UART_8250
559                 help
560                   Say Y here if you want kernel low-level debugging support
561                   on OMAP1 based platforms (except OMAP730) on the UART1.
562
563         config DEBUG_OMAP1UART2
564                 bool "Kernel low-level debugging via OMAP1 UART2"
565                 depends on ARCH_OMAP1
566                 select DEBUG_UART_8250
567                 help
568                   Say Y here if you want kernel low-level debugging support
569                   on OMAP1 based platforms (except OMAP730) on the UART2.
570
571         config DEBUG_OMAP1UART3
572                 bool "Kernel low-level debugging via OMAP1 UART3"
573                 depends on ARCH_OMAP1
574                 select DEBUG_UART_8250
575                 help
576                   Say Y here if you want kernel low-level debugging support
577                   on OMAP1 based platforms (except OMAP730) on the UART3.
578
579         config DEBUG_OMAP2UART1
580                 bool "OMAP2/3/4 UART1 (omap2/3 sdp boards and some omap3 boards)"
581                 depends on ARCH_OMAP2PLUS
582                 select DEBUG_OMAP2PLUS_UART
583                 help
584                   This covers at least h4, 2430sdp, 3430sdp, 3630sdp,
585                   omap3 torpedo and 3530 lv som.
586
587         config DEBUG_OMAP2UART2
588                 bool "Kernel low-level debugging messages via OMAP2/3/4 UART2"
589                 depends on ARCH_OMAP2PLUS
590                 select DEBUG_OMAP2PLUS_UART
591
592         config DEBUG_OMAP2UART3
593                 bool "Kernel low-level debugging messages via OMAP2 UART3 (n8x0)"
594                 depends on ARCH_OMAP2PLUS
595                 select DEBUG_OMAP2PLUS_UART
596
597         config DEBUG_OMAP3UART3
598                 bool "Kernel low-level debugging messages via OMAP3 UART3 (most omap3 boards)"
599                 depends on ARCH_OMAP2PLUS
600                 select DEBUG_OMAP2PLUS_UART
601                 help
602                   This covers at least cm_t3x, beagle, crane, devkit8000,
603                   igep00x0, ldp, n900, n9(50), pandora, overo, touchbook,
604                   and 3517evm.
605
606         config DEBUG_OMAP4UART3
607                 bool "Kernel low-level debugging messages via OMAP4/5 UART3 (omap4 blaze, panda, omap5 sevm)"
608                 depends on ARCH_OMAP2PLUS
609                 select DEBUG_OMAP2PLUS_UART
610
611         config DEBUG_OMAP3UART4
612                 bool "Kernel low-level debugging messages via OMAP36XX UART4"
613                 depends on ARCH_OMAP2PLUS
614                 select DEBUG_OMAP2PLUS_UART
615
616         config DEBUG_OMAP4UART4
617                 bool "Kernel low-level debugging messages via OMAP4/5 UART4"
618                 depends on ARCH_OMAP2PLUS
619                 select DEBUG_OMAP2PLUS_UART
620
621         config DEBUG_OMAP7XXUART1
622                 bool "Kernel low-level debugging via OMAP730 UART1"
623                 depends on ARCH_OMAP730
624                 select DEBUG_UART_8250
625                 help
626                   Say Y here if you want kernel low-level debugging support
627                   on OMAP730 based platforms on the UART1.
628
629         config DEBUG_OMAP7XXUART2
630                 bool "Kernel low-level debugging via OMAP730 UART2"
631                 depends on ARCH_OMAP730
632                 select DEBUG_UART_8250
633                 help
634                   Say Y here if you want kernel low-level debugging support
635                   on OMAP730 based platforms on the UART2.
636
637         config DEBUG_OMAP7XXUART3
638                 bool "Kernel low-level debugging via OMAP730 UART3"
639                 depends on ARCH_OMAP730
640                 select DEBUG_UART_8250
641                 help
642                   Say Y here if you want kernel low-level debugging support
643                   on OMAP730 based platforms on the UART3.
644
645         config DEBUG_TI81XXUART1
646                 bool "Kernel low-level debugging messages via TI81XX UART1 (ti8148evm)"
647                 depends on ARCH_OMAP2PLUS
648                 select DEBUG_OMAP2PLUS_UART
649
650         config DEBUG_TI81XXUART2
651                 bool "Kernel low-level debugging messages via TI81XX UART2"
652                 depends on ARCH_OMAP2PLUS
653                 select DEBUG_OMAP2PLUS_UART
654
655         config DEBUG_TI81XXUART3
656                 bool "Kernel low-level debugging messages via TI81XX UART3 (ti8168evm)"
657                 depends on ARCH_OMAP2PLUS
658                 select DEBUG_OMAP2PLUS_UART
659
660         config DEBUG_AM33XXUART1
661                 bool "Kernel low-level debugging messages via AM33XX UART1"
662                 depends on ARCH_OMAP2PLUS
663                 select DEBUG_OMAP2PLUS_UART
664
665         config DEBUG_ZOOM_UART
666                 bool "Kernel low-level debugging messages via Zoom2/3 UART"
667                 depends on ARCH_OMAP2PLUS
668                 select DEBUG_OMAP2PLUS_UART
669
670         config DEBUG_PICOXCELL_UART
671                 depends on ARCH_PICOXCELL
672                 bool "Use PicoXcell UART for low-level debug"
673                 select DEBUG_UART_8250
674                 help
675                   Say Y here if you want kernel low-level debugging support
676                   on PicoXcell based platforms.
677
678         config DEBUG_PXA_UART1
679                 depends on ARCH_PXA
680                 bool "Use PXA UART1 for low-level debug"
681                 select DEBUG_UART_8250
682                 help
683                   Say Y here if you want kernel low-level debugging support
684                   on PXA UART1.
685
686         config DEBUG_REALVIEW_STD_PORT
687                 bool "RealView Default UART"
688                 depends on ARCH_REALVIEW
689                 select DEBUG_UART_PL01X
690                 help
691                   Say Y here if you want the debug print routines to direct
692                   their output to the serial port on RealView EB, PB11MP, PBA8
693                   and PBX platforms.
694
695         config DEBUG_REALVIEW_PB1176_PORT
696                 bool "RealView PB1176 UART"
697                 depends on MACH_REALVIEW_PB1176
698                 select DEBUG_UART_PL01X
699                 help
700                   Say Y here if you want the debug print routines to direct
701                   their output to the standard serial port on the RealView
702                   PB1176 platform.
703
704         config DEBUG_RK29_UART0
705                 bool "Kernel low-level debugging messages via Rockchip RK29 UART0"
706                 depends on ARCH_ROCKCHIP
707                 select DEBUG_UART_8250
708                 help
709                   Say Y here if you want kernel low-level debugging support
710                   on Rockchip based platforms.
711
712         config DEBUG_RK29_UART1
713                 bool "Kernel low-level debugging messages via Rockchip RK29 UART1"
714                 depends on ARCH_ROCKCHIP
715                 select DEBUG_UART_8250
716                 help
717                   Say Y here if you want kernel low-level debugging support
718                   on Rockchip based platforms.
719
720         config DEBUG_RK29_UART2
721                 bool "Kernel low-level debugging messages via Rockchip RK29 UART2"
722                 depends on ARCH_ROCKCHIP
723                 select DEBUG_UART_8250
724                 help
725                   Say Y here if you want kernel low-level debugging support
726                   on Rockchip based platforms.
727
728         config DEBUG_RK3X_UART0
729                 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART0"
730                 depends on ARCH_ROCKCHIP
731                 select DEBUG_UART_8250
732                 help
733                   Say Y here if you want kernel low-level debugging support
734                   on Rockchip based platforms.
735
736         config DEBUG_RK3X_UART1
737                 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART1"
738                 depends on ARCH_ROCKCHIP
739                 select DEBUG_UART_8250
740                 help
741                   Say Y here if you want kernel low-level debugging support
742                   on Rockchip based platforms.
743
744         config DEBUG_RK3X_UART2
745                 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART2"
746                 depends on ARCH_ROCKCHIP
747                 select DEBUG_UART_8250
748                 help
749                   Say Y here if you want kernel low-level debugging support
750                   on Rockchip based platforms.
751
752         config DEBUG_RK3X_UART3
753                 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART3"
754                 depends on ARCH_ROCKCHIP
755                 select DEBUG_UART_8250
756                 help
757                   Say Y here if you want kernel low-level debugging support
758                   on Rockchip based platforms.
759
760         config DEBUG_RK32_UART2
761                 bool "Kernel low-level debugging messages via Rockchip RK32 UART2"
762                 depends on ARCH_ROCKCHIP
763                 select DEBUG_UART_8250
764                 help
765                   Say Y here if you want kernel low-level debugging support
766                   on Rockchip RK32xx based platforms.
767
768         config DEBUG_R7S72100_SCIF2
769                 bool "Kernel low-level debugging messages via SCIF2 on R7S72100"
770                 depends on ARCH_R7S72100
771                 help
772                   Say Y here if you want kernel low-level debugging support
773                   via SCIF2 on Renesas RZ/A1H (R7S72100).
774
775         config DEBUG_RCAR_GEN1_SCIF0
776                 bool "Kernel low-level debugging messages via SCIF0 on R8A7778"
777                 depends on ARCH_R8A7778
778                 help
779                   Say Y here if you want kernel low-level debugging support
780                   via SCIF0 on Renesas R-Car M1A (R8A7778).
781
782         config DEBUG_RCAR_GEN1_SCIF2
783                 bool "Kernel low-level debugging messages via SCIF2 on R8A7779"
784                 depends on ARCH_R8A7779
785                 help
786                   Say Y here if you want kernel low-level debugging support
787                   via SCIF2 on Renesas R-Car H1 (R8A7779).
788
789         config DEBUG_RCAR_GEN2_SCIF0
790                 bool "Kernel low-level debugging messages via SCIF0 on R8A7790/R8A7791/R8A7793"
791                 depends on ARCH_R8A7790 || ARCH_R8A7791 || ARCH_R8A7793
792                 help
793                   Say Y here if you want kernel low-level debugging support
794                   via SCIF0 on Renesas R-Car H2 (R8A7790), M2-W (R8A7791), or
795                   M2-N (R8A7793).
796
797         config DEBUG_RCAR_GEN2_SCIF2
798                 bool "Kernel low-level debugging messages via SCIF2 on R8A7794"
799                 depends on ARCH_R8A7794
800                 help
801                   Say Y here if you want kernel low-level debugging support
802                   via SCIF2 on Renesas R-Car E2 (R8A7794).
803
804         config DEBUG_RMOBILE_SCIFA0
805                 bool "Kernel low-level debugging messages via SCIFA0 on R8A73A4/SH7372"
806                 depends on ARCH_R8A73A4 || ARCH_SH7372
807                 help
808                   Say Y here if you want kernel low-level debugging support
809                   via SCIFA0 on Renesas R-Mobile APE6 (R8A73A4) or SH-Mobile
810                   AP4 (SH7372).
811
812         config DEBUG_RMOBILE_SCIFA1
813                 bool "Kernel low-level debugging messages via SCIFA1 on R8A7740"
814                 depends on ARCH_R8A7740
815                 help
816                   Say Y here if you want kernel low-level debugging support
817                   via SCIFA1 on Renesas R-Mobile A1 (R8A7740).
818
819         config DEBUG_RMOBILE_SCIFA4
820                 bool "Kernel low-level debugging messages via SCIFA4 on SH73A0"
821                 depends on ARCH_SH73A0
822                 help
823                   Say Y here if you want kernel low-level debugging support
824                   via SCIFA4 on Renesas SH-Mobile AG5 (SH73A0).
825
826         config DEBUG_S3C_UART0
827                 depends on PLAT_SAMSUNG
828                 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
829                 select DEBUG_S3C24XX_UART if ARCH_S3C24XX
830                 select DEBUG_S5PV210_UART if ARCH_S5PV210
831                 bool "Use Samsung S3C UART 0 for low-level debug"
832                 help
833                   Say Y here if you want the debug print routines to direct
834                   their output to UART 0. The port must have been initialised
835                   by the boot-loader before use.
836
837         config DEBUG_S3C_UART1
838                 depends on PLAT_SAMSUNG
839                 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
840                 select DEBUG_S3C24XX_UART if ARCH_S3C24XX
841                 select DEBUG_S5PV210_UART if ARCH_S5PV210
842                 bool "Use Samsung S3C UART 1 for low-level debug"
843                 help
844                   Say Y here if you want the debug print routines to direct
845                   their output to UART 1. The port must have been initialised
846                   by the boot-loader before use.
847
848         config DEBUG_S3C_UART2
849                 depends on PLAT_SAMSUNG
850                 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
851                 select DEBUG_S3C24XX_UART if ARCH_S3C24XX
852                 select DEBUG_S5PV210_UART if ARCH_S5PV210
853                 bool "Use Samsung S3C UART 2 for low-level debug"
854                 help
855                   Say Y here if you want the debug print routines to direct
856                   their output to UART 2. The port must have been initialised
857                   by the boot-loader before use.
858
859         config DEBUG_S3C_UART3
860                 depends on PLAT_SAMSUNG && (ARCH_EXYNOS || ARCH_S5PV210)
861                 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
862                 select DEBUG_S5PV210_UART if ARCH_S5PV210
863                 bool "Use Samsung S3C UART 3 for low-level debug"
864                 help
865                   Say Y here if you want the debug print routines to direct
866                   their output to UART 3. The port must have been initialised
867                   by the boot-loader before use.
868
869         config DEBUG_S3C2410_UART0
870                 depends on ARCH_S3C24XX
871                 select DEBUG_S3C2410_UART
872                 bool "Use S3C2410/S3C2412 UART 0 for low-level debug"
873                 help
874                   Say Y here if you want the debug print routines to direct
875                   their output to UART 0. The port must have been initialised
876                   by the boot-loader before use.
877
878         config DEBUG_S3C2410_UART1
879                 depends on ARCH_S3C24XX
880                 select DEBUG_S3C2410_UART
881                 bool "Use S3C2410/S3C2412 UART 1 for low-level debug"
882                 help
883                   Say Y here if you want the debug print routines to direct
884                   their output to UART 1. The port must have been initialised
885                   by the boot-loader before use.
886
887         config DEBUG_S3C2410_UART2
888                 depends on ARCH_S3C24XX
889                 select DEBUG_S3C2410_UART
890                 bool "Use S3C2410/S3C2412 UART 2 for low-level debug"
891                 help
892                   Say Y here if you want the debug print routines to direct
893                   their output to UART 2. The port must have been initialised
894                   by the boot-loader before use.
895
896         config DEBUG_SA1100
897                 depends on ARCH_SA1100
898                 bool "Use SA1100 UARTs for low-level debug"
899                 help
900                   Say Y here if you want kernel low-level debugging support
901                   on SA-11x0 UART ports. The kernel will check for the first
902                   enabled UART in a sequence 3-1-2.
903
904         config DEBUG_SOCFPGA_UART
905                 depends on ARCH_SOCFPGA
906                 bool "Use SOCFPGA UART for low-level debug"
907                 select DEBUG_UART_8250
908                 help
909                   Say Y here if you want kernel low-level debugging support
910                   on SOCFPGA based platforms.
911
912         config DEBUG_SUN9I_UART0
913                 bool "Kernel low-level debugging messages via sun9i UART0"
914                 depends on MACH_SUN9I
915                 select DEBUG_UART_8250
916                 help
917                   Say Y here if you want kernel low-level debugging support
918                   on Allwinner A80 based platforms on the UART0.
919
920         config DEBUG_SUNXI_UART0
921                 bool "Kernel low-level debugging messages via sunXi UART0"
922                 depends on ARCH_SUNXI
923                 select DEBUG_UART_8250
924                 help
925                   Say Y here if you want kernel low-level debugging support
926                   on Allwinner A1X based platforms on the UART0.
927
928         config DEBUG_SUNXI_UART1
929                 bool "Kernel low-level debugging messages via sunXi UART1"
930                 depends on ARCH_SUNXI
931                 select DEBUG_UART_8250
932                 help
933                   Say Y here if you want kernel low-level debugging support
934                   on Allwinner A1X based platforms on the UART1.
935
936         config DEBUG_SUNXI_R_UART
937                 bool "Kernel low-level debugging messages via sunXi R_UART"
938                 depends on MACH_SUN6I || MACH_SUN8I
939                 select DEBUG_UART_8250
940                 help
941                   Say Y here if you want kernel low-level debugging support
942                   on Allwinner A31/A23 based platforms on the R_UART.
943
944         config TEGRA_DEBUG_UART_AUTO_ODMDATA
945                 bool "Kernel low-level debugging messages via Tegra UART via ODMDATA"
946                 depends on ARCH_TEGRA
947                 select DEBUG_TEGRA_UART
948                 help
949                   Automatically determines which UART to use for low-level
950                   debug based on the ODMDATA value. This value is part of
951                   the BCT, and is written to the boot memory device using
952                   nvflash, or other flashing tool.  When bits 19:18 are 3,
953                   then bits 17:15 indicate which UART to use; 0/1/2/3/4
954                   are UART A/B/C/D/E.
955
956         config TEGRA_DEBUG_UARTA
957                 bool "Kernel low-level debugging messages via Tegra UART A"
958                 depends on ARCH_TEGRA
959                 select DEBUG_TEGRA_UART
960                 help
961                   Say Y here if you want kernel low-level debugging support
962                   on Tegra based platforms.
963
964         config TEGRA_DEBUG_UARTB
965                 bool "Kernel low-level debugging messages via Tegra UART B"
966                 depends on ARCH_TEGRA
967                 select DEBUG_TEGRA_UART
968                 help
969                   Say Y here if you want kernel low-level debugging support
970                   on Tegra based platforms.
971
972         config TEGRA_DEBUG_UARTC
973                 bool "Kernel low-level debugging messages via Tegra UART C"
974                 depends on ARCH_TEGRA
975                 select DEBUG_TEGRA_UART
976                 help
977                   Say Y here if you want kernel low-level debugging support
978                   on Tegra based platforms.
979
980         config TEGRA_DEBUG_UARTD
981                 bool "Kernel low-level debugging messages via Tegra UART D"
982                 depends on ARCH_TEGRA
983                 select DEBUG_TEGRA_UART
984                 help
985                   Say Y here if you want kernel low-level debugging support
986                   on Tegra based platforms.
987
988         config TEGRA_DEBUG_UARTE
989                 bool "Kernel low-level debugging messages via Tegra UART E"
990                 depends on ARCH_TEGRA
991                 select DEBUG_TEGRA_UART
992                 help
993                   Say Y here if you want kernel low-level debugging support
994                   on Tegra based platforms.
995
996         config DEBUG_SIRFPRIMA2_UART1
997                 bool "Kernel low-level debugging messages via SiRFprimaII UART1"
998                 depends on ARCH_PRIMA2
999                 select DEBUG_SIRFSOC_UART
1000                 help
1001                   Say Y here if you want the debug print routines to direct
1002                   their output to the uart1 port on SiRFprimaII devices.
1003
1004         config DEBUG_SIRFATLAS7_UART0
1005                 bool "Kernel low-level debugging messages via SiRFatlas7 UART0"
1006                 depends on ARCH_ATLAS7
1007                 select DEBUG_SIRFSOC_UART
1008                 help
1009                   Say Y here if you want the debug print routines to direct
1010                   their output to the uart0 port on SiRFATLAS7 devices.The uart0
1011                   is used on SiRFATLAS7 as a extra debug port.sometimes an extra
1012                   debug port can be very useful.
1013
1014         config DEBUG_SIRFATLAS7_UART1
1015                 bool "Kernel low-level debugging messages via SiRFatlas7 UART1"
1016                 depends on ARCH_ATLAS7
1017                 select DEBUG_SIRFSOC_UART
1018                 help
1019                   Say Y here if you want the debug print routines to direct
1020                   their output to the uart1 port on SiRFATLAS7 devices.
1021
1022         config STIH41X_DEBUG_ASC2
1023                 bool "Use StiH415/416 ASC2 UART for low-level debug"
1024                 depends on ARCH_STI
1025                 select DEBUG_STI_UART
1026                 help
1027                   Say Y here if you want kernel low-level debugging support
1028                   on STiH415/416 based platforms like b2000, which has
1029                   default UART wired up to ASC2.
1030
1031                   If unsure, say N.
1032
1033         config STIH41X_DEBUG_SBC_ASC1
1034                 bool "Use StiH415/416 SBC ASC1 UART for low-level debug"
1035                 depends on ARCH_STI
1036                 select DEBUG_STI_UART
1037                 help
1038                   Say Y here if you want kernel low-level debugging support
1039                   on STiH415/416 based platforms like b2020. which has
1040                   default UART wired up to SBC ASC1.
1041
1042                   If unsure, say N.
1043
1044         config DEBUG_U300_UART
1045                 bool "Kernel low-level debugging messages via U300 UART0"
1046                 depends on ARCH_U300
1047                 select DEBUG_UART_PL01X
1048                 help
1049                   Say Y here if you want the debug print routines to direct
1050                   their output to the uart port on U300 devices.
1051
1052         config DEBUG_UX500_UART
1053                 depends on ARCH_U8500
1054                 bool "Use Ux500 UART for low-level debug"
1055                 help
1056                   Say Y here if you want kernel low-level debugging support
1057                   on Ux500 based platforms.
1058
1059         config DEBUG_MT6589_UART0
1060                 bool "Mediatek mt6589 UART0"
1061                 depends on ARCH_MEDIATEK
1062                 select DEBUG_UART_8250
1063                 help
1064                   Say Y here if you want kernel low-level debugging support
1065                   for Mediatek mt6589 based platforms on UART0.
1066
1067         config DEBUG_MT8127_UART0
1068                 bool "Mediatek mt8127/mt6592 UART0"
1069                 depends on ARCH_MEDIATEK
1070                 select DEBUG_UART_8250
1071                 help
1072                   Say Y here if you want kernel low-level debugging support
1073                   for Mediatek mt8127 based platforms on UART0.
1074
1075         config DEBUG_MT8135_UART3
1076                 bool "Mediatek mt8135 UART3"
1077                 depends on ARCH_MEDIATEK
1078                 select DEBUG_UART_8250
1079                 help
1080                   Say Y here if you want kernel low-level debugging support
1081                   for Mediatek mt8135 based platforms on UART3.
1082
1083         config DEBUG_VEXPRESS_UART0_DETECT
1084                 bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
1085                 depends on ARCH_VEXPRESS && CPU_CP15_MMU
1086                 help
1087                   This option enables a simple heuristic which tries to determine
1088                   the motherboard's memory map variant (original or RS1) and then
1089                   choose the relevant UART0 base address.
1090
1091                   Note that this will only work with standard A-class core tiles,
1092                   and may fail with non-standard SMM or custom software models.
1093
1094         config DEBUG_VEXPRESS_UART0_CA9
1095                 bool "Use PL011 UART0 at 0x10009000 (V2P-CA9 core tile)"
1096                 depends on ARCH_VEXPRESS
1097                 select DEBUG_UART_PL01X
1098                 help
1099                   This option selects UART0 at 0x10009000. Except for custom models,
1100                   this applies only to the V2P-CA9 tile.
1101
1102         config DEBUG_VEXPRESS_UART0_RS1
1103                 bool "Use PL011 UART0 at 0x1c090000 (RS1 complaint tiles)"
1104                 depends on ARCH_VEXPRESS
1105                 select DEBUG_UART_PL01X
1106                 help
1107                   This option selects UART0 at 0x1c090000. This applies to most
1108                   of the tiles using the RS1 memory map, including all new A-class
1109                   core tiles, FPGA-based SMMs and software models.
1110
1111         config DEBUG_VEXPRESS_UART0_CRX
1112                 bool "Use PL011 UART0 at 0xb0090000 (Cortex-R compliant tiles)"
1113                 depends on ARCH_VEXPRESS && !MMU
1114                 select DEBUG_UART_PL01X
1115                 help
1116                   This option selects UART0 at 0xb0090000. This is appropriate for
1117                   Cortex-R series tiles and SMMs, such as Cortex-R5 and Cortex-R7
1118
1119         config DEBUG_VT8500_UART0
1120                 bool "Use UART0 on VIA/Wondermedia SoCs"
1121                 depends on ARCH_VT8500
1122                 help
1123                   This option selects UART0 on VIA/Wondermedia System-on-a-chip
1124                   devices, including VT8500, WM8505, WM8650 and WM8850.
1125
1126         config DEBUG_ICEDCC
1127                 bool "Kernel low-level debugging via EmbeddedICE DCC channel"
1128                 help
1129                   Say Y here if you want the debug print routines to direct
1130                   their output to the EmbeddedICE macrocell's DCC channel using
1131                   co-processor 14. This is known to work on the ARM9 style ICE
1132                   channel and on the XScale with the PEEDI.
1133
1134                   Note that the system will appear to hang during boot if there
1135                   is nothing connected to read from the DCC.
1136
1137         config DEBUG_SEMIHOSTING
1138                 bool "Kernel low-level debug output via semihosting I/O"
1139                 help
1140                   Semihosting enables code running on an ARM target to use
1141                   the I/O facilities on a host debugger/emulator through a
1142                   simple SVC call. The host debugger or emulator must have
1143                   semihosting enabled for the special svc call to be trapped
1144                   otherwise the kernel will crash.
1145
1146                   This is known to work with OpenOCD, as well as
1147                   ARM's Fast Models, or any other controlling environment
1148                   that implements semihosting.
1149
1150                   For more details about semihosting, please see
1151                   chapter 8 of DUI0203I_rvct_developer_guide.pdf from ARM Ltd.
1152
1153         config DEBUG_LL_UART_8250
1154                 bool "Kernel low-level debugging via 8250 UART"
1155                 help
1156                   Say Y here if you wish the debug print routes to direct
1157                   their output to an 8250 UART.  You can use this option
1158                   to provide the parameters for the 8250 UART rather than
1159                   selecting one of the platform specific options above if
1160                   you know the parameters for the port.
1161
1162                   This option is preferred over the platform specific
1163                   options; the platform specific options are deprecated
1164                   and will be soon removed.
1165
1166         config DEBUG_LL_UART_EFM32
1167                 bool "Kernel low-level debugging via efm32 UART"
1168                 depends on ARCH_EFM32
1169                 help
1170                   Say Y here if you want the debug print routines to direct
1171                   their output to an UART or USART port on efm32 based
1172                   machines. Use the following addresses for DEBUG_UART_PHYS:
1173
1174                     0x4000c000 | USART0
1175                     0x4000c400 | USART1
1176                     0x4000c800 | USART2
1177                     0x4000e000 | UART0
1178                     0x4000e400 | UART1
1179
1180         config DEBUG_LL_UART_PL01X
1181                 bool "Kernel low-level debugging via ARM Ltd PL01x Primecell UART"
1182                 help
1183                   Say Y here if you wish the debug print routes to direct
1184                   their output to a PL01x Primecell UART.  You can use
1185                   this option to provide the parameters for the UART
1186                   rather than selecting one of the platform specific
1187                   options above if you know the parameters for the port.
1188
1189                   This option is preferred over the platform specific
1190                   options; the platform specific options are deprecated
1191                   and will be soon removed.
1192
1193 endchoice
1194
1195 config DEBUG_AT91_UART
1196         bool
1197         depends on ARCH_AT91
1198
1199 config DEBUG_EXYNOS_UART
1200         bool
1201
1202 config DEBUG_S3C2410_UART
1203         bool
1204         select DEBUG_S3C24XX_UART
1205
1206 config DEBUG_S3C24XX_UART
1207         bool
1208
1209 config DEBUG_S5PV210_UART
1210         bool
1211
1212 config DEBUG_OMAP2PLUS_UART
1213         bool
1214         depends on ARCH_OMAP2PLUS
1215
1216 config DEBUG_IMX_UART_PORT
1217         int "i.MX Debug UART Port Selection" if DEBUG_IMX1_UART || \
1218                                                 DEBUG_IMX25_UART || \
1219                                                 DEBUG_IMX21_IMX27_UART || \
1220                                                 DEBUG_IMX31_UART || \
1221                                                 DEBUG_IMX35_UART || \
1222                                                 DEBUG_IMX50_UART || \
1223                                                 DEBUG_IMX51_UART || \
1224                                                 DEBUG_IMX53_UART || \
1225                                                 DEBUG_IMX6Q_UART || \
1226                                                 DEBUG_IMX6SL_UART || \
1227                                                 DEBUG_IMX6SX_UART
1228         default 1
1229         depends on ARCH_MXC
1230         help
1231           Choose UART port on which kernel low-level debug messages
1232           should be output.
1233
1234 config DEBUG_VF_UART_PORT
1235         int "Vybrid Debug UART Port Selection" if DEBUG_VF_UART
1236         default 1
1237         range 0 3
1238         depends on SOC_VF610
1239         help
1240           Choose UART port on which kernel low-level debug messages
1241           should be output.
1242
1243 config DEBUG_TEGRA_UART
1244         bool
1245         depends on ARCH_TEGRA
1246
1247 config DEBUG_STI_UART
1248         bool
1249         depends on ARCH_STI
1250
1251 config DEBUG_SIRFSOC_UART
1252         bool
1253         depends on ARCH_SIRF
1254
1255 config DEBUG_LL_INCLUDE
1256         string
1257         default "debug/sa1100.S" if DEBUG_SA1100
1258         default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250
1259         default "debug/at91.S" if DEBUG_AT91_UART
1260         default "debug/asm9260.S" if DEBUG_ASM9260_UART
1261         default "debug/clps711x.S" if DEBUG_CLPS711X_UART1 || DEBUG_CLPS711X_UART2
1262         default "debug/meson.S" if DEBUG_MESON_UARTAO
1263         default "debug/pl01x.S" if DEBUG_LL_UART_PL01X || DEBUG_UART_PL01X
1264         default "debug/exynos.S" if DEBUG_EXYNOS_UART
1265         default "debug/efm32.S" if DEBUG_LL_UART_EFM32
1266         default "debug/icedcc.S" if DEBUG_ICEDCC
1267         default "debug/imx.S" if DEBUG_IMX1_UART || \
1268                                  DEBUG_IMX25_UART || \
1269                                  DEBUG_IMX21_IMX27_UART || \
1270                                  DEBUG_IMX31_UART || \
1271                                  DEBUG_IMX35_UART || \
1272                                  DEBUG_IMX50_UART || \
1273                                  DEBUG_IMX51_UART || \
1274                                  DEBUG_IMX53_UART ||\
1275                                  DEBUG_IMX6Q_UART || \
1276                                  DEBUG_IMX6SL_UART || \
1277                                  DEBUG_IMX6SX_UART
1278         default "debug/ks8695.S" if DEBUG_KS8695_UART
1279         default "debug/msm.S" if DEBUG_QCOM_UARTDM
1280         default "debug/netx.S" if DEBUG_NETX_UART
1281         default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART
1282         default "debug/renesas-scif.S" if DEBUG_R7S72100_SCIF2
1283         default "debug/renesas-scif.S" if DEBUG_RCAR_GEN1_SCIF0
1284         default "debug/renesas-scif.S" if DEBUG_RCAR_GEN1_SCIF2
1285         default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF0
1286         default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF2
1287         default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA0
1288         default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA1
1289         default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA4
1290         default "debug/s3c24xx.S" if DEBUG_S3C24XX_UART
1291         default "debug/s5pv210.S" if DEBUG_S5PV210_UART
1292         default "debug/sirf.S" if DEBUG_SIRFSOC_UART
1293         default "debug/sti.S" if DEBUG_STI_UART
1294         default "debug/tegra.S" if DEBUG_TEGRA_UART
1295         default "debug/ux500.S" if DEBUG_UX500_UART
1296         default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT
1297         default "debug/vf.S" if DEBUG_VF_UART
1298         default "debug/vt8500.S" if DEBUG_VT8500_UART0
1299         default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1
1300         default "debug/bcm63xx.S" if DEBUG_UART_BCM63XX
1301         default "debug/digicolor.S" if DEBUG_DIGICOLOR_UA0
1302         default "mach/debug-macro.S"
1303
1304 # Compatibility options for PL01x
1305 config DEBUG_UART_PL01X
1306         bool
1307
1308 # Compatibility options for 8250
1309 config DEBUG_UART_8250
1310         def_bool ARCH_DOVE || ARCH_EBSA110 || \
1311                 (FOOTBRIDGE && !DEBUG_DC21285_PORT) || \
1312                 ARCH_GEMINI || ARCH_IOP13XX || ARCH_IOP32X || \
1313                 ARCH_IOP33X || ARCH_IXP4XX || \
1314                 ARCH_LPC32XX || ARCH_MV78XX0 || ARCH_ORION5X || ARCH_RPC
1315
1316 # Compatibility options for BCM63xx
1317 config DEBUG_UART_BCM63XX
1318         def_bool ARCH_BCM_63XX
1319
1320 config DEBUG_UART_PHYS
1321         hex "Physical base address of debug UART"
1322         default 0x00100a00 if DEBUG_NETX_UART
1323         default 0x01c20000 if DEBUG_DAVINCI_DMx_UART0
1324         default 0x01c28000 if DEBUG_SUNXI_UART0
1325         default 0x01c28400 if DEBUG_SUNXI_UART1
1326         default 0x01d0c000 if DEBUG_DAVINCI_DA8XX_UART1
1327         default 0x01d0d000 if DEBUG_DAVINCI_DA8XX_UART2
1328         default 0x01f02800 if DEBUG_SUNXI_R_UART
1329         default 0x02530c00 if DEBUG_KEYSTONE_UART0
1330         default 0x02531000 if DEBUG_KEYSTONE_UART1
1331         default 0x03010fe0 if ARCH_RPC
1332         default 0x07000000 if DEBUG_SUN9I_UART0
1333         default 0x10009000 if DEBUG_REALVIEW_STD_PORT || \
1334                                 DEBUG_VEXPRESS_UART0_CA9
1335         default 0x1010c000 if DEBUG_REALVIEW_PB1176_PORT
1336         default 0x10124000 if DEBUG_RK3X_UART0
1337         default 0x10126000 if DEBUG_RK3X_UART1
1338         default 0x101f1000 if ARCH_VERSATILE
1339         default 0x101fb000 if DEBUG_NOMADIK_UART
1340         default 0x11002000 if DEBUG_MT8127_UART0
1341         default 0x11006000 if DEBUG_MT6589_UART0
1342         default 0x11009000 if DEBUG_MT8135_UART3
1343         default 0x16000000 if ARCH_INTEGRATOR
1344         default 0x18000300 if DEBUG_BCM_5301X
1345         default 0x18010000 if DEBUG_SIRFATLAS7_UART0
1346         default 0x18020000 if DEBUG_SIRFATLAS7_UART1
1347         default 0x1c090000 if DEBUG_VEXPRESS_UART0_RS1
1348         default 0x20001000 if DEBUG_HIP01_UART
1349         default 0x20060000 if DEBUG_RK29_UART0
1350         default 0x20064000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1351         default 0x20068000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
1352         default 0x20201000 if DEBUG_BCM2835
1353         default 0x3e000000 if DEBUG_BCM_KONA_UART
1354         default 0x4000e400 if DEBUG_LL_UART_EFM32
1355         default 0x40090000 if ARCH_LPC32XX
1356         default 0x40100000 if DEBUG_PXA_UART1
1357         default 0x42000000 if ARCH_GEMINI
1358         default 0x50000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
1359                                 DEBUG_S3C2410_UART0)
1360         default 0x50004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
1361                                 DEBUG_S3C2410_UART1)
1362         default 0x50008000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART2 || \
1363                                 DEBUG_S3C2410_UART2)
1364         default 0x78000000 if DEBUG_CNS3XXX
1365         default 0x7c0003f8 if FOOTBRIDGE
1366         default 0x80010000 if DEBUG_ASM9260_UART
1367         default 0x80070000 if DEBUG_IMX23_UART
1368         default 0x80074000 if DEBUG_IMX28_UART
1369         default 0x80230000 if DEBUG_PICOXCELL_UART
1370         default 0x808c0000 if ARCH_EP93XX
1371         default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
1372         default 0xb0060000 if DEBUG_SIRFPRIMA2_UART1
1373         default 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX
1374         default 0xc0013000 if DEBUG_U300_UART
1375         default 0xc8000000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1376         default 0xc8000003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
1377         default 0xd0000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
1378         default 0xd0012000 if DEBUG_MVEBU_UART0
1379         default 0xc81004c0 if DEBUG_MESON_UARTAO
1380         default 0xd4017000 if DEBUG_MMP_UART2
1381         default 0xd4018000 if DEBUG_MMP_UART3
1382         default 0xe0000000 if ARCH_SPEAR13XX
1383         default 0xe4007000 if DEBUG_HIP04_UART
1384         default 0xe6c40000 if DEBUG_RMOBILE_SCIFA0
1385         default 0xe6c50000 if DEBUG_RMOBILE_SCIFA1
1386         default 0xe6c80000 if DEBUG_RMOBILE_SCIFA4
1387         default 0xe6e58000 if DEBUG_RCAR_GEN2_SCIF2
1388         default 0xe6e60000 if DEBUG_RCAR_GEN2_SCIF0
1389         default 0xe8008000 if DEBUG_R7S72100_SCIF2
1390         default 0xf0000be0 if ARCH_EBSA110
1391         default 0xf040ab00 if DEBUG_BRCMSTB_UART
1392         default 0xf1012000 if DEBUG_MVEBU_UART0_ALTERNATE
1393         default 0xf1012100 if DEBUG_MVEBU_UART1_ALTERNATE
1394         default 0xf1012000 if ARCH_DOVE || ARCH_MV78XX0 || \
1395                                 ARCH_ORION5X
1396         default 0xf7fc9000 if DEBUG_BERLIN_UART
1397         default 0xf8b00000 if DEBUG_HIX5HD2_UART
1398         default 0xf991e000 if DEBUG_QCOM_UARTDM
1399         default 0xfcb00000 if DEBUG_HI3620_UART
1400         default 0xfe800000 if ARCH_IOP32X
1401         default 0xff690000 if DEBUG_RK32_UART2
1402         default 0xffc02000 if DEBUG_SOCFPGA_UART
1403         default 0xffd82340 if ARCH_IOP13XX
1404         default 0xffe40000 if DEBUG_RCAR_GEN1_SCIF0
1405         default 0xffe42000 if DEBUG_RCAR_GEN1_SCIF2
1406         default 0xfff36000 if DEBUG_HIGHBANK_UART
1407         default 0xfffb0000 if DEBUG_OMAP1UART1 || DEBUG_OMAP7XXUART1
1408         default 0xfffb0800 if DEBUG_OMAP1UART2 || DEBUG_OMAP7XXUART2
1409         default 0xfffb9800 if DEBUG_OMAP1UART3 || DEBUG_OMAP7XXUART3
1410         default 0xfffe8600 if DEBUG_UART_BCM63XX
1411         default 0xfffff700 if ARCH_IOP33X
1412         depends on ARCH_EP93XX || \
1413                 DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1414                 DEBUG_LL_UART_EFM32 || \
1415                 DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
1416                 DEBUG_NETX_UART || \
1417                 DEBUG_QCOM_UARTDM || DEBUG_R7S72100_SCIF2 || \
1418                 DEBUG_RCAR_GEN1_SCIF0 || DEBUG_RCAR_GEN1_SCIF2 || \
1419                 DEBUG_RCAR_GEN2_SCIF0 || DEBUG_RCAR_GEN2_SCIF2 || \
1420                 DEBUG_RMOBILE_SCIFA0 || DEBUG_RMOBILE_SCIFA1 || \
1421                 DEBUG_RMOBILE_SCIFA4 || DEBUG_S3C24XX_UART || \
1422                 DEBUG_UART_BCM63XX || DEBUG_ASM9260_UART || \
1423                 DEBUG_SIRFSOC_UART || DEBUG_DIGICOLOR_UA0
1424
1425 config DEBUG_UART_VIRT
1426         hex "Virtual base address of debug UART"
1427         default 0xe0000a00 if DEBUG_NETX_UART
1428         default 0xe0010fe0 if ARCH_RPC
1429         default 0xf0000be0 if ARCH_EBSA110
1430         default 0xf0010000 if DEBUG_ASM9260_UART
1431         default 0xf01fb000 if DEBUG_NOMADIK_UART
1432         default 0xf0201000 if DEBUG_BCM2835
1433         default 0xf1000300 if DEBUG_BCM_5301X
1434         default 0xf1002000 if DEBUG_MT8127_UART0
1435         default 0xf1006000 if DEBUG_MT6589_UART0
1436         default 0xf1009000 if DEBUG_MT8135_UART3
1437         default 0xf11f1000 if ARCH_VERSATILE
1438         default 0xf1600000 if ARCH_INTEGRATOR
1439         default 0xf1c28000 if DEBUG_SUNXI_UART0
1440         default 0xf1c28400 if DEBUG_SUNXI_UART1
1441         default 0xf1f02800 if DEBUG_SUNXI_R_UART
1442         default 0xf6200000 if DEBUG_PXA_UART1
1443         default 0xf4090000 if ARCH_LPC32XX
1444         default 0xf4200000 if ARCH_GEMINI
1445         default 0xf7000000 if DEBUG_SUN9I_UART0
1446         default 0xf7000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
1447                                 DEBUG_S3C2410_UART0)
1448         default 0xf7004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
1449                                 DEBUG_S3C2410_UART1)
1450         default 0xf7008000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART2 || \
1451                                 DEBUG_S3C2410_UART2)
1452         default 0xf7fc9000 if DEBUG_BERLIN_UART
1453         default 0xf8007000 if DEBUG_HIP04_UART
1454         default 0xf8009000 if DEBUG_VEXPRESS_UART0_CA9
1455         default 0xf8090000 if DEBUG_VEXPRESS_UART0_RS1
1456         default 0xfa71e000 if DEBUG_QCOM_UARTDM
1457         default 0xfb002000 if DEBUG_CNS3XXX
1458         default 0xfb009000 if DEBUG_REALVIEW_STD_PORT
1459         default 0xfb10c000 if DEBUG_REALVIEW_PB1176_PORT
1460         default 0xfc40ab00 if DEBUG_BRCMSTB_UART
1461         default 0xfcfe8600 if DEBUG_UART_BCM63XX
1462         default 0xfd000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
1463         default 0xfd000000 if ARCH_SPEAR13XX
1464         default 0xfd012000 if ARCH_MV78XX0
1465         default 0xfde12000 if ARCH_DOVE
1466         default 0xfe012000 if ARCH_ORION5X
1467         default 0xf31004c0 if DEBUG_MESON_UARTAO
1468         default 0xfe017000 if DEBUG_MMP_UART2
1469         default 0xfe018000 if DEBUG_MMP_UART3
1470         default 0xfe100000 if DEBUG_IMX23_UART || DEBUG_IMX28_UART
1471         default 0xfe230000 if DEBUG_PICOXCELL_UART
1472         default 0xfe300000 if DEBUG_BCM_KONA_UART
1473         default 0xfe800000 if ARCH_IOP32X
1474         default 0xfeb00000 if DEBUG_HI3620_UART || DEBUG_HIX5HD2_UART
1475         default 0xfeb24000 if DEBUG_RK3X_UART0
1476         default 0xfeb26000 if DEBUG_RK3X_UART1
1477         default 0xfeb30c00 if DEBUG_KEYSTONE_UART0
1478         default 0xfeb31000 if DEBUG_KEYSTONE_UART1
1479         default 0xfec02000 if DEBUG_SOCFPGA_UART
1480         default 0xfec12000 if DEBUG_MVEBU_UART0 || DEBUG_MVEBU_UART0_ALTERNATE
1481         default 0xfec12100 if DEBUG_MVEBU_UART1_ALTERNATE
1482         default 0xfec10000 if DEBUG_SIRFATLAS7_UART0
1483         default 0xfec20000 if DEBUG_DAVINCI_DMx_UART0
1484         default 0xfec20000 if DEBUG_SIRFATLAS7_UART1
1485         default 0xfec60000 if DEBUG_SIRFPRIMA2_UART1
1486         default 0xfec90000 if DEBUG_RK32_UART2
1487         default 0xfed0c000 if DEBUG_DAVINCI_DA8XX_UART1
1488         default 0xfed0d000 if DEBUG_DAVINCI_DA8XX_UART2
1489         default 0xfed60000 if DEBUG_RK29_UART0
1490         default 0xfed64000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1491         default 0xfed68000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
1492         default 0xfedc0000 if ARCH_EP93XX
1493         default 0xfee003f8 if FOOTBRIDGE
1494         default 0xfee20000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
1495         default 0xfee82340 if ARCH_IOP13XX
1496         default 0xfef00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1497         default 0xfef00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
1498         default 0xfef36000 if DEBUG_HIGHBANK_UART
1499         default 0xfefb0000 if DEBUG_OMAP1UART1 || DEBUG_OMAP7XXUART1
1500         default 0xfefb0800 if DEBUG_OMAP1UART2 || DEBUG_OMAP7XXUART2
1501         default 0xfefb9800 if DEBUG_OMAP1UART3 || DEBUG_OMAP7XXUART3
1502         default 0xfefff700 if ARCH_IOP33X
1503         default 0xff003000 if DEBUG_U300_UART
1504         default 0xffd01000 if DEBUG_HIP01_UART
1505         default DEBUG_UART_PHYS if !MMU
1506         depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1507                 DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
1508                 DEBUG_NETX_UART || \
1509                 DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART || \
1510                 DEBUG_UART_BCM63XX || DEBUG_ASM9260_UART || \
1511                 DEBUG_SIRFSOC_UART || DEBUG_DIGICOLOR_UA0
1512
1513 config DEBUG_UART_8250_SHIFT
1514         int "Register offset shift for the 8250 debug UART"
1515         depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1516         default 0 if FOOTBRIDGE || ARCH_IOP32X || DEBUG_BCM_5301X || \
1517                 DEBUG_OMAP7XXUART1 || DEBUG_OMAP7XXUART2 || DEBUG_OMAP7XXUART3
1518         default 2
1519
1520 config DEBUG_UART_8250_WORD
1521         bool "Use 32-bit accesses for 8250 UART"
1522         depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1523         depends on DEBUG_UART_8250_SHIFT >= 2
1524         default y if DEBUG_PICOXCELL_UART || DEBUG_SOCFPGA_UART || \
1525                 ARCH_KEYSTONE || \
1526                 DEBUG_DAVINCI_DMx_UART0 || DEBUG_DAVINCI_DA8XX_UART1 || \
1527                 DEBUG_DAVINCI_DA8XX_UART2 || \
1528                 DEBUG_BCM_KONA_UART || DEBUG_RK32_UART2 || \
1529                 DEBUG_BRCMSTB_UART
1530
1531 config DEBUG_UART_8250_FLOW_CONTROL
1532         bool "Enable flow control for 8250 UART"
1533         depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1534         default y if ARCH_EBSA110 || FOOTBRIDGE || ARCH_GEMINI || ARCH_RPC
1535
1536 config DEBUG_UNCOMPRESS
1537         bool
1538         depends on ARCH_MULTIPLATFORM || PLAT_SAMSUNG
1539         default y if DEBUG_LL && !DEBUG_OMAP2PLUS_UART && \
1540                      (!DEBUG_TEGRA_UART || !ZBOOT_ROM)
1541         help
1542           This option influences the normal decompressor output for
1543           multiplatform kernels.  Normally, multiplatform kernels disable
1544           decompressor output because it is not possible to know where to
1545           send the decompressor output.
1546
1547           When this option is set, the selected DEBUG_LL output method
1548           will be re-used for normal decompressor output on multiplatform
1549           kernels.
1550           
1551
1552 config UNCOMPRESS_INCLUDE
1553         string
1554         default "debug/uncompress.h" if ARCH_MULTIPLATFORM || ARCH_MSM || \
1555                                         PLAT_SAMSUNG || ARCH_EFM32
1556         default "mach/uncompress.h"
1557
1558 config EARLY_PRINTK
1559         bool "Early printk"
1560         depends on DEBUG_LL
1561         help
1562           Say Y here if you want to have an early console using the
1563           kernel low-level debugging functions. Add earlyprintk to your
1564           kernel parameters to enable this console.
1565
1566 config ARM_KPROBES_TEST
1567         tristate "Kprobes test module"
1568         depends on KPROBES && MODULES
1569         help
1570           Perform tests of kprobes API and instruction set simulation.
1571
1572 config PID_IN_CONTEXTIDR
1573         bool "Write the current PID to the CONTEXTIDR register"
1574         depends on CPU_COPY_V6
1575         help
1576           Enabling this option causes the kernel to write the current PID to
1577           the PROCID field of the CONTEXTIDR register, at the expense of some
1578           additional instructions during context switch. Say Y here only if you
1579           are planning to use hardware trace tools with this kernel.
1580
1581 config DEBUG_SET_MODULE_RONX
1582         bool "Set loadable kernel module data as NX and text as RO"
1583         depends on MODULES
1584         ---help---
1585           This option helps catch unintended modifications to loadable
1586           kernel module's text and read-only data. It also prevents execution
1587           of module data. Such protection may interfere with run-time code
1588           patching and dynamic kernel tracing - and they might also protect
1589           against certain classes of kernel exploits.
1590           If in doubt, say "N".
1591
1592 source "drivers/hwtracing/coresight/Kconfig"
1593
1594 endmenu