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