xref: /linux/arch/arm/Kconfig.debug (revision 01ea63d99397fcdcb9cc235c77a8e11f4e4a63e9)
11da177e4SLinus Torvaldsmenu "Kernel hacking"
21da177e4SLinus Torvalds
31da177e4SLinus Torvaldssource "lib/Kconfig.debug"
41da177e4SLinus Torvalds
51fd15b87SRussell Kingconfig ARM_PTDUMP
61fd15b87SRussell King	bool "Export kernel pagetable layout to userspace via debugfs"
71fd15b87SRussell King	depends on DEBUG_KERNEL
81fd15b87SRussell King	select DEBUG_FS
91fd15b87SRussell King	---help---
101fd15b87SRussell King	  Say Y here if you want to show the kernel pagetable layout in a
111fd15b87SRussell King	  debugfs file. This information is only useful for kernel developers
121fd15b87SRussell King	  who are working in architecture specific areas of the kernel.
131fd15b87SRussell King	  It is probably not a good idea to enable this feature in a production
141fd15b87SRussell King	  kernel.
151fd15b87SRussell King	  If in doubt, say "N"
161fd15b87SRussell King
17087aaffcSNicolas Pitreconfig STRICT_DEVMEM
18087aaffcSNicolas Pitre	bool "Filter access to /dev/mem"
19087aaffcSNicolas Pitre	depends on MMU
20087aaffcSNicolas Pitre	---help---
21087aaffcSNicolas Pitre	  If this option is disabled, you allow userspace (root) access to all
22087aaffcSNicolas Pitre	  of memory, including kernel and userspace memory. Accidental
23087aaffcSNicolas Pitre	  access to this is obviously disastrous, but specific access can
24087aaffcSNicolas Pitre	  be used by people debugging the kernel.
25087aaffcSNicolas Pitre
26087aaffcSNicolas Pitre	  If this option is switched on, the /dev/mem file only allows
27087aaffcSNicolas Pitre	  userspace access to memory mapped peripherals.
28087aaffcSNicolas Pitre
29087aaffcSNicolas Pitre          If in doubt, say Y.
30087aaffcSNicolas Pitre
31adf8b37bSCatalin Marinas# RMK wants arm kernels compiled with frame pointers or stack unwinding.
321da177e4SLinus Torvalds# If you know what you are doing and are willing to live without stack
331da177e4SLinus Torvalds# traces, you can get a slightly smaller kernel by setting this option to
341da177e4SLinus Torvalds# n, but then RMK will have to kill you ;).
351da177e4SLinus Torvaldsconfig FRAME_POINTER
361da177e4SLinus Torvalds	bool
3716c79651SCatalin Marinas	depends on !THUMB2_KERNEL
380e341af8SRabin Vincent	default y if !ARM_UNWIND || FUNCTION_GRAPH_TRACER
391da177e4SLinus Torvalds	help
401da177e4SLinus Torvalds	  If you say N here, the resulting kernel will be slightly smaller and
41adf8b37bSCatalin Marinas	  faster. However, if neither FRAME_POINTER nor ARM_UNWIND are enabled,
42adf8b37bSCatalin Marinas	  when a problem occurs with the kernel, the information that is
43adf8b37bSCatalin Marinas	  reported is severely limited.
44adf8b37bSCatalin Marinas
45adf8b37bSCatalin Marinasconfig ARM_UNWIND
464a50bfe3SRussell King	bool "Enable stack unwinding support (EXPERIMENTAL)"
47d6f94fa0SKees Cook	depends on AEABI
48adf8b37bSCatalin Marinas	default y
49adf8b37bSCatalin Marinas	help
50adf8b37bSCatalin Marinas	  This option enables stack unwinding support in the kernel
51adf8b37bSCatalin Marinas	  using the information automatically generated by the
52adf8b37bSCatalin Marinas	  compiler. The resulting kernel image is slightly bigger but
53adf8b37bSCatalin Marinas	  the performance is not affected. Currently, this feature
54adf8b37bSCatalin Marinas	  only works with EABI compilers. If unsure say Y.
551da177e4SLinus Torvalds
5609bfafacSRabin Vincentconfig OLD_MCOUNT
5709bfafacSRabin Vincent	bool
5809bfafacSRabin Vincent	depends on FUNCTION_TRACER && FRAME_POINTER
5909bfafacSRabin Vincent	default y
6009bfafacSRabin Vincent
611da177e4SLinus Torvaldsconfig DEBUG_USER
621da177e4SLinus Torvalds	bool "Verbose user fault messages"
631da177e4SLinus Torvalds	help
641da177e4SLinus Torvalds	  When a user program crashes due to an exception, the kernel can
651da177e4SLinus Torvalds	  print a brief message explaining what the problem was. This is
661da177e4SLinus Torvalds	  sometimes helpful for debugging but serves no purpose on a
671da177e4SLinus Torvalds	  production system. Most people should say N here.
681da177e4SLinus Torvalds
691da177e4SLinus Torvalds	  In addition, you need to pass user_debug=N on the kernel command
701da177e4SLinus Torvalds	  line to enable this feature.  N consists of the sum of:
711da177e4SLinus Torvalds
721da177e4SLinus Torvalds	      1 - undefined instruction events
731da177e4SLinus Torvalds	      2 - system calls
741da177e4SLinus Torvalds	      4 - invalid data aborts
751da177e4SLinus Torvalds	      8 - SIGSEGV faults
761da177e4SLinus Torvalds	     16 - SIGBUS faults
771da177e4SLinus Torvalds
781da177e4SLinus Torvalds# These options are only for real kernel hackers who want to get their hands dirty.
791da177e4SLinus Torvaldsconfig DEBUG_LL
804f5ef922SWill Deacon	bool "Kernel low-level debugging functions (read help!)"
811da177e4SLinus Torvalds	depends on DEBUG_KERNEL
821da177e4SLinus Torvalds	help
8335efb606SRussell King	  Say Y here to include definitions of printascii, printch, printhex
841da177e4SLinus Torvalds	  in the kernel.  This is helpful if you are debugging code that
851da177e4SLinus Torvalds	  executes before the console is initialized.
861da177e4SLinus Torvalds
874f5ef922SWill Deacon	  Note that selecting this option will limit the kernel to a single
884f5ef922SWill Deacon	  UART definition, as specified below. Attempting to boot the kernel
894f5ef922SWill Deacon	  image on a different platform *will not work*, so this option should
904f5ef922SWill Deacon	  not be enabled for kernels that are intended to be portable.
914f5ef922SWill Deacon
9217916b28SWill Deaconchoice
9317916b28SWill Deacon	prompt "Kernel low-level debugging port"
9417916b28SWill Deacon	depends on DEBUG_LL
9517916b28SWill Deacon
96d5bd4e8dSOleksij Rempel	config DEBUG_ASM9260_UART
97d5bd4e8dSOleksij Rempel		bool "Kernel low-level debugging via asm9260 UART"
98d5bd4e8dSOleksij Rempel		depends on MACH_ASM9260
99d5bd4e8dSOleksij Rempel		help
100d5bd4e8dSOleksij Rempel		  Say Y here if you want the debug print routines to direct
101d5bd4e8dSOleksij Rempel		  their output to an UART or USART port on asm9260 based
102d5bd4e8dSOleksij Rempel		  machines.
103d5bd4e8dSOleksij Rempel
104d5bd4e8dSOleksij Rempel		    DEBUG_UART_PHYS | DEBUG_UART_VIRT
105d5bd4e8dSOleksij Rempel
106d5bd4e8dSOleksij Rempel		    0x80000000      | 0xf0000000     | UART0
107d5bd4e8dSOleksij Rempel		    0x80004000      | 0xf0004000     | UART1
108d5bd4e8dSOleksij Rempel		    0x80008000      | 0xf0008000     | UART2
109d5bd4e8dSOleksij Rempel		    0x8000c000      | 0xf000c000     | UART3
110d5bd4e8dSOleksij Rempel		    0x80010000      | 0xf0010000     | UART4
111d5bd4e8dSOleksij Rempel		    0x80014000      | 0xf0014000     | UART5
112d5bd4e8dSOleksij Rempel		    0x80018000      | 0xf0018000     | UART6
113d5bd4e8dSOleksij Rempel		    0x8001c000      | 0xf001c000     | UART7
114d5bd4e8dSOleksij Rempel		    0x80020000      | 0xf0020000     | UART8
115d5bd4e8dSOleksij Rempel		    0x80024000      | 0xf0024000     | UART9
116d5bd4e8dSOleksij Rempel
11713079a73SJean-Christophe PLAGNIOL-VILLARD	config AT91_DEBUG_LL_DBGU0
11813079a73SJean-Christophe PLAGNIOL-VILLARD		bool "Kernel low-level debugging on rm9200, 9260/9g20, 9261/9g10 and 9rl"
11913079a73SJean-Christophe PLAGNIOL-VILLARD		depends on HAVE_AT91_DBGU0
12013079a73SJean-Christophe PLAGNIOL-VILLARD
12113079a73SJean-Christophe PLAGNIOL-VILLARD	config AT91_DEBUG_LL_DBGU1
1229918ceafSJean-Christophe PLAGNIOL-VILLARD		bool "Kernel low-level debugging on 9263 and 9g45"
12313079a73SJean-Christophe PLAGNIOL-VILLARD		depends on HAVE_AT91_DBGU1
12413079a73SJean-Christophe PLAGNIOL-VILLARD
1252dc850b6SNicolas Ferre	config AT91_DEBUG_LL_DBGU2
1262dc850b6SNicolas Ferre		bool "Kernel low-level debugging on sama5d4"
1272dc850b6SNicolas Ferre		depends on HAVE_AT91_DBGU2
1282dc850b6SNicolas Ferre
129f1ac922dSStephen Warren	config DEBUG_BCM2835
130f1ac922dSStephen Warren		bool "Kernel low-level debugging on BCM2835 PL011 UART"
131f1ac922dSStephen Warren		depends on ARCH_BCM2835
1325c972af4SRussell King		select DEBUG_UART_PL01X
133f1ac922dSStephen Warren
13406580275SHauke Mehrtens	config DEBUG_BCM_5301X
13506580275SHauke Mehrtens		bool "Kernel low-level debugging on BCM5301X UART1"
13606580275SHauke Mehrtens		depends on ARCH_BCM_5301X
137140bd603SHauke Mehrtens		select DEBUG_UART_8250
13806580275SHauke Mehrtens
139753d1243SChristian Daudt	config DEBUG_BCM_KONA_UART
140753d1243SChristian Daudt		bool "Kernel low-level debugging messages via BCM KONA UART"
1417aa2077bSFlorian Fainelli		depends on ARCH_BCM_MOBILE
142753d1243SChristian Daudt		select DEBUG_UART_8250
143753d1243SChristian Daudt		help
144753d1243SChristian Daudt		  Say Y here if you want kernel low-level debugging support
145753d1243SChristian Daudt		  on Broadcom SoC platforms.
146753d1243SChristian Daudt		  This low level debug works for Broadcom
147753d1243SChristian Daudt		  mobile SoCs in the Kona family of chips (e.g. bcm28155,
148753d1243SChristian Daudt		  bcm11351, etc...)
149753d1243SChristian Daudt
150b51312beSFlorian Fainelli	config DEBUG_BCM63XX
151b51312beSFlorian Fainelli		bool "Kernel low-level debugging on BCM63XX UART"
152b51312beSFlorian Fainelli		depends on ARCH_BCM_63XX
153b51312beSFlorian Fainelli		select DEBUG_UART_BCM63XX
154b51312beSFlorian Fainelli
155caad0b41SSebastian Hesselbarth	config DEBUG_BERLIN_UART
156caad0b41SSebastian Hesselbarth		bool "Marvell Berlin SoC Debug UART"
157caad0b41SSebastian Hesselbarth		depends on ARCH_BERLIN
158caad0b41SSebastian Hesselbarth		select DEBUG_UART_8250
159caad0b41SSebastian Hesselbarth		help
160caad0b41SSebastian Hesselbarth		  Say Y here if you want kernel low-level debugging support
161caad0b41SSebastian Hesselbarth		  on Marvell Berlin SoC based platforms.
162caad0b41SSebastian Hesselbarth
16381b43a6eSMarc Carino	config DEBUG_BRCMSTB_UART
16481b43a6eSMarc Carino		bool "Use BRCMSTB UART for low-level debug"
16581b43a6eSMarc Carino		depends on ARCH_BRCMSTB
16681b43a6eSMarc Carino		select DEBUG_UART_8250
16781b43a6eSMarc Carino		help
16881b43a6eSMarc Carino		  Say Y here if you want the debug print routines to direct
16981b43a6eSMarc Carino		  their output to the first serial port on these devices.
17081b43a6eSMarc Carino
17181b43a6eSMarc Carino		  If you have a Broadcom STB chip and would like early print
17281b43a6eSMarc Carino		  messages to appear over the UART, select this option.
17381b43a6eSMarc Carino
174164acf96SStephen Boyd	config DEBUG_CLPS711X_UART1
175164acf96SStephen Boyd		bool "Kernel low-level debugging messages via UART1"
176164acf96SStephen Boyd		depends on ARCH_CLPS711X
177164acf96SStephen Boyd		help
178164acf96SStephen Boyd		  Say Y here if you want the debug print routines to direct
179164acf96SStephen Boyd		  their output to the first serial port on these devices.
18017916b28SWill Deacon
18117916b28SWill Deacon	config DEBUG_CLPS711X_UART2
18217916b28SWill Deacon		bool "Kernel low-level debugging messages via UART2"
18317916b28SWill Deacon		depends on ARCH_CLPS711X
18417916b28SWill Deacon		help
18517916b28SWill Deacon		  Say Y here if you want the debug print routines to direct
18617916b28SWill Deacon		  their output to the second serial port on these devices.
18717916b28SWill Deacon
18829c9b7beSArnd Bergmann	config DEBUG_CNS3XXX
18929c9b7beSArnd Bergmann		bool "Kernel Kernel low-level debugging on Cavium Networks CNS3xxx"
19029c9b7beSArnd Bergmann		depends on ARCH_CNS3XXX
191b125170aSKrzysztof Hałasa		select DEBUG_UART_8250
19229c9b7beSArnd Bergmann		help
19329c9b7beSArnd Bergmann		  Say Y here if you want the debug print routines to direct
19429c9b7beSArnd Bergmann                  their output to the CNS3xxx UART0.
19529c9b7beSArnd Bergmann
196477099f1SUwe Kleine-König	config DEBUG_DAVINCI_DA8XX_UART1
197477099f1SUwe Kleine-König		bool "Kernel low-level debugging on DaVinci DA8XX using UART1"
198477099f1SUwe Kleine-König		depends on ARCH_DAVINCI_DA8XX
19997bd1a48SRussell King		select DEBUG_UART_8250
200477099f1SUwe Kleine-König		help
201477099f1SUwe Kleine-König		  Say Y here if you want the debug print routines to direct
202477099f1SUwe Kleine-König		  their output to UART1 serial port on DaVinci DA8XX devices.
203477099f1SUwe Kleine-König
204477099f1SUwe Kleine-König	config DEBUG_DAVINCI_DA8XX_UART2
205477099f1SUwe Kleine-König		bool "Kernel low-level debugging on DaVinci DA8XX using UART2"
206477099f1SUwe Kleine-König		depends on ARCH_DAVINCI_DA8XX
20797bd1a48SRussell King		select DEBUG_UART_8250
208477099f1SUwe Kleine-König		help
209477099f1SUwe Kleine-König		  Say Y here if you want the debug print routines to direct
210477099f1SUwe Kleine-König		  their output to UART2 serial port on DaVinci DA8XX devices.
211477099f1SUwe Kleine-König
212477099f1SUwe Kleine-König	config DEBUG_DAVINCI_DMx_UART0
213477099f1SUwe Kleine-König		bool "Kernel low-level debugging on DaVinci DMx using UART0"
214477099f1SUwe Kleine-König		depends on ARCH_DAVINCI_DMx
21597bd1a48SRussell King		select DEBUG_UART_8250
216477099f1SUwe Kleine-König		help
217477099f1SUwe Kleine-König		  Say Y here if you want the debug print routines to direct
218477099f1SUwe Kleine-König		  their output to UART0 serial port on DaVinci DMx devices.
219477099f1SUwe Kleine-König
220aaf5e0beSNick Bowler	config DEBUG_ZYNQ_UART0
221aaf5e0beSNick Bowler		bool "Kernel low-level debugging on Xilinx Zynq using UART0"
222aaf5e0beSNick Bowler		depends on ARCH_ZYNQ
223aaf5e0beSNick Bowler		help
224aaf5e0beSNick Bowler		  Say Y here if you want the debug print routines to direct
225aaf5e0beSNick Bowler		  their output to UART0 on the Zynq platform.
226aaf5e0beSNick Bowler
227aaf5e0beSNick Bowler	config DEBUG_ZYNQ_UART1
228aaf5e0beSNick Bowler		bool "Kernel low-level debugging on Xilinx Zynq using UART1"
229aaf5e0beSNick Bowler		depends on ARCH_ZYNQ
230aaf5e0beSNick Bowler		help
231aaf5e0beSNick Bowler		  Say Y here if you want the debug print routines to direct
232aaf5e0beSNick Bowler		  their output to UART1 on the Zynq platform.
233aaf5e0beSNick Bowler
234aaf5e0beSNick Bowler		  If you have a ZC702 board and want early boot messages to
235aaf5e0beSNick Bowler		  appear on the USB serial adaptor, select this option.
236aaf5e0beSNick Bowler
237e76f4750SRussell King	config DEBUG_DC21285_PORT
238e76f4750SRussell King		bool "Kernel low-level debugging messages via footbridge serial port"
239e76f4750SRussell King		depends on FOOTBRIDGE
240e76f4750SRussell King		help
241e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
242e76f4750SRussell King		  their output to the serial port in the DC21285 (Footbridge).
243e76f4750SRussell King
244e76f4750SRussell King	config DEBUG_FOOTBRIDGE_COM1
245e76f4750SRussell King		bool "Kernel low-level debugging messages via footbridge 8250 at PCI COM1"
246e76f4750SRussell King		depends on FOOTBRIDGE
247e76f4750SRussell King		help
248e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
249e76f4750SRussell King		  their output to the 8250 at PCI COM1.
250e76f4750SRussell King
2518d258bebSHaojian Zhuang	config DEBUG_HI3620_UART
2528d258bebSHaojian Zhuang		bool "Hisilicon HI3620 Debug UART"
2538d258bebSHaojian Zhuang		depends on ARCH_HI3xxx
2548d258bebSHaojian Zhuang		select DEBUG_UART_PL01X
2558d258bebSHaojian Zhuang		help
2568d258bebSHaojian Zhuang		  Say Y here if you want kernel low-level debugging support
2578d258bebSHaojian Zhuang		  on HI3620 UART.
2588d258bebSHaojian Zhuang
2598d258bebSHaojian Zhuang	config DEBUG_HI3716_UART
2608d258bebSHaojian Zhuang		bool "Hisilicon Hi3716 Debug UART"
2618d258bebSHaojian Zhuang		depends on ARCH_HI3xxx
2628d258bebSHaojian Zhuang		select DEBUG_UART_PL01X
2638d258bebSHaojian Zhuang		help
2648d258bebSHaojian Zhuang		  Say Y here if you want kernel low-level debugging support
2658d258bebSHaojian Zhuang		  on HI3716 UART.
2668d258bebSHaojian Zhuang
267220e6cf7SRob Herring	config DEBUG_HIGHBANK_UART
268220e6cf7SRob Herring		bool "Kernel low-level debugging messages via Highbank UART"
269220e6cf7SRob Herring		depends on ARCH_HIGHBANK
2705c972af4SRussell King		select DEBUG_UART_PL01X
271220e6cf7SRob Herring		help
272220e6cf7SRob Herring		  Say Y here if you want the debug print routines to direct
273220e6cf7SRob Herring		  their output to the UART on Highbank based devices.
274220e6cf7SRob Herring
275c9a1df48SHaojian Zhuang	config DEBUG_HIP04_UART
276c9a1df48SHaojian Zhuang		bool "Hisilicon HiP04 Debug UART"
277c9a1df48SHaojian Zhuang		depends on ARCH_HIP04
278c9a1df48SHaojian Zhuang		select DEBUG_UART_8250
279c9a1df48SHaojian Zhuang		help
280c9a1df48SHaojian Zhuang		  Say Y here if you want kernel low-level debugging support
281c9a1df48SHaojian Zhuang		  on HIP04 UART.
282c9a1df48SHaojian Zhuang
28337bdaf82SOlof Johansson	config DEBUG_HIX5HD2_UART
28437bdaf82SOlof Johansson		bool "Hisilicon Hix5hd2 Debug UART"
28537bdaf82SOlof Johansson		depends on ARCH_HIX5HD2
28693fd03a8SCatalin Marinas		select DEBUG_UART_PL01X
28793fd03a8SCatalin Marinas		help
28837bdaf82SOlof Johansson		  Say Y here if you want kernel low-level debugging support
28937bdaf82SOlof Johansson		  on Hix5hd2 UART.
2901da177e4SLinus Torvalds
291f350b861SShawn Guo	config DEBUG_IMX1_UART
292f350b861SShawn Guo		bool "i.MX1 Debug UART"
293f350b861SShawn Guo		depends on SOC_IMX1
294f350b861SShawn Guo		help
295f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
296f350b861SShawn Guo		  on i.MX1.
297f350b861SShawn Guo
298f350b861SShawn Guo	config DEBUG_IMX23_UART
299f350b861SShawn Guo		bool "i.MX23 Debug UART"
300f350b861SShawn Guo		depends on SOC_IMX23
3015c972af4SRussell King		select DEBUG_UART_PL01X
302f350b861SShawn Guo		help
303f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
304f350b861SShawn Guo		  on i.MX23.
305f350b861SShawn Guo
306f350b861SShawn Guo	config DEBUG_IMX25_UART
307f350b861SShawn Guo		bool "i.MX25 Debug UART"
308f350b861SShawn Guo		depends on SOC_IMX25
309f350b861SShawn Guo		help
310f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
311f350b861SShawn Guo		  on i.MX25.
312f350b861SShawn Guo
313f350b861SShawn Guo	config DEBUG_IMX21_IMX27_UART
314f350b861SShawn Guo		bool "i.MX21 and i.MX27 Debug UART"
315f350b861SShawn Guo		depends on SOC_IMX21 || SOC_IMX27
316f350b861SShawn Guo		help
317f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
318f350b861SShawn Guo		  on i.MX21 or i.MX27.
319f350b861SShawn Guo
320f350b861SShawn Guo	config DEBUG_IMX28_UART
321f350b861SShawn Guo		bool "i.MX28 Debug UART"
322f350b861SShawn Guo		depends on SOC_IMX28
3235c972af4SRussell King		select DEBUG_UART_PL01X
324f350b861SShawn Guo		help
325f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
326f350b861SShawn Guo		  on i.MX28.
327f350b861SShawn Guo
3284ad625d4SShawn Guo	config DEBUG_IMX31_UART
3294ad625d4SShawn Guo		bool "i.MX31 Debug UART"
3304ad625d4SShawn Guo		depends on SOC_IMX31
331f350b861SShawn Guo		help
332f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
3334ad625d4SShawn Guo		  on i.MX31.
3344ad625d4SShawn Guo
3354ad625d4SShawn Guo	config DEBUG_IMX35_UART
3364ad625d4SShawn Guo		bool "i.MX35 Debug UART"
3374ad625d4SShawn Guo		depends on SOC_IMX35
3384ad625d4SShawn Guo		help
3394ad625d4SShawn Guo		  Say Y here if you want kernel low-level debugging support
3404ad625d4SShawn Guo		  on i.MX35.
341f350b861SShawn Guo
342ad364a70SGreg Ungerer	config DEBUG_IMX50_UART
343ad364a70SGreg Ungerer		bool "i.MX50 Debug UART"
344ad364a70SGreg Ungerer		depends on SOC_IMX50
345ad364a70SGreg Ungerer		help
346ad364a70SGreg Ungerer		  Say Y here if you want kernel low-level debugging support
347ad364a70SGreg Ungerer		  on i.MX50.
348ad364a70SGreg Ungerer
349f350b861SShawn Guo	config DEBUG_IMX51_UART
350f350b861SShawn Guo		bool "i.MX51 Debug UART"
351f350b861SShawn Guo		depends on SOC_IMX51
352f350b861SShawn Guo		help
353f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
354f350b861SShawn Guo		  on i.MX51.
355f350b861SShawn Guo
3567356420cSFabio Estevam	config DEBUG_IMX53_UART
3577356420cSFabio Estevam		bool "i.MX53 Debug UART"
3587356420cSFabio Estevam		depends on SOC_IMX53
359f350b861SShawn Guo		help
360f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
3617356420cSFabio Estevam		  on i.MX53.
362f350b861SShawn Guo
36349c9e60eSShawn Guo	config DEBUG_IMX6Q_UART
3643c03a2feSShawn Guo		bool "i.MX6Q/DL Debug UART"
365785d7fabSDirk Behme		depends on SOC_IMX6Q
366785d7fabSDirk Behme		help
367785d7fabSDirk Behme		  Say Y here if you want kernel low-level debugging support
3683c03a2feSShawn Guo		  on i.MX6Q/DL.
369bac89d75SShawn Guo
37034e8a16bSShawn Guo	config DEBUG_IMX6SL_UART
37134e8a16bSShawn Guo		bool "i.MX6SL Debug UART"
37234e8a16bSShawn Guo		depends on SOC_IMX6SL
37334e8a16bSShawn Guo		help
37434e8a16bSShawn Guo		  Say Y here if you want kernel low-level debugging support
37534e8a16bSShawn Guo		  on i.MX6SL.
37634e8a16bSShawn Guo
37774368e81SShawn Guo	config DEBUG_IMX6SX_UART
37874368e81SShawn Guo		bool "i.MX6SX Debug UART"
37974368e81SShawn Guo		depends on SOC_IMX6SX
38074368e81SShawn Guo		help
38174368e81SShawn Guo		  Say Y here if you want kernel low-level debugging support
38274368e81SShawn Guo		  on i.MX6SX.
38374368e81SShawn Guo
384828989adSSantosh Shilimkar	config DEBUG_KEYSTONE_UART0
385828989adSSantosh Shilimkar		bool "Kernel low-level debugging on KEYSTONE2 using UART0"
386828989adSSantosh Shilimkar		depends on ARCH_KEYSTONE
387f2acf003SRussell King		select DEBUG_UART_8250
388828989adSSantosh Shilimkar		help
389828989adSSantosh Shilimkar		  Say Y here if you want the debug print routines to direct
390828989adSSantosh Shilimkar		  their output to UART0 serial port on KEYSTONE2 devices.
391828989adSSantosh Shilimkar
392828989adSSantosh Shilimkar	config DEBUG_KEYSTONE_UART1
393828989adSSantosh Shilimkar		bool "Kernel low-level debugging on KEYSTONE2 using UART1"
394828989adSSantosh Shilimkar		depends on ARCH_KEYSTONE
395f2acf003SRussell King		select DEBUG_UART_8250
396828989adSSantosh Shilimkar		help
397828989adSSantosh Shilimkar		  Say Y here if you want the debug print routines to direct
398828989adSSantosh Shilimkar		  their output to UART1 serial port on KEYSTONE2 devices.
399828989adSSantosh Shilimkar
400d8a00916SCarlo Caione	config DEBUG_MESON_UARTAO
401d8a00916SCarlo Caione		bool "Kernel low-level debugging via Meson6 UARTAO"
402d8a00916SCarlo Caione		depends on ARCH_MESON
403d8a00916SCarlo Caione		help
404d8a00916SCarlo Caione		  Say Y here if you want kernel low-lever debugging support
405d8a00916SCarlo Caione		  on Amlogic Meson6 based platforms on the UARTAO.
406d8a00916SCarlo Caione
407fa4cd2a8SHaojian Zhuang	config DEBUG_MMP_UART2
408fa4cd2a8SHaojian Zhuang		bool "Kernel low-level debugging message via MMP UART2"
409fa4cd2a8SHaojian Zhuang		depends on ARCH_MMP
4104a003647SRussell King		select DEBUG_UART_8250
411fa4cd2a8SHaojian Zhuang		help
412fa4cd2a8SHaojian Zhuang		  Say Y here if you want kernel low-level debugging support
413fa4cd2a8SHaojian Zhuang		  on MMP UART2.
414fa4cd2a8SHaojian Zhuang
415fa4cd2a8SHaojian Zhuang	config DEBUG_MMP_UART3
416fa4cd2a8SHaojian Zhuang		bool "Kernel low-level debugging message via MMP UART3"
417fa4cd2a8SHaojian Zhuang		depends on ARCH_MMP
4184a003647SRussell King		select DEBUG_UART_8250
419fa4cd2a8SHaojian Zhuang		help
420fa4cd2a8SHaojian Zhuang		  Say Y here if you want kernel low-level debugging support
421fa4cd2a8SHaojian Zhuang		  on MMP UART3.
422fa4cd2a8SHaojian Zhuang
4237098cff2SIvan T. Ivanov	config DEBUG_MSM_UART
4247098cff2SIvan T. Ivanov		bool "Kernel low-level debugging messages via MSM UART"
4257098cff2SIvan T. Ivanov		depends on ARCH_MSM
426650e3f0dSStephen Boyd		help
427650e3f0dSStephen Boyd		  Say Y here if you want the debug print routines to direct
4287098cff2SIvan T. Ivanov		  their output to the serial port on MSM devices.
429650e3f0dSStephen Boyd
4307098cff2SIvan T. Ivanov		  ARCH                DEBUG_UART_PHYS   DEBUG_UART_BASE   #
4317098cff2SIvan T. Ivanov		  MSM7X00A, QSD8X50   0xa9a00000        0xe1000000        UART1
4327098cff2SIvan T. Ivanov		  MSM7X00A, QSD8X50   0xa9b00000        0xe1000000        UART2
4337098cff2SIvan T. Ivanov		  MSM7X00A, QSD8X50   0xa9c00000        0xe1000000        UART3
434650e3f0dSStephen Boyd
4357098cff2SIvan T. Ivanov		  MSM7X30             0xaca00000        0xe1000000        UART1
4367098cff2SIvan T. Ivanov		  MSM7X30             0xacb00000        0xe1000000        UART2
4377098cff2SIvan T. Ivanov		  MSM7X30             0xacc00000        0xe1000000        UART3
438650e3f0dSStephen Boyd
4397098cff2SIvan T. Ivanov		  Please adjust DEBUG_UART_PHYS and DEBUG_UART_BASE configuration
4407098cff2SIvan T. Ivanov		  options based on your needs.
441a3d3ef9dSStephen Boyd
4427098cff2SIvan T. Ivanov	config DEBUG_QCOM_UARTDM
4437098cff2SIvan T. Ivanov		bool "Kernel low-level debugging messages via QCOM UARTDM"
4447098cff2SIvan T. Ivanov		depends on ARCH_QCOM
445a3d3ef9dSStephen Boyd		help
446a3d3ef9dSStephen Boyd		  Say Y here if you want the debug print routines to direct
4477098cff2SIvan T. Ivanov		  their output to the serial port on Qualcomm devices.
448a3d3ef9dSStephen Boyd
4497098cff2SIvan T. Ivanov		  ARCH      DEBUG_UART_PHYS   DEBUG_UART_BASE
4502f528dd3SGeorgi Djakov		  APQ8084   0xf995e000        0xfa75e000
4517098cff2SIvan T. Ivanov		  MSM8X60   0x19c40000        0xf0040000
4527098cff2SIvan T. Ivanov		  MSM8960   0x16440000        0xf0040000
4537098cff2SIvan T. Ivanov		  MSM8974   0xf991e000        0xfa71e000
4547098cff2SIvan T. Ivanov
4557098cff2SIvan T. Ivanov		  Please adjust DEBUG_UART_PHYS and DEBUG_UART_BASE configuration
4567098cff2SIvan T. Ivanov		  options based on your needs.
4573c8828f6SRohit Vaswani
458bfd5af99SRob Herring	config DEBUG_MVEBU_UART
459c2804cd6SThomas Petazzoni		bool "Kernel low-level debugging messages via MVEBU UART (old bootloaders)"
460bfd5af99SRob Herring		depends on ARCH_MVEBU
4614a003647SRussell King		select DEBUG_UART_8250
462bfd5af99SRob Herring		help
463bfd5af99SRob Herring		  Say Y here if you want kernel low-level debugging support
464bfd5af99SRob Herring		  on MVEBU based platforms.
465bfd5af99SRob Herring
466c2804cd6SThomas Petazzoni		  This option should be used with the old bootloaders
467c2804cd6SThomas Petazzoni		  that left the internal registers mapped at
468c2804cd6SThomas Petazzoni		  0xd0000000. As of today, this is the case on
469c2804cd6SThomas Petazzoni		  platforms such as the Globalscale Mirabox or the
470c2804cd6SThomas Petazzoni		  Plathome OpenBlocks AX3, when using the original
471c2804cd6SThomas Petazzoni		  bootloader.
472c2804cd6SThomas Petazzoni
473c2804cd6SThomas Petazzoni		  If the wrong DEBUG_MVEBU_UART* option is selected,
474c2804cd6SThomas Petazzoni		  when u-boot hands over to the kernel, the system
475c2804cd6SThomas Petazzoni		  silently crashes, with no serial output at all.
476c2804cd6SThomas Petazzoni
477c2804cd6SThomas Petazzoni	config DEBUG_MVEBU_UART_ALTERNATE
478c2804cd6SThomas Petazzoni		bool "Kernel low-level debugging messages via MVEBU UART (new bootloaders)"
479c2804cd6SThomas Petazzoni		depends on ARCH_MVEBU
4804a003647SRussell King		select DEBUG_UART_8250
481c2804cd6SThomas Petazzoni		help
482c2804cd6SThomas Petazzoni		  Say Y here if you want kernel low-level debugging support
483c2804cd6SThomas Petazzoni		  on MVEBU based platforms.
484c2804cd6SThomas Petazzoni
485c2804cd6SThomas Petazzoni		  This option should be used with the new bootloaders
486c2804cd6SThomas Petazzoni		  that remap the internal registers at 0xf1000000.
487c2804cd6SThomas Petazzoni
488c2804cd6SThomas Petazzoni		  If the wrong DEBUG_MVEBU_UART* option is selected,
489c2804cd6SThomas Petazzoni		  when u-boot hands over to the kernel, the system
490c2804cd6SThomas Petazzoni		  silently crashes, with no serial output at all.
491c2804cd6SThomas Petazzoni
492c7c3eac6SShawn Guo	config DEBUG_VF_UART
493c7c3eac6SShawn Guo		bool "Vybrid UART"
494c7c3eac6SShawn Guo		depends on SOC_VF610
495c7c3eac6SShawn Guo		help
496c7c3eac6SShawn Guo		  Say Y here if you want kernel low-level debugging support
497c7c3eac6SShawn Guo		  on Vybrid based platforms.
498c7c3eac6SShawn Guo
499266c3479SLinus Walleij	config DEBUG_NOMADIK_UART
500266c3479SLinus Walleij		bool "Kernel low-level debugging messages via NOMADIK UART"
501266c3479SLinus Walleij		depends on ARCH_NOMADIK
5025c972af4SRussell King		select DEBUG_UART_PL01X
503266c3479SLinus Walleij		help
504266c3479SLinus Walleij		  Say Y here if you want kernel low-level debugging support
505266c3479SLinus Walleij		  on NOMADIK based platforms.
506266c3479SLinus Walleij
5079851ca57SDaniel Tang	config DEBUG_NSPIRE_CLASSIC_UART
5089851ca57SDaniel Tang		bool "Kernel low-level debugging via TI-NSPIRE 8250 UART"
5099851ca57SDaniel Tang		depends on ARCH_NSPIRE
5104a003647SRussell King		select DEBUG_UART_8250
5119851ca57SDaniel Tang		help
5129851ca57SDaniel Tang		  Say Y here if you want kernel low-level debugging support
5139851ca57SDaniel Tang		  on TI-NSPIRE classic models.
5149851ca57SDaniel Tang
5159851ca57SDaniel Tang	config DEBUG_NSPIRE_CX_UART
5169851ca57SDaniel Tang		bool "Kernel low-level debugging via TI-NSPIRE PL011 UART"
5179851ca57SDaniel Tang		depends on ARCH_NSPIRE
5185c972af4SRussell King		select DEBUG_UART_PL01X
5199851ca57SDaniel Tang		help
5209851ca57SDaniel Tang		  Say Y here if you want kernel low-level debugging support
5219851ca57SDaniel Tang		  on TI-NSPIRE CX models.
5229851ca57SDaniel Tang
523cce278d2SRussell King	config DEBUG_OMAP2UART1
524cce278d2SRussell King		bool "OMAP2/3/4 UART1 (omap2/3 sdp boards and some omap3 boards)"
525808b7e07STony Lindgren		depends on ARCH_OMAP2PLUS
526cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
527808b7e07STony Lindgren		help
528cce278d2SRussell King		  This covers at least h4, 2430sdp, 3430sdp, 3630sdp,
529cce278d2SRussell King		  omap3 torpedo and 3530 lv som.
530cce278d2SRussell King
531cce278d2SRussell King	config DEBUG_OMAP2UART2
532cce278d2SRussell King		bool "Kernel low-level debugging messages via OMAP2/3/4 UART2"
533cce278d2SRussell King		depends on ARCH_OMAP2PLUS
534cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
535cce278d2SRussell King
536cce278d2SRussell King	config DEBUG_OMAP2UART3
537cce278d2SRussell King		bool "Kernel low-level debugging messages via OMAP2 UART3 (n8x0)"
538cce278d2SRussell King		depends on ARCH_OMAP2PLUS
539cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
540cce278d2SRussell King
541cce278d2SRussell King	config DEBUG_OMAP3UART3
542cce278d2SRussell King		bool "Kernel low-level debugging messages via OMAP3 UART3 (most omap3 boards)"
543cce278d2SRussell King		depends on ARCH_OMAP2PLUS
544cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
545cce278d2SRussell King		help
546cce278d2SRussell King		  This covers at least cm_t3x, beagle, crane, devkit8000,
547cce278d2SRussell King		  igep00x0, ldp, n900, n9(50), pandora, overo, touchbook,
548cce278d2SRussell King		  and 3517evm.
549cce278d2SRussell King
550cce278d2SRussell King	config DEBUG_OMAP4UART3
551cce278d2SRussell King		bool "Kernel low-level debugging messages via OMAP4/5 UART3 (omap4 blaze, panda, omap5 sevm)"
552cce278d2SRussell King		depends on ARCH_OMAP2PLUS
553cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
554cce278d2SRussell King
555cce278d2SRussell King	config DEBUG_OMAP3UART4
556cce278d2SRussell King		bool "Kernel low-level debugging messages via OMAP36XX UART4"
557cce278d2SRussell King		depends on ARCH_OMAP2PLUS
558cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
559cce278d2SRussell King
560cce278d2SRussell King	config DEBUG_OMAP4UART4
561cce278d2SRussell King		bool "Kernel low-level debugging messages via OMAP4/5 UART4"
562cce278d2SRussell King		depends on ARCH_OMAP2PLUS
563cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
564cce278d2SRussell King
565cce278d2SRussell King	config DEBUG_TI81XXUART1
566cce278d2SRussell King		bool "Kernel low-level debugging messages via TI81XX UART1 (ti8148evm)"
567cce278d2SRussell King		depends on ARCH_OMAP2PLUS
568cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
569cce278d2SRussell King
570cce278d2SRussell King	config DEBUG_TI81XXUART2
571cce278d2SRussell King		bool "Kernel low-level debugging messages via TI81XX UART2"
572cce278d2SRussell King		depends on ARCH_OMAP2PLUS
573cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
574cce278d2SRussell King
575cce278d2SRussell King	config DEBUG_TI81XXUART3
576cce278d2SRussell King		bool "Kernel low-level debugging messages via TI81XX UART3 (ti8168evm)"
577cce278d2SRussell King		depends on ARCH_OMAP2PLUS
578cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
579cce278d2SRussell King
580cce278d2SRussell King	config DEBUG_AM33XXUART1
581cce278d2SRussell King		bool "Kernel low-level debugging messages via AM33XX UART1"
582cce278d2SRussell King		depends on ARCH_OMAP2PLUS
583cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
584cce278d2SRussell King
585cce278d2SRussell King	config DEBUG_ZOOM_UART
586cce278d2SRussell King		bool "Kernel low-level debugging messages via Zoom2/3 UART"
587cce278d2SRussell King		depends on ARCH_OMAP2PLUS
588cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
589808b7e07STony Lindgren
59059bba2a9SRob Herring	config DEBUG_PICOXCELL_UART
59159bba2a9SRob Herring		depends on ARCH_PICOXCELL
59259bba2a9SRob Herring		bool "Use PicoXcell UART for low-level debug"
5930b4cccbeSRussell King		select DEBUG_UART_8250
59459bba2a9SRob Herring		help
59559bba2a9SRob Herring		  Say Y here if you want kernel low-level debugging support
59659bba2a9SRob Herring		  on PicoXcell based platforms.
59759bba2a9SRob Herring
5980a43cd3bSHaojian Zhuang	config DEBUG_PXA_UART1
5990a43cd3bSHaojian Zhuang		depends on ARCH_PXA
6000a43cd3bSHaojian Zhuang		bool "Use PXA UART1 for low-level debug"
6014a003647SRussell King		select DEBUG_UART_8250
6020a43cd3bSHaojian Zhuang		help
6030a43cd3bSHaojian Zhuang		  Say Y here if you want kernel low-level debugging support
6040a43cd3bSHaojian Zhuang		  on PXA UART1.
6050a43cd3bSHaojian Zhuang
606e76f4750SRussell King	config DEBUG_REALVIEW_STD_PORT
607e76f4750SRussell King		bool "RealView Default UART"
608e76f4750SRussell King		depends on ARCH_REALVIEW
6095c972af4SRussell King		select DEBUG_UART_PL01X
610e76f4750SRussell King		help
611e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
612e76f4750SRussell King		  their output to the serial port on RealView EB, PB11MP, PBA8
613e76f4750SRussell King		  and PBX platforms.
614e76f4750SRussell King
615e76f4750SRussell King	config DEBUG_REALVIEW_PB1176_PORT
616e76f4750SRussell King		bool "RealView PB1176 UART"
617e76f4750SRussell King		depends on MACH_REALVIEW_PB1176
6185c972af4SRussell King		select DEBUG_UART_PL01X
619e76f4750SRussell King		help
620e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
621e76f4750SRussell King		  their output to the standard serial port on the RealView
622e76f4750SRussell King		  PB1176 platform.
623e76f4750SRussell King
624cce278d2SRussell King	config DEBUG_RK29_UART0
625cce278d2SRussell King		bool "Kernel low-level debugging messages via Rockchip RK29 UART0"
62638bd6892SHeiko Stuebner		depends on ARCH_ROCKCHIP
6274a003647SRussell King		select DEBUG_UART_8250
628cce278d2SRussell King		help
629cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
630cce278d2SRussell King		  on Rockchip based platforms.
631cce278d2SRussell King
632cce278d2SRussell King	config DEBUG_RK29_UART1
633cce278d2SRussell King		bool "Kernel low-level debugging messages via Rockchip RK29 UART1"
634cce278d2SRussell King		depends on ARCH_ROCKCHIP
6354a003647SRussell King		select DEBUG_UART_8250
636cce278d2SRussell King		help
637cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
638cce278d2SRussell King		  on Rockchip based platforms.
639cce278d2SRussell King
640cce278d2SRussell King	config DEBUG_RK29_UART2
641cce278d2SRussell King		bool "Kernel low-level debugging messages via Rockchip RK29 UART2"
642cce278d2SRussell King		depends on ARCH_ROCKCHIP
6434a003647SRussell King		select DEBUG_UART_8250
644cce278d2SRussell King		help
645cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
646cce278d2SRussell King		  on Rockchip based platforms.
647cce278d2SRussell King
648cce278d2SRussell King	config DEBUG_RK3X_UART0
649aa9c4f74SHeiko Stuebner		bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART0"
650cce278d2SRussell King		depends on ARCH_ROCKCHIP
6514a003647SRussell King		select DEBUG_UART_8250
652cce278d2SRussell King		help
653cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
654cce278d2SRussell King		  on Rockchip based platforms.
655cce278d2SRussell King
656cce278d2SRussell King	config DEBUG_RK3X_UART1
657aa9c4f74SHeiko Stuebner		bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART1"
658cce278d2SRussell King		depends on ARCH_ROCKCHIP
6594a003647SRussell King		select DEBUG_UART_8250
660cce278d2SRussell King		help
661cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
662cce278d2SRussell King		  on Rockchip based platforms.
663cce278d2SRussell King
664cce278d2SRussell King	config DEBUG_RK3X_UART2
665aa9c4f74SHeiko Stuebner		bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART2"
666cce278d2SRussell King		depends on ARCH_ROCKCHIP
6674a003647SRussell King		select DEBUG_UART_8250
668cce278d2SRussell King		help
669cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
670cce278d2SRussell King		  on Rockchip based platforms.
671cce278d2SRussell King
672cce278d2SRussell King	config DEBUG_RK3X_UART3
673aa9c4f74SHeiko Stuebner		bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART3"
674cce278d2SRussell King		depends on ARCH_ROCKCHIP
6754a003647SRussell King		select DEBUG_UART_8250
67638bd6892SHeiko Stuebner		help
67738bd6892SHeiko Stuebner		  Say Y here if you want kernel low-level debugging support
67838bd6892SHeiko Stuebner		  on Rockchip based platforms.
67938bd6892SHeiko Stuebner
680efd02ee9SHeiko Stuebner	config DEBUG_RK32_UART2
681efd02ee9SHeiko Stuebner		bool "Kernel low-level debugging messages via Rockchip RK32 UART2"
682efd02ee9SHeiko Stuebner		depends on ARCH_ROCKCHIP
683efd02ee9SHeiko Stuebner		select DEBUG_UART_8250
684efd02ee9SHeiko Stuebner		help
685efd02ee9SHeiko Stuebner		  Say Y here if you want kernel low-level debugging support
686efd02ee9SHeiko Stuebner		  on Rockchip RK32xx based platforms.
687efd02ee9SHeiko Stuebner
6887a2071c5SGeert Uytterhoeven	config DEBUG_R7S72100_SCIF2
6897a2071c5SGeert Uytterhoeven		bool "Kernel low-level debugging messages via SCIF2 on R7S72100"
6907a2071c5SGeert Uytterhoeven		depends on ARCH_R7S72100
6917a2071c5SGeert Uytterhoeven		help
6927a2071c5SGeert Uytterhoeven		  Say Y here if you want kernel low-level debugging support
6937a2071c5SGeert Uytterhoeven		  via SCIF2 on Renesas RZ/A1H (R7S72100).
6947a2071c5SGeert Uytterhoeven
6957a2071c5SGeert Uytterhoeven	config DEBUG_RCAR_GEN1_SCIF0
6967a2071c5SGeert Uytterhoeven		bool "Kernel low-level debugging messages via SCIF0 on R8A7778"
6977a2071c5SGeert Uytterhoeven		depends on ARCH_R8A7778
6987a2071c5SGeert Uytterhoeven		help
6997a2071c5SGeert Uytterhoeven		  Say Y here if you want kernel low-level debugging support
7007a2071c5SGeert Uytterhoeven		  via SCIF0 on Renesas R-Car M1A (R8A7778).
7017a2071c5SGeert Uytterhoeven
7027a2071c5SGeert Uytterhoeven	config DEBUG_RCAR_GEN1_SCIF2
7037a2071c5SGeert Uytterhoeven		bool "Kernel low-level debugging messages via SCIF2 on R8A7779"
7047a2071c5SGeert Uytterhoeven		depends on ARCH_R8A7779
7057a2071c5SGeert Uytterhoeven		help
7067a2071c5SGeert Uytterhoeven		  Say Y here if you want kernel low-level debugging support
7077a2071c5SGeert Uytterhoeven		  via SCIF2 on Renesas R-Car H1 (R8A7779).
7087a2071c5SGeert Uytterhoeven
7097a2071c5SGeert Uytterhoeven	config DEBUG_RCAR_GEN2_SCIF0
7107a2071c5SGeert Uytterhoeven		bool "Kernel low-level debugging messages via SCIF0 on R8A7790/R8A7791/R8A7793)"
7117a2071c5SGeert Uytterhoeven		depends on ARCH_R8A7790 || ARCH_R8A7791 || ARCH_R8A7793
7127a2071c5SGeert Uytterhoeven		help
7137a2071c5SGeert Uytterhoeven		  Say Y here if you want kernel low-level debugging support
7147a2071c5SGeert Uytterhoeven		  via SCIF0 on Renesas R-Car H2 (R8A7790), M2-W (R8A7791), or
7157a2071c5SGeert Uytterhoeven		  M2-N (R8A7793).
7167a2071c5SGeert Uytterhoeven
7177a2071c5SGeert Uytterhoeven	config DEBUG_RCAR_GEN2_SCIF2
7187a2071c5SGeert Uytterhoeven		bool "Kernel low-level debugging messages via SCIF2 on R8A7794"
7197a2071c5SGeert Uytterhoeven		depends on ARCH_R8A7794
7207a2071c5SGeert Uytterhoeven		help
7217a2071c5SGeert Uytterhoeven		  Say Y here if you want kernel low-level debugging support
7227a2071c5SGeert Uytterhoeven		  via SCIF2 on Renesas R-Car E2 (R8A7794).
7237a2071c5SGeert Uytterhoeven
7247a2071c5SGeert Uytterhoeven	config DEBUG_RMOBILE_SCIFA0
7257a2071c5SGeert Uytterhoeven		bool "Kernel low-level debugging messages via SCIFA0 on R8A73A4/SH7372"
7267a2071c5SGeert Uytterhoeven		depends on ARCH_R8A73A4 || ARCH_SH7372
7277a2071c5SGeert Uytterhoeven		help
7287a2071c5SGeert Uytterhoeven		  Say Y here if you want kernel low-level debugging support
7297a2071c5SGeert Uytterhoeven		  via SCIFA0 on Renesas R-Mobile APE6 (R8A73A4) or SH-Mobile
7307a2071c5SGeert Uytterhoeven		  AP4 (SH7372).
7317a2071c5SGeert Uytterhoeven
7327a2071c5SGeert Uytterhoeven	config DEBUG_RMOBILE_SCIFA1
7337a2071c5SGeert Uytterhoeven		bool "Kernel low-level debugging messages via SCIFA1 on R8A7740"
7347a2071c5SGeert Uytterhoeven		depends on ARCH_R8A7740
7357a2071c5SGeert Uytterhoeven		help
7367a2071c5SGeert Uytterhoeven		  Say Y here if you want kernel low-level debugging support
7377a2071c5SGeert Uytterhoeven		  via SCIFA1 on Renesas R-Mobile A1 (R8A7740).
7387a2071c5SGeert Uytterhoeven
7397a2071c5SGeert Uytterhoeven	config DEBUG_RMOBILE_SCIFA4
7407a2071c5SGeert Uytterhoeven		bool "Kernel low-level debugging messages via SCIFA4 on SH73A0"
7417a2071c5SGeert Uytterhoeven		depends on ARCH_SH73A0
7427a2071c5SGeert Uytterhoeven		help
7437a2071c5SGeert Uytterhoeven		  Say Y here if you want kernel low-level debugging support
7447a2071c5SGeert Uytterhoeven		  via SCIFA4 on Renesas SH-Mobile AG5 (SH73A0).
7457a2071c5SGeert Uytterhoeven
746e76f4750SRussell King	config DEBUG_S3C_UART0
747e76f4750SRussell King		depends on PLAT_SAMSUNG
748a2e40710SArnd Bergmann		select DEBUG_EXYNOS_UART if ARCH_EXYNOS
7491899de28SHeiko Stuebner		select DEBUG_S3C24XX_UART if ARCH_S3C24XX
7507bab7d9eSTomasz Figa		select DEBUG_S5PV210_UART if ARCH_S5PV210
7515cc8a016SSachin Kamat		bool "Use Samsung S3C UART 0 for low-level debug"
752e76f4750SRussell King		help
753e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
754e76f4750SRussell King		  their output to UART 0. The port must have been initialised
755e76f4750SRussell King		  by the boot-loader before use.
756e76f4750SRussell King
757e76f4750SRussell King	config DEBUG_S3C_UART1
758e76f4750SRussell King		depends on PLAT_SAMSUNG
759a2e40710SArnd Bergmann		select DEBUG_EXYNOS_UART if ARCH_EXYNOS
7601899de28SHeiko Stuebner		select DEBUG_S3C24XX_UART if ARCH_S3C24XX
7617bab7d9eSTomasz Figa		select DEBUG_S5PV210_UART if ARCH_S5PV210
7625cc8a016SSachin Kamat		bool "Use Samsung S3C UART 1 for low-level debug"
763e76f4750SRussell King		help
764e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
765e76f4750SRussell King		  their output to UART 1. The port must have been initialised
766e76f4750SRussell King		  by the boot-loader before use.
767e76f4750SRussell King
768e76f4750SRussell King	config DEBUG_S3C_UART2
769e76f4750SRussell King		depends on PLAT_SAMSUNG
770a2e40710SArnd Bergmann		select DEBUG_EXYNOS_UART if ARCH_EXYNOS
7711899de28SHeiko Stuebner		select DEBUG_S3C24XX_UART if ARCH_S3C24XX
7727bab7d9eSTomasz Figa		select DEBUG_S5PV210_UART if ARCH_S5PV210
7735cc8a016SSachin Kamat		bool "Use Samsung S3C UART 2 for low-level debug"
774e76f4750SRussell King		help
775e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
776e76f4750SRussell King		  their output to UART 2. The port must have been initialised
777e76f4750SRussell King		  by the boot-loader before use.
778e76f4750SRussell King
7795fa23ddeSOlof Johansson	config DEBUG_S3C_UART3
7807bab7d9eSTomasz Figa		depends on PLAT_SAMSUNG && (ARCH_EXYNOS || ARCH_S5PV210)
7817bab7d9eSTomasz Figa		select DEBUG_EXYNOS_UART if ARCH_EXYNOS
7827bab7d9eSTomasz Figa		select DEBUG_S5PV210_UART if ARCH_S5PV210
7835cc8a016SSachin Kamat		bool "Use Samsung S3C UART 3 for low-level debug"
7845fa23ddeSOlof Johansson		help
7855fa23ddeSOlof Johansson		  Say Y here if you want the debug print routines to direct
7865fa23ddeSOlof Johansson		  their output to UART 3. The port must have been initialised
7875fa23ddeSOlof Johansson		  by the boot-loader before use.
7885fa23ddeSOlof Johansson
789daf67dfcSHeiko Stuebner	config DEBUG_S3C2410_UART0
790daf67dfcSHeiko Stuebner		depends on ARCH_S3C24XX
791daf67dfcSHeiko Stuebner		select DEBUG_S3C2410_UART
792daf67dfcSHeiko Stuebner		bool "Use S3C2410/S3C2412 UART 0 for low-level debug"
793daf67dfcSHeiko Stuebner		help
794daf67dfcSHeiko Stuebner		  Say Y here if you want the debug print routines to direct
795daf67dfcSHeiko Stuebner		  their output to UART 0. The port must have been initialised
796daf67dfcSHeiko Stuebner		  by the boot-loader before use.
797daf67dfcSHeiko Stuebner
798daf67dfcSHeiko Stuebner	config DEBUG_S3C2410_UART1
799daf67dfcSHeiko Stuebner		depends on ARCH_S3C24XX
800daf67dfcSHeiko Stuebner		select DEBUG_S3C2410_UART
801daf67dfcSHeiko Stuebner		bool "Use S3C2410/S3C2412 UART 1 for low-level debug"
802daf67dfcSHeiko Stuebner		help
803daf67dfcSHeiko Stuebner		  Say Y here if you want the debug print routines to direct
804daf67dfcSHeiko Stuebner		  their output to UART 1. The port must have been initialised
805daf67dfcSHeiko Stuebner		  by the boot-loader before use.
806daf67dfcSHeiko Stuebner
807daf67dfcSHeiko Stuebner	config DEBUG_S3C2410_UART2
808daf67dfcSHeiko Stuebner		depends on ARCH_S3C24XX
809daf67dfcSHeiko Stuebner		select DEBUG_S3C2410_UART
810daf67dfcSHeiko Stuebner		bool "Use S3C2410/S3C2412 UART 2 for low-level debug"
811daf67dfcSHeiko Stuebner		help
812daf67dfcSHeiko Stuebner		  Say Y here if you want the debug print routines to direct
813daf67dfcSHeiko Stuebner		  their output to UART 2. The port must have been initialised
814daf67dfcSHeiko Stuebner		  by the boot-loader before use.
815daf67dfcSHeiko Stuebner
816e6131fa3SDmitry Eremin-Solenikov	config DEBUG_SA1100
817e6131fa3SDmitry Eremin-Solenikov		depends on ARCH_SA1100
818e6131fa3SDmitry Eremin-Solenikov		bool "Use SA1100 UARTs for low-level debug"
819e6131fa3SDmitry Eremin-Solenikov		help
820e6131fa3SDmitry Eremin-Solenikov		  Say Y here if you want kernel low-level debugging support
821e6131fa3SDmitry Eremin-Solenikov		  on SA-11x0 UART ports. The kernel will check for the first
822e6131fa3SDmitry Eremin-Solenikov		  enabled UART in a sequence 3-1-2.
823e6131fa3SDmitry Eremin-Solenikov
8246111bf7cSRob Herring	config DEBUG_SOCFPGA_UART
8256111bf7cSRob Herring		depends on ARCH_SOCFPGA
8266111bf7cSRob Herring		bool "Use SOCFPGA UART for low-level debug"
8270b4cccbeSRussell King		select DEBUG_UART_8250
8286111bf7cSRob Herring		help
8296111bf7cSRob Herring		  Say Y here if you want kernel low-level debugging support
8306111bf7cSRob Herring		  on SOCFPGA based platforms.
8316111bf7cSRob Herring
832d4da889aSChen-Yu Tsai	config DEBUG_SUN9I_UART0
833d4da889aSChen-Yu Tsai		bool "Kernel low-level debugging messages via sun9i UART0"
834d4da889aSChen-Yu Tsai		depends on MACH_SUN9I
835d4da889aSChen-Yu Tsai		select DEBUG_UART_8250
836d4da889aSChen-Yu Tsai		help
837d4da889aSChen-Yu Tsai		  Say Y here if you want kernel low-level debugging support
838d4da889aSChen-Yu Tsai		  on Allwinner A80 based platforms on the UART0.
839d4da889aSChen-Yu Tsai
840aa25115aSStefan Roese	config DEBUG_SUNXI_UART0
841aa25115aSStefan Roese		bool "Kernel low-level debugging messages via sunXi UART0"
842aa25115aSStefan Roese		depends on ARCH_SUNXI
8434a003647SRussell King		select DEBUG_UART_8250
844aa25115aSStefan Roese		help
845aa25115aSStefan Roese		  Say Y here if you want kernel low-level debugging support
846aa25115aSStefan Roese		  on Allwinner A1X based platforms on the UART0.
847aa25115aSStefan Roese
848cb84fa18SMaxime Ripard	config DEBUG_SUNXI_UART1
849cb84fa18SMaxime Ripard		bool "Kernel low-level debugging messages via sunXi UART1"
850cb84fa18SMaxime Ripard		depends on ARCH_SUNXI
8514a003647SRussell King		select DEBUG_UART_8250
852cb84fa18SMaxime Ripard		help
853cb84fa18SMaxime Ripard		  Say Y here if you want kernel low-level debugging support
854cb84fa18SMaxime Ripard		  on Allwinner A1X based platforms on the UART1.
855cb84fa18SMaxime Ripard
856c4718543SChen-Yu Tsai	config DEBUG_SUNXI_R_UART
857c4718543SChen-Yu Tsai		bool "Kernel low-level debugging messages via sunXi R_UART"
858c4718543SChen-Yu Tsai		depends on MACH_SUN6I || MACH_SUN8I
859c4718543SChen-Yu Tsai		select DEBUG_UART_8250
860c4718543SChen-Yu Tsai		help
861c4718543SChen-Yu Tsai		  Say Y here if you want kernel low-level debugging support
862c4718543SChen-Yu Tsai		  on Allwinner A31/A23 based platforms on the R_UART.
863c4718543SChen-Yu Tsai
864cce278d2SRussell King	config TEGRA_DEBUG_UART_AUTO_ODMDATA
865cce278d2SRussell King		bool "Kernel low-level debugging messages via Tegra UART via ODMDATA"
86646067803SStephen Warren		depends on ARCH_TEGRA
867cce278d2SRussell King		select DEBUG_TEGRA_UART
868cce278d2SRussell King		help
869cce278d2SRussell King		  Automatically determines which UART to use for low-level
870cce278d2SRussell King		  debug based on the ODMDATA value. This value is part of
871cce278d2SRussell King		  the BCT, and is written to the boot memory device using
872cce278d2SRussell King		  nvflash, or other flashing tool.  When bits 19:18 are 3,
873cce278d2SRussell King		  then bits 17:15 indicate which UART to use; 0/1/2/3/4
874cce278d2SRussell King		  are UART A/B/C/D/E.
875cce278d2SRussell King
876cce278d2SRussell King	config TEGRA_DEBUG_UARTA
877cce278d2SRussell King		bool "Kernel low-level debugging messages via Tegra UART A"
878cce278d2SRussell King		depends on ARCH_TEGRA
879cce278d2SRussell King		select DEBUG_TEGRA_UART
880cce278d2SRussell King		help
881cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
882cce278d2SRussell King		  on Tegra based platforms.
883cce278d2SRussell King
884cce278d2SRussell King	config TEGRA_DEBUG_UARTB
885cce278d2SRussell King		bool "Kernel low-level debugging messages via Tegra UART B"
886cce278d2SRussell King		depends on ARCH_TEGRA
887cce278d2SRussell King		select DEBUG_TEGRA_UART
888cce278d2SRussell King		help
889cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
890cce278d2SRussell King		  on Tegra based platforms.
891cce278d2SRussell King
892cce278d2SRussell King	config TEGRA_DEBUG_UARTC
893cce278d2SRussell King		bool "Kernel low-level debugging messages via Tegra UART C"
894cce278d2SRussell King		depends on ARCH_TEGRA
895cce278d2SRussell King		select DEBUG_TEGRA_UART
896cce278d2SRussell King		help
897cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
898cce278d2SRussell King		  on Tegra based platforms.
899cce278d2SRussell King
900cce278d2SRussell King	config TEGRA_DEBUG_UARTD
901cce278d2SRussell King		bool "Kernel low-level debugging messages via Tegra UART D"
902cce278d2SRussell King		depends on ARCH_TEGRA
903cce278d2SRussell King		select DEBUG_TEGRA_UART
904cce278d2SRussell King		help
905cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
906cce278d2SRussell King		  on Tegra based platforms.
907cce278d2SRussell King
908cce278d2SRussell King	config TEGRA_DEBUG_UARTE
909cce278d2SRussell King		bool "Kernel low-level debugging messages via Tegra UART E"
910cce278d2SRussell King		depends on ARCH_TEGRA
911cce278d2SRussell King		select DEBUG_TEGRA_UART
91246067803SStephen Warren		help
91346067803SStephen Warren		  Say Y here if you want kernel low-level debugging support
91446067803SStephen Warren		  on Tegra based platforms.
91546067803SStephen Warren
9167f46a107SBarry Song	config DEBUG_SIRFPRIMA2_UART1
9177f46a107SBarry Song		bool "Kernel low-level debugging messages via SiRFprimaII UART1"
9187f46a107SBarry Song		depends on ARCH_PRIMA2
919*01ea63d9SGuo Zeng		select DEBUG_SIRFSOC_UART
9207f46a107SBarry Song		help
9217f46a107SBarry Song		  Say Y here if you want the debug print routines to direct
9227f46a107SBarry Song		  their output to the uart1 port on SiRFprimaII devices.
9237f46a107SBarry Song
924*01ea63d9SGuo Zeng	config DEBUG_SIRFATLAS7_UART0
925*01ea63d9SGuo Zeng		bool "Kernel low-level debugging messages via SiRFatlas7 UART0"
926*01ea63d9SGuo Zeng		depends on ARCH_ATLAS7
927*01ea63d9SGuo Zeng		select DEBUG_SIRFSOC_UART
928*01ea63d9SGuo Zeng		help
929*01ea63d9SGuo Zeng		  Say Y here if you want the debug print routines to direct
930*01ea63d9SGuo Zeng		  their output to the uart0 port on SiRFATLAS7 devices.The uart0
931*01ea63d9SGuo Zeng		  is used on SiRFATLAS7 as a extra debug port.sometimes an extra
932*01ea63d9SGuo Zeng		  debug port can be very useful.
933*01ea63d9SGuo Zeng
934*01ea63d9SGuo Zeng	config DEBUG_SIRFATLAS7_UART1
935*01ea63d9SGuo Zeng		bool "Kernel low-level debugging messages via SiRFatlas7 UART1"
936*01ea63d9SGuo Zeng		depends on ARCH_ATLAS7
937*01ea63d9SGuo Zeng		select DEBUG_SIRFSOC_UART
938*01ea63d9SGuo Zeng		help
939*01ea63d9SGuo Zeng		  Say Y here if you want the debug print routines to direct
940*01ea63d9SGuo Zeng		  their output to the uart1 port on SiRFATLAS7 devices.
941*01ea63d9SGuo Zeng
942cce278d2SRussell King	config STIH41X_DEBUG_ASC2
943cce278d2SRussell King		bool "Use StiH415/416 ASC2 UART for low-level debug"
9445562b800SArnd Bergmann		depends on ARCH_STI
945cce278d2SRussell King		select DEBUG_STI_UART
9465562b800SArnd Bergmann		help
9475562b800SArnd Bergmann		  Say Y here if you want kernel low-level debugging support
948cce278d2SRussell King		  on STiH415/416 based platforms like b2000, which has
949cce278d2SRussell King		  default UART wired up to ASC2.
950cce278d2SRussell King
951cce278d2SRussell King		  If unsure, say N.
952cce278d2SRussell King
953cce278d2SRussell King	config STIH41X_DEBUG_SBC_ASC1
954cce278d2SRussell King		bool "Use StiH415/416 SBC ASC1 UART for low-level debug"
955cce278d2SRussell King		depends on ARCH_STI
956cce278d2SRussell King		select DEBUG_STI_UART
957cce278d2SRussell King		help
958cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
959cce278d2SRussell King		  on STiH415/416 based platforms like b2020. which has
960cce278d2SRussell King		  default UART wired up to SBC ASC1.
9615562b800SArnd Bergmann
9625562b800SArnd Bergmann		  If unsure, say N.
9635562b800SArnd Bergmann
964dd324da7SLinus Walleij	config DEBUG_U300_UART
965dd324da7SLinus Walleij		bool "Kernel low-level debugging messages via U300 UART0"
966dd324da7SLinus Walleij		depends on ARCH_U300
9675c972af4SRussell King		select DEBUG_UART_PL01X
968dd324da7SLinus Walleij		help
969dd324da7SLinus Walleij		  Say Y here if you want the debug print routines to direct
970dd324da7SLinus Walleij		  their output to the uart port on U300 devices.
971dd324da7SLinus Walleij
972f87b95ddSLinus Walleij	config DEBUG_UX500_UART
973f87b95ddSLinus Walleij		depends on ARCH_U8500
974f87b95ddSLinus Walleij		bool "Use Ux500 UART for low-level debug"
975f87b95ddSLinus Walleij		help
976f87b95ddSLinus Walleij		  Say Y here if you want kernel low-level debugging support
977f87b95ddSLinus Walleij		  on Ux500 based platforms.
978f87b95ddSLinus Walleij
979d6682085SMatthias Brugger	config DEBUG_MT6589_UART0
980d6682085SMatthias Brugger		bool "Mediatek mt6589 UART0"
981d6682085SMatthias Brugger		depends on ARCH_MEDIATEK
982d6682085SMatthias Brugger		select DEBUG_UART_8250
983d6682085SMatthias Brugger		help
984d6682085SMatthias Brugger		  Say Y here if you want kernel low-level debugging support
985d6682085SMatthias Brugger		  for Mediatek mt6589 based platforms on UART0.
986d6682085SMatthias Brugger
98765ec48c0SJoe.C	config DEBUG_MT8127_UART0
98865ec48c0SJoe.C		bool "Mediatek mt8127 UART0"
98965ec48c0SJoe.C		depends on ARCH_MEDIATEK
99065ec48c0SJoe.C		select DEBUG_UART_8250
99165ec48c0SJoe.C		help
99265ec48c0SJoe.C		  Say Y here if you want kernel low-level debugging support
99365ec48c0SJoe.C		  for Mediatek mt8127 based platforms on UART0.
99465ec48c0SJoe.C
99565ec48c0SJoe.C	config DEBUG_MT8135_UART3
99665ec48c0SJoe.C		bool "Mediatek mt8135 UART3"
99765ec48c0SJoe.C		depends on ARCH_MEDIATEK
99865ec48c0SJoe.C		select DEBUG_UART_8250
99965ec48c0SJoe.C		help
100065ec48c0SJoe.C		  Say Y here if you want kernel low-level debugging support
100165ec48c0SJoe.C		  for Mediatek mt8135 based platforms on UART3.
100265ec48c0SJoe.C
10031b820eafSPawel Moll	config DEBUG_VEXPRESS_UART0_DETECT
10041b820eafSPawel Moll		bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
10051b820eafSPawel Moll		depends on ARCH_VEXPRESS && CPU_CP15_MMU
10061b820eafSPawel Moll		help
10071b820eafSPawel Moll		  This option enables a simple heuristic which tries to determine
10081b820eafSPawel Moll		  the motherboard's memory map variant (original or RS1) and then
10091b820eafSPawel Moll		  choose the relevant UART0 base address.
10101b820eafSPawel Moll
10111b820eafSPawel Moll		  Note that this will only work with standard A-class core tiles,
10121b820eafSPawel Moll		  and may fail with non-standard SMM or custom software models.
10131b820eafSPawel Moll
10141b820eafSPawel Moll	config DEBUG_VEXPRESS_UART0_CA9
10151b820eafSPawel Moll		bool "Use PL011 UART0 at 0x10009000 (V2P-CA9 core tile)"
10161b820eafSPawel Moll		depends on ARCH_VEXPRESS
10175c972af4SRussell King		select DEBUG_UART_PL01X
10181b820eafSPawel Moll		help
10191b820eafSPawel Moll		  This option selects UART0 at 0x10009000. Except for custom models,
10201b820eafSPawel Moll		  this applies only to the V2P-CA9 tile.
10211b820eafSPawel Moll
10221b820eafSPawel Moll	config DEBUG_VEXPRESS_UART0_RS1
10231b820eafSPawel Moll		bool "Use PL011 UART0 at 0x1c090000 (RS1 complaint tiles)"
10241b820eafSPawel Moll		depends on ARCH_VEXPRESS
10255c972af4SRussell King		select DEBUG_UART_PL01X
10261b820eafSPawel Moll		help
10271b820eafSPawel Moll		  This option selects UART0 at 0x1c090000. This applies to most
10281b820eafSPawel Moll		  of the tiles using the RS1 memory map, including all new A-class
10291b820eafSPawel Moll		  core tiles, FPGA-based SMMs and software models.
10301b820eafSPawel Moll
1031ed18bdc8SJonathan Austin	config DEBUG_VEXPRESS_UART0_CRX
1032ed18bdc8SJonathan Austin		bool "Use PL011 UART0 at 0xb0090000 (Cortex-R compliant tiles)"
1033ed18bdc8SJonathan Austin		depends on ARCH_VEXPRESS && !MMU
10345c972af4SRussell King		select DEBUG_UART_PL01X
1035ed18bdc8SJonathan Austin		help
1036ed18bdc8SJonathan Austin		  This option selects UART0 at 0xb0090000. This is appropriate for
1037ed18bdc8SJonathan Austin		  Cortex-R series tiles and SMMs, such as Cortex-R5 and Cortex-R7
1038ed18bdc8SJonathan Austin
1039b61a2722STony Prisk	config DEBUG_VT8500_UART0
1040b61a2722STony Prisk		bool "Use UART0 on VIA/Wondermedia SoCs"
1041b61a2722STony Prisk		depends on ARCH_VT8500
1042b61a2722STony Prisk		help
1043b61a2722STony Prisk		  This option selects UART0 on VIA/Wondermedia System-on-a-chip
1044b61a2722STony Prisk		  devices, including VT8500, WM8505, WM8650 and WM8850.
1045b61a2722STony Prisk
1046e76f4750SRussell King	config DEBUG_LL_UART_NONE
1047e76f4750SRussell King		bool "No low-level debugging UART"
1048387798b3SRob Herring		depends on !ARCH_MULTIPLATFORM
1049e76f4750SRussell King		help
1050e76f4750SRussell King		  Say Y here if your platform doesn't provide a UART option
1051730cc26fSRussell King		  above. This relies on your platform choosing the right UART
1052e76f4750SRussell King		  definition internally in order for low-level debugging to
1053e76f4750SRussell King		  work.
1054e76f4750SRussell King
1055e76f4750SRussell King	config DEBUG_ICEDCC
1056e76f4750SRussell King		bool "Kernel low-level debugging via EmbeddedICE DCC channel"
1057e76f4750SRussell King		help
1058e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
1059e76f4750SRussell King		  their output to the EmbeddedICE macrocell's DCC channel using
1060e76f4750SRussell King		  co-processor 14. This is known to work on the ARM9 style ICE
1061e76f4750SRussell King		  channel and on the XScale with the PEEDI.
1062e76f4750SRussell King
1063e76f4750SRussell King		  Note that the system will appear to hang during boot if there
1064e76f4750SRussell King		  is nothing connected to read from the DCC.
1065e76f4750SRussell King
1066b0df8986SRussell King	config DEBUG_SEMIHOSTING
106762194bdaSStephen Boyd		bool "Kernel low-level debug output via semihosting I/O"
1068b0df8986SRussell King		help
1069b0df8986SRussell King		  Semihosting enables code running on an ARM target to use
1070b0df8986SRussell King		  the I/O facilities on a host debugger/emulator through a
107162194bdaSStephen Boyd		  simple SVC call. The host debugger or emulator must have
1072b0df8986SRussell King		  semihosting enabled for the special svc call to be trapped
1073b0df8986SRussell King		  otherwise the kernel will crash.
1074b0df8986SRussell King
1075b0df8986SRussell King		  This is known to work with OpenOCD, as well as
1076b0df8986SRussell King		  ARM's Fast Models, or any other controlling environment
1077b0df8986SRussell King		  that implements semihosting.
1078b0df8986SRussell King
1079b0df8986SRussell King		  For more details about semihosting, please see
1080b0df8986SRussell King		  chapter 8 of DUI0203I_rvct_developer_guide.pdf from ARM Ltd.
1081b0df8986SRussell King
1082f8f1279cSRussell King	config DEBUG_LL_UART_8250
1083f8f1279cSRussell King		bool "Kernel low-level debugging via 8250 UART"
1084f8f1279cSRussell King		help
1085f8f1279cSRussell King		  Say Y here if you wish the debug print routes to direct
1086f8f1279cSRussell King		  their output to an 8250 UART.  You can use this option
1087f8f1279cSRussell King		  to provide the parameters for the 8250 UART rather than
1088f8f1279cSRussell King		  selecting one of the platform specific options above if
1089f8f1279cSRussell King		  you know the parameters for the port.
1090f8f1279cSRussell King
1091f8f1279cSRussell King		  This option is preferred over the platform specific
1092f8f1279cSRussell King		  options; the platform specific options are deprecated
1093f8f1279cSRussell King		  and will be soon removed.
1094f8f1279cSRussell King
1095494e492dSUwe Kleine-König	config DEBUG_LL_UART_EFM32
1096494e492dSUwe Kleine-König		bool "Kernel low-level debugging via efm32 UART"
1097494e492dSUwe Kleine-König		depends on ARCH_EFM32
1098494e492dSUwe Kleine-König		help
1099494e492dSUwe Kleine-König		  Say Y here if you want the debug print routines to direct
1100494e492dSUwe Kleine-König		  their output to an UART or USART port on efm32 based
1101494e492dSUwe Kleine-König		  machines. Use the following addresses for DEBUG_UART_PHYS:
1102494e492dSUwe Kleine-König
1103494e492dSUwe Kleine-König		    0x4000c000 | USART0
1104494e492dSUwe Kleine-König		    0x4000c400 | USART1
1105494e492dSUwe Kleine-König		    0x4000c800 | USART2
1106494e492dSUwe Kleine-König		    0x4000e000 | UART0
1107494e492dSUwe Kleine-König		    0x4000e400 | UART1
1108494e492dSUwe Kleine-König
1109f8f1279cSRussell King	config DEBUG_LL_UART_PL01X
1110f8f1279cSRussell King		bool "Kernel low-level debugging via ARM Ltd PL01x Primecell UART"
1111f8f1279cSRussell King		help
1112f8f1279cSRussell King		  Say Y here if you wish the debug print routes to direct
1113f8f1279cSRussell King		  their output to a PL01x Primecell UART.  You can use
1114f8f1279cSRussell King		  this option to provide the parameters for the UART
1115f8f1279cSRussell King		  rather than selecting one of the platform specific
1116f8f1279cSRussell King		  options above if you know the parameters for the port.
1117f8f1279cSRussell King
1118f8f1279cSRussell King		  This option is preferred over the platform specific
1119f8f1279cSRussell King		  options; the platform specific options are deprecated
1120f8f1279cSRussell King		  and will be soon removed.
1121f8f1279cSRussell King
11221da177e4SLinus Torvaldsendchoice
11231da177e4SLinus Torvalds
1124a2e40710SArnd Bergmannconfig DEBUG_EXYNOS_UART
1125a2e40710SArnd Bergmann	bool
1126a2e40710SArnd Bergmann
1127daf67dfcSHeiko Stuebnerconfig DEBUG_S3C2410_UART
1128daf67dfcSHeiko Stuebner	bool
11291899de28SHeiko Stuebner	select DEBUG_S3C24XX_UART
11301899de28SHeiko Stuebner
11311899de28SHeiko Stuebnerconfig DEBUG_S3C24XX_UART
11321899de28SHeiko Stuebner	bool
1133daf67dfcSHeiko Stuebner
11347bab7d9eSTomasz Figaconfig DEBUG_S5PV210_UART
11357bab7d9eSTomasz Figa	bool
11367bab7d9eSTomasz Figa
1137cce278d2SRussell Kingconfig DEBUG_OMAP2PLUS_UART
1138cce278d2SRussell King	bool
1139cce278d2SRussell King	depends on ARCH_OMAP2PLUS
1140cce278d2SRussell King
1141f8c95fe6SShawn Guoconfig DEBUG_IMX_UART_PORT
1142f8c95fe6SShawn Guo	int "i.MX Debug UART Port Selection" if DEBUG_IMX1_UART || \
1143f8c95fe6SShawn Guo						DEBUG_IMX25_UART || \
1144f8c95fe6SShawn Guo						DEBUG_IMX21_IMX27_UART || \
1145f8c95fe6SShawn Guo						DEBUG_IMX31_UART || \
1146f8c95fe6SShawn Guo						DEBUG_IMX35_UART || \
1147ad364a70SGreg Ungerer						DEBUG_IMX50_UART || \
1148f8c95fe6SShawn Guo						DEBUG_IMX51_UART || \
11490c52db7eSPaul Bolle						DEBUG_IMX53_UART || \
115034e8a16bSShawn Guo						DEBUG_IMX6Q_UART || \
115174368e81SShawn Guo						DEBUG_IMX6SL_UART || \
115274368e81SShawn Guo						DEBUG_IMX6SX_UART
115349c9e60eSShawn Guo	default 1
1154287939a3SShawn Guo	depends on ARCH_MXC
115549c9e60eSShawn Guo	help
115649c9e60eSShawn Guo	  Choose UART port on which kernel low-level debug messages
115749c9e60eSShawn Guo	  should be output.
115849c9e60eSShawn Guo
1159cfdb7d56SStefan Agnerconfig DEBUG_VF_UART_PORT
1160cfdb7d56SStefan Agner	int "Vybrid Debug UART Port Selection" if DEBUG_VF_UART
1161cfdb7d56SStefan Agner	default 1
1162cfdb7d56SStefan Agner	range 0 3
1163cfdb7d56SStefan Agner	depends on SOC_VF610
1164cfdb7d56SStefan Agner	help
1165cfdb7d56SStefan Agner	  Choose UART port on which kernel low-level debug messages
1166cfdb7d56SStefan Agner	  should be output.
1167cfdb7d56SStefan Agner
1168cce278d2SRussell Kingconfig DEBUG_TEGRA_UART
1169cce278d2SRussell King	bool
1170cce278d2SRussell King	depends on ARCH_TEGRA
1171808b7e07STony Lindgren
1172cce278d2SRussell Kingconfig DEBUG_STI_UART
1173cce278d2SRussell King	bool
1174cce278d2SRussell King	depends on ARCH_STI
11755026aecfSSrinivas Kandagatla
1176*01ea63d9SGuo Zengconfig DEBUG_SIRFSOC_UART
1177*01ea63d9SGuo Zeng	bool
1178*01ea63d9SGuo Zeng	depends on ARCH_SIRF
1179*01ea63d9SGuo Zeng
118091a9fec0SRob Herringconfig DEBUG_LL_INCLUDE
118191a9fec0SRob Herring	string
1182e6131fa3SDmitry Eremin-Solenikov	default "debug/sa1100.S" if DEBUG_SA1100
1183f8f1279cSRussell King	default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250
1184d5bd4e8dSOleksij Rempel	default "debug/asm9260.S" if DEBUG_ASM9260_UART
1185dd99eef5SAlexander Shiyan	default "debug/clps711x.S" if DEBUG_CLPS711X_UART1 || DEBUG_CLPS711X_UART2
1186d8a00916SCarlo Caione	default "debug/meson.S" if DEBUG_MESON_UARTAO
1187f8f1279cSRussell King	default "debug/pl01x.S" if DEBUG_LL_UART_PL01X || DEBUG_UART_PL01X
1188a2e40710SArnd Bergmann	default "debug/exynos.S" if DEBUG_EXYNOS_UART
1189494e492dSUwe Kleine-König	default "debug/efm32.S" if DEBUG_LL_UART_EFM32
119091a9fec0SRob Herring	default "debug/icedcc.S" if DEBUG_ICEDCC
11916dde5ac5SShawn Guo	default "debug/imx.S" if DEBUG_IMX1_UART || \
11926dde5ac5SShawn Guo				 DEBUG_IMX25_UART || \
11936dde5ac5SShawn Guo				 DEBUG_IMX21_IMX27_UART || \
11944ad625d4SShawn Guo				 DEBUG_IMX31_UART || \
11954ad625d4SShawn Guo				 DEBUG_IMX35_UART || \
1196ad364a70SGreg Ungerer				 DEBUG_IMX50_UART || \
11976dde5ac5SShawn Guo				 DEBUG_IMX51_UART || \
11987356420cSFabio Estevam				 DEBUG_IMX53_UART ||\
119934e8a16bSShawn Guo				 DEBUG_IMX6Q_UART || \
120074368e81SShawn Guo				 DEBUG_IMX6SL_UART || \
120174368e81SShawn Guo				 DEBUG_IMX6SX_UART
12027098cff2SIvan T. Ivanov	default "debug/msm.S" if DEBUG_MSM_UART || DEBUG_QCOM_UARTDM
1203808b7e07STony Lindgren	default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART
12047a2071c5SGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_R7S72100_SCIF2
12057a2071c5SGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_RCAR_GEN1_SCIF0
12067a2071c5SGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_RCAR_GEN1_SCIF2
12077a2071c5SGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF0
12087a2071c5SGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF2
12097a2071c5SGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA0
12107a2071c5SGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA1
12117a2071c5SGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA4
12122cd62bd4SHeiko Stuebner	default "debug/s3c24xx.S" if DEBUG_S3C24XX_UART
12137bab7d9eSTomasz Figa	default "debug/s5pv210.S" if DEBUG_S5PV210_UART
1214*01ea63d9SGuo Zeng	default "debug/sirf.S" if DEBUG_SIRFSOC_UART
12155026aecfSSrinivas Kandagatla	default "debug/sti.S" if DEBUG_STI_UART
1216150a8dcfSLinus Torvalds	default "debug/tegra.S" if DEBUG_TEGRA_UART
1217150a8dcfSLinus Torvalds	default "debug/ux500.S" if DEBUG_UX500_UART
12184e218b99SRussell King	default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT
1219c7c3eac6SShawn Guo	default "debug/vf.S" if DEBUG_VF_UART
1220b61a2722STony Prisk	default "debug/vt8500.S" if DEBUG_VT8500_UART0
1221385f02b1SJosh Cartwright	default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1
1222b51312beSFlorian Fainelli	default "debug/bcm63xx.S" if DEBUG_UART_BCM63XX
122391a9fec0SRob Herring	default "mach/debug-macro.S"
122491a9fec0SRob Herring
1225f8f1279cSRussell King# Compatibility options for PL01x
12265c972af4SRussell Kingconfig DEBUG_UART_PL01X
12275c972af4SRussell King	def_bool ARCH_EP93XX || \
12285c972af4SRussell King		ARCH_INTEGRATOR || \
12290dc0e475SRussell King		ARCH_SPEAR3XX || \
12300dc0e475SRussell King		ARCH_SPEAR6XX || \
12310dc0e475SRussell King		ARCH_SPEAR13XX || \
12325c972af4SRussell King		ARCH_VERSATILE
12335c972af4SRussell King
1234f8f1279cSRussell King# Compatibility options for 8250
12357610b607SRussell Kingconfig DEBUG_UART_8250
12364a003647SRussell King	def_bool ARCH_DOVE || ARCH_EBSA110 || \
12374a003647SRussell King		(FOOTBRIDGE && !DEBUG_DC21285_PORT) || \
12384a003647SRussell King		ARCH_GEMINI || ARCH_IOP13XX || ARCH_IOP32X || \
1239ba364fc7SAndrew Lunn		ARCH_IOP33X || ARCH_IXP4XX || \
12404a003647SRussell King		ARCH_LPC32XX || ARCH_MV78XX0 || ARCH_ORION5X || ARCH_RPC
12414a003647SRussell King
1242b51312beSFlorian Fainelli# Compatibility options for BCM63xx
1243b51312beSFlorian Fainelliconfig DEBUG_UART_BCM63XX
1244b51312beSFlorian Fainelli	def_bool ARCH_BCM_63XX
1245b51312beSFlorian Fainelli
1246c3faa9b7SRussell Kingconfig DEBUG_UART_PHYS
1247c3faa9b7SRussell King	hex "Physical base address of debug UART"
124897bd1a48SRussell King	default 0x01c20000 if DEBUG_DAVINCI_DMx_UART0
1249c3faa9b7SRussell King	default 0x01c28000 if DEBUG_SUNXI_UART0
1250c3faa9b7SRussell King	default 0x01c28400 if DEBUG_SUNXI_UART1
125197bd1a48SRussell King	default 0x01d0c000 if DEBUG_DAVINCI_DA8XX_UART1
125297bd1a48SRussell King	default 0x01d0d000 if DEBUG_DAVINCI_DA8XX_UART2
1253c4718543SChen-Yu Tsai	default 0x01f02800 if DEBUG_SUNXI_R_UART
1254f2acf003SRussell King	default 0x02530c00 if DEBUG_KEYSTONE_UART0
1255f2acf003SRussell King	default 0x02531000 if DEBUG_KEYSTONE_UART1
1256c3faa9b7SRussell King	default 0x03010fe0 if ARCH_RPC
1257d4da889aSChen-Yu Tsai	default 0x07000000 if DEBUG_SUN9I_UART0
1258b125170aSKrzysztof Hałasa	default 0x10009000 if DEBUG_REALVIEW_STD_PORT || \
12595c972af4SRussell King				DEBUG_VEXPRESS_UART0_CA9
12605c972af4SRussell King	default 0x1010c000 if DEBUG_REALVIEW_PB1176_PORT
1261c3faa9b7SRussell King	default 0x10124000 if DEBUG_RK3X_UART0
1262c3faa9b7SRussell King	default 0x10126000 if DEBUG_RK3X_UART1
12635c972af4SRussell King	default 0x101f1000 if ARCH_VERSATILE
12645c972af4SRussell King	default 0x101fb000 if DEBUG_NOMADIK_UART
126565ec48c0SJoe.C	default 0x11002000 if DEBUG_MT8127_UART0
1266d6682085SMatthias Brugger	default 0x11006000 if DEBUG_MT6589_UART0
126765ec48c0SJoe.C	default 0x11009000 if DEBUG_MT8135_UART3
12685c972af4SRussell King	default 0x16000000 if ARCH_INTEGRATOR
126906580275SHauke Mehrtens	default 0x18000300 if DEBUG_BCM_5301X
1270*01ea63d9SGuo Zeng	default 0x18010000 if DEBUG_SIRFATLAS7_UART0
1271*01ea63d9SGuo Zeng	default 0x18020000 if DEBUG_SIRFATLAS7_UART1
12725c972af4SRussell King	default 0x1c090000 if DEBUG_VEXPRESS_UART0_RS1
1273c3faa9b7SRussell King	default 0x20060000 if DEBUG_RK29_UART0
1274c3faa9b7SRussell King	default 0x20064000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1275c3faa9b7SRussell King	default 0x20068000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
12765c972af4SRussell King	default 0x20201000 if DEBUG_BCM2835
1277753d1243SChristian Daudt	default 0x3e000000 if DEBUG_BCM_KONA_UART
1278494e492dSUwe Kleine-König	default 0x4000e400 if DEBUG_LL_UART_EFM32
1279c3faa9b7SRussell King	default 0x40090000 if ARCH_LPC32XX
1280c3faa9b7SRussell King	default 0x40100000 if DEBUG_PXA_UART1
1281c3faa9b7SRussell King	default 0x42000000 if ARCH_GEMINI
12821899de28SHeiko Stuebner	default 0x50000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
12831899de28SHeiko Stuebner				DEBUG_S3C2410_UART0)
12841899de28SHeiko Stuebner	default 0x50004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
12851899de28SHeiko Stuebner				DEBUG_S3C2410_UART1)
12861899de28SHeiko Stuebner	default 0x50008000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART2 || \
12871899de28SHeiko Stuebner				DEBUG_S3C2410_UART2)
1288c3ca2130SKrzysztof Hałasa	default 0x78000000 if DEBUG_CNS3XXX
1289c3faa9b7SRussell King	default 0x7c0003f8 if FOOTBRIDGE
1290b125170aSKrzysztof Hałasa	default 0x78000000 if DEBUG_CNS3XXX
1291d5bd4e8dSOleksij Rempel	default 0x80010000 if DEBUG_ASM9260_UART
12925c972af4SRussell King	default 0x80070000 if DEBUG_IMX23_UART
12935c972af4SRussell King	default 0x80074000 if DEBUG_IMX28_UART
1294c39e1ef7SAlexander Shiyan	default 0x80230000 if DEBUG_PICOXCELL_UART
12955c972af4SRussell King	default 0x808c0000 if ARCH_EP93XX
12965c972af4SRussell King	default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
12977098cff2SIvan T. Ivanov	default 0xa9a00000 if DEBUG_MSM_UART
1298*01ea63d9SGuo Zeng	default 0xb0060000 if DEBUG_SIRFPRIMA2_UART1
12995c972af4SRussell King	default 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX
13005c972af4SRussell King	default 0xc0013000 if DEBUG_U300_UART
1301c3faa9b7SRussell King	default 0xc8000000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1302c3faa9b7SRussell King	default 0xc8000003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
13030dc0e475SRussell King	default 0xd0000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
1304c3faa9b7SRussell King	default 0xd0012000 if DEBUG_MVEBU_UART
1305d8a00916SCarlo Caione	default 0xc81004c0 if DEBUG_MESON_UARTAO
1306c3faa9b7SRussell King	default 0xd4017000 if DEBUG_MMP_UART2
1307c3faa9b7SRussell King	default 0xd4018000 if DEBUG_MMP_UART3
13080dc0e475SRussell King	default 0xe0000000 if ARCH_SPEAR13XX
1309c9a1df48SHaojian Zhuang	default 0xe4007000 if DEBUG_HIP04_UART
13107a2071c5SGeert Uytterhoeven	default 0xe6c40000 if DEBUG_RMOBILE_SCIFA0
13117a2071c5SGeert Uytterhoeven	default 0xe6c50000 if DEBUG_RMOBILE_SCIFA1
13127a2071c5SGeert Uytterhoeven	default 0xe6c80000 if DEBUG_RMOBILE_SCIFA4
13137a2071c5SGeert Uytterhoeven	default 0xe6e58000 if DEBUG_RCAR_GEN2_SCIF2
13147a2071c5SGeert Uytterhoeven	default 0xe6e60000 if DEBUG_RCAR_GEN2_SCIF0
13157a2071c5SGeert Uytterhoeven	default 0xe8008000 if DEBUG_R7S72100_SCIF2
1316c3faa9b7SRussell King	default 0xf0000be0 if ARCH_EBSA110
131781b43a6eSMarc Carino	default 0xf040ab00 if DEBUG_BRCMSTB_UART
1318c3faa9b7SRussell King	default 0xf1012000 if DEBUG_MVEBU_UART_ALTERNATE
1319ba364fc7SAndrew Lunn	default 0xf1012000 if ARCH_DOVE || ARCH_MV78XX0 || \
1320c3faa9b7SRussell King				ARCH_ORION5X
1321caad0b41SSebastian Hesselbarth	default 0xf7fc9000 if DEBUG_BERLIN_UART
132212aae309SHaifeng Yan	default 0xf8b00000 if DEBUG_HIX5HD2_UART
13237098cff2SIvan T. Ivanov	default 0xf991e000 if DEBUG_QCOM_UARTDM
13248d258bebSHaojian Zhuang	default 0xfcb00000 if DEBUG_HI3620_UART
1325c3faa9b7SRussell King	default 0xfe800000 if ARCH_IOP32X
1326efd02ee9SHeiko Stuebner	default 0xff690000 if DEBUG_RK32_UART2
13270b4cccbeSRussell King	default 0xffc02000 if DEBUG_SOCFPGA_UART
1328c3faa9b7SRussell King	default 0xffd82340 if ARCH_IOP13XX
13297a2071c5SGeert Uytterhoeven	default 0xffe40000 if DEBUG_RCAR_GEN1_SCIF0
13307a2071c5SGeert Uytterhoeven	default 0xffe42000 if DEBUG_RCAR_GEN1_SCIF2
13315c972af4SRussell King	default 0xfff36000 if DEBUG_HIGHBANK_UART
1332b51312beSFlorian Fainelli	default 0xfffe8600 if DEBUG_UART_BCM63XX
1333c3faa9b7SRussell King	default 0xfffff700 if ARCH_IOP33X
1334f8f1279cSRussell King	depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1335494e492dSUwe Kleine-König		DEBUG_LL_UART_EFM32 || \
1336d8a00916SCarlo Caione		DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
13377a2071c5SGeert Uytterhoeven		DEBUG_MSM_UART || DEBUG_QCOM_UARTDM || DEBUG_R7S72100_SCIF2 || \
13387a2071c5SGeert Uytterhoeven		DEBUG_RCAR_GEN1_SCIF0 || DEBUG_RCAR_GEN1_SCIF2 || \
13397a2071c5SGeert Uytterhoeven		DEBUG_RCAR_GEN2_SCIF0 || DEBUG_RCAR_GEN2_SCIF2 || \
13407a2071c5SGeert Uytterhoeven		DEBUG_RMOBILE_SCIFA0 || DEBUG_RMOBILE_SCIFA1 || \
13417a2071c5SGeert Uytterhoeven		DEBUG_RMOBILE_SCIFA4 || DEBUG_S3C24XX_UART || \
1342*01ea63d9SGuo Zeng		DEBUG_UART_BCM63XX || DEBUG_ASM9260_UART || \
1343*01ea63d9SGuo Zeng		DEBUG_SIRFSOC_UART
1344c3faa9b7SRussell King
1345c3faa9b7SRussell Kingconfig DEBUG_UART_VIRT
1346c3faa9b7SRussell King	hex "Virtual base address of debug UART"
1347c3faa9b7SRussell King	default 0xe0010fe0 if ARCH_RPC
13487098cff2SIvan T. Ivanov	default 0xe1000000 if DEBUG_MSM_UART
1349c3faa9b7SRussell King	default 0xf0000be0 if ARCH_EBSA110
1350d5bd4e8dSOleksij Rempel	default 0xf0010000 if DEBUG_ASM9260_UART
13515c972af4SRussell King	default 0xf01fb000 if DEBUG_NOMADIK_UART
13525c972af4SRussell King	default 0xf0201000 if DEBUG_BCM2835
135306580275SHauke Mehrtens	default 0xf1000300 if DEBUG_BCM_5301X
135465ec48c0SJoe.C	default 0xf1002000 if DEBUG_MT8127_UART0
1355d6682085SMatthias Brugger	default 0xf1006000 if DEBUG_MT6589_UART0
135665ec48c0SJoe.C	default 0xf1009000 if DEBUG_MT8135_UART3
13575c972af4SRussell King	default 0xf11f1000 if ARCH_VERSATILE
13585c972af4SRussell King	default 0xf1600000 if ARCH_INTEGRATOR
1359c3faa9b7SRussell King	default 0xf1c28000 if DEBUG_SUNXI_UART0
1360c3faa9b7SRussell King	default 0xf1c28400 if DEBUG_SUNXI_UART1
1361c4718543SChen-Yu Tsai	default 0xf1f02800 if DEBUG_SUNXI_R_UART
1362cde7fc87SRobert Jarzmik	default 0xf6200000 if DEBUG_PXA_UART1
1363c3faa9b7SRussell King	default 0xf4090000 if ARCH_LPC32XX
1364c3faa9b7SRussell King	default 0xf4200000 if ARCH_GEMINI
1365d4da889aSChen-Yu Tsai	default 0xf7000000 if DEBUG_SUN9I_UART0
13661899de28SHeiko Stuebner	default 0xf7000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
13671899de28SHeiko Stuebner				DEBUG_S3C2410_UART0)
13681899de28SHeiko Stuebner	default 0xf7004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
13691899de28SHeiko Stuebner				DEBUG_S3C2410_UART1)
13701899de28SHeiko Stuebner	default 0xf7008000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART2 || \
13711899de28SHeiko Stuebner				DEBUG_S3C2410_UART2)
1372caad0b41SSebastian Hesselbarth	default 0xf7fc9000 if DEBUG_BERLIN_UART
1373c9a1df48SHaojian Zhuang	default 0xf8007000 if DEBUG_HIP04_UART
13745c972af4SRussell King	default 0xf8009000 if DEBUG_VEXPRESS_UART0_CA9
13755c972af4SRussell King	default 0xf8090000 if DEBUG_VEXPRESS_UART0_RS1
13767098cff2SIvan T. Ivanov	default 0xfa71e000 if DEBUG_QCOM_UARTDM
1377b125170aSKrzysztof Hałasa	default 0xfb002000 if DEBUG_CNS3XXX
13785c972af4SRussell King	default 0xfb009000 if DEBUG_REALVIEW_STD_PORT
13795c972af4SRussell King	default 0xfb10c000 if DEBUG_REALVIEW_PB1176_PORT
138081b43a6eSMarc Carino	default 0xfc40ab00 if DEBUG_BRCMSTB_UART
1381b51312beSFlorian Fainelli	default 0xfcfe8600 if DEBUG_UART_BCM63XX
13820dc0e475SRussell King	default 0xfd000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
13830dc0e475SRussell King	default 0xfd000000 if ARCH_SPEAR13XX
1384c3faa9b7SRussell King	default 0xfd012000 if ARCH_MV78XX0
1385c3faa9b7SRussell King	default 0xfde12000 if ARCH_DOVE
1386c3faa9b7SRussell King	default 0xfe012000 if ARCH_ORION5X
1387d8a00916SCarlo Caione	default 0xf31004c0 if DEBUG_MESON_UARTAO
1388c3faa9b7SRussell King	default 0xfe017000 if DEBUG_MMP_UART2
1389c3faa9b7SRussell King	default 0xfe018000 if DEBUG_MMP_UART3
13905c972af4SRussell King	default 0xfe100000 if DEBUG_IMX23_UART || DEBUG_IMX28_UART
13910b4cccbeSRussell King	default 0xfe230000 if DEBUG_PICOXCELL_UART
1392753d1243SChristian Daudt	default 0xfe300000 if DEBUG_BCM_KONA_UART
1393c3faa9b7SRussell King	default 0xfe800000 if ARCH_IOP32X
139412aae309SHaifeng Yan	default 0xfeb00000 if DEBUG_HI3620_UART || DEBUG_HIX5HD2_UART
1395c3faa9b7SRussell King	default 0xfeb24000 if DEBUG_RK3X_UART0
1396c3faa9b7SRussell King	default 0xfeb26000 if DEBUG_RK3X_UART1
1397f2acf003SRussell King	default 0xfeb30c00 if DEBUG_KEYSTONE_UART0
1398f2acf003SRussell King	default 0xfeb31000 if DEBUG_KEYSTONE_UART1
13990b4cccbeSRussell King	default 0xfec02000 if DEBUG_SOCFPGA_UART
1400*01ea63d9SGuo Zeng	default 0xfec10000 if DEBUG_SIRFATLAS7_UART0
1401c39e1ef7SAlexander Shiyan	default 0xfec12000 if DEBUG_MVEBU_UART || DEBUG_MVEBU_UART_ALTERNATE
140297bd1a48SRussell King	default 0xfec20000 if DEBUG_DAVINCI_DMx_UART0
1403*01ea63d9SGuo Zeng	default 0xfec20000 if DEBUG_SIRFATLAS7_UART1
1404*01ea63d9SGuo Zeng	default 0xfec60000 if DEBUG_SIRFPRIMA2_UART1
1405efd02ee9SHeiko Stuebner	default 0xfec90000 if DEBUG_RK32_UART2
140697bd1a48SRussell King	default 0xfed0c000 if DEBUG_DAVINCI_DA8XX_UART1
140797bd1a48SRussell King	default 0xfed0d000 if DEBUG_DAVINCI_DA8XX_UART2
1408c39e1ef7SAlexander Shiyan	default 0xfed60000 if DEBUG_RK29_UART0
1409c39e1ef7SAlexander Shiyan	default 0xfed64000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1410c39e1ef7SAlexander Shiyan	default 0xfed68000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
14115c972af4SRussell King	default 0xfedc0000 if ARCH_EP93XX
1412c3faa9b7SRussell King	default 0xfee003f8 if FOOTBRIDGE
14135c972af4SRussell King	default 0xfee20000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
1414c3faa9b7SRussell King	default 0xfee82340 if ARCH_IOP13XX
1415c3faa9b7SRussell King	default 0xfef00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1416c3faa9b7SRussell King	default 0xfef00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
1417c39e1ef7SAlexander Shiyan	default 0xfef36000 if DEBUG_HIGHBANK_UART
1418c3faa9b7SRussell King	default 0xfefff700 if ARCH_IOP33X
14195c972af4SRussell King	default 0xff003000 if DEBUG_U300_UART
14205c972af4SRussell King	default DEBUG_UART_PHYS if !MMU
1421f8f1279cSRussell King	depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1422d8a00916SCarlo Caione		DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
1423b51312beSFlorian Fainelli		DEBUG_MSM_UART || DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART || \
1424*01ea63d9SGuo Zeng		DEBUG_UART_BCM63XX || DEBUG_ASM9260_UART || DEBUG_SIRFSOC_UART
1425c3faa9b7SRussell King
14264a003647SRussell Kingconfig DEBUG_UART_8250_SHIFT
14274a003647SRussell King	int "Register offset shift for the 8250 debug UART"
1428f8f1279cSRussell King	depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1429140bd603SHauke Mehrtens	default 0 if FOOTBRIDGE || ARCH_IOP32X || DEBUG_BCM_5301X
14304a003647SRussell King	default 2
14317610b607SRussell King
14320b4cccbeSRussell Kingconfig DEBUG_UART_8250_WORD
14330b4cccbeSRussell King	bool "Use 32-bit accesses for 8250 UART"
1434f8f1279cSRussell King	depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
14350b4cccbeSRussell King	depends on DEBUG_UART_8250_SHIFT >= 2
1436f2acf003SRussell King	default y if DEBUG_PICOXCELL_UART || DEBUG_SOCFPGA_UART || \
143797bd1a48SRussell King		ARCH_KEYSTONE || \
143897bd1a48SRussell King		DEBUG_DAVINCI_DMx_UART0 || DEBUG_DAVINCI_DA8XX_UART1 || \
14399d6eccb9SArnd Bergmann		DEBUG_DAVINCI_DA8XX_UART2 || \
144081b43a6eSMarc Carino		DEBUG_BCM_KONA_UART || DEBUG_RK32_UART2 || \
144181b43a6eSMarc Carino		DEBUG_BRCMSTB_UART
14420b4cccbeSRussell King
14437610b607SRussell Kingconfig DEBUG_UART_8250_FLOW_CONTROL
14447610b607SRussell King	bool "Enable flow control for 8250 UART"
1445f8f1279cSRussell King	depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
14467610b607SRussell King	default y if ARCH_EBSA110 || FOOTBRIDGE || ARCH_GEMINI || ARCH_RPC
14477610b607SRussell King
14483b4af9bcSShawn Guoconfig DEBUG_UNCOMPRESS
14493b4af9bcSShawn Guo	bool
145090266754SHeiko Stuebner	depends on ARCH_MULTIPLATFORM || ARCH_MSM || PLAT_SAMSUNG
1451b6992fa9SRussell King	default y if DEBUG_LL && !DEBUG_OMAP2PLUS_UART && \
1452ae3c99a2SStephen Warren		     (!DEBUG_TEGRA_UART || !ZBOOT_ROM)
1453b6992fa9SRussell King	help
1454b6992fa9SRussell King	  This option influences the normal decompressor output for
1455b6992fa9SRussell King	  multiplatform kernels.  Normally, multiplatform kernels disable
1456b6992fa9SRussell King	  decompressor output because it is not possible to know where to
1457b6992fa9SRussell King	  send the decompressor output.
1458b6992fa9SRussell King
1459b6992fa9SRussell King	  When this option is set, the selected DEBUG_LL output method
1460b6992fa9SRussell King	  will be re-used for normal decompressor output on multiplatform
1461b6992fa9SRussell King	  kernels.
1462b6992fa9SRussell King
14633b4af9bcSShawn Guo
1464615967b0SShawn Guoconfig UNCOMPRESS_INCLUDE
1465615967b0SShawn Guo	string
1466ffd80eccSSachin Kamat	default "debug/uncompress.h" if ARCH_MULTIPLATFORM || ARCH_MSM || \
14672bf73dd6SLinus Torvalds					PLAT_SAMSUNG || ARCH_EFM32
1468615967b0SShawn Guo	default "mach/uncompress.h"
1469615967b0SShawn Guo
147093fd03a8SCatalin Marinasconfig EARLY_PRINTK
147193fd03a8SCatalin Marinas	bool "Early printk"
147293fd03a8SCatalin Marinas	depends on DEBUG_LL
147393fd03a8SCatalin Marinas	help
147493fd03a8SCatalin Marinas	  Say Y here if you want to have an early console using the
147593fd03a8SCatalin Marinas	  kernel low-level debugging functions. Add earlyprintk to your
147693fd03a8SCatalin Marinas	  kernel parameters to enable this console.
147793fd03a8SCatalin Marinas
14784189bc71SJon Medhurstconfig ARM_KPROBES_TEST
14794189bc71SJon Medhurst	tristate "Kprobes test module"
14804189bc71SJon Medhurst	depends on KPROBES && MODULES
14814189bc71SJon Medhurst	help
14824189bc71SJon Medhurst	  Perform tests of kprobes API and instruction set simulation.
14834189bc71SJon Medhurst
1484575320d6SWill Deaconconfig PID_IN_CONTEXTIDR
1485575320d6SWill Deacon	bool "Write the current PID to the CONTEXTIDR register"
1486575320d6SWill Deacon	depends on CPU_COPY_V6
1487575320d6SWill Deacon	help
1488575320d6SWill Deacon	  Enabling this option causes the kernel to write the current PID to
1489575320d6SWill Deacon	  the PROCID field of the CONTEXTIDR register, at the expense of some
1490575320d6SWill Deacon	  additional instructions during context switch. Say Y here only if you
1491575320d6SWill Deacon	  are planning to use hardware trace tools with this kernel.
1492575320d6SWill Deacon
1493dca9aa92SLaura Abbottconfig DEBUG_SET_MODULE_RONX
1494dca9aa92SLaura Abbott	bool "Set loadable kernel module data as NX and text as RO"
1495dca9aa92SLaura Abbott	depends on MODULES
1496dca9aa92SLaura Abbott	---help---
1497dca9aa92SLaura Abbott	  This option helps catch unintended modifications to loadable
1498dca9aa92SLaura Abbott	  kernel module's text and read-only data. It also prevents execution
1499dca9aa92SLaura Abbott	  of module data. Such protection may interfere with run-time code
1500dca9aa92SLaura Abbott	  patching and dynamic kernel tracing - and they might also protect
1501dca9aa92SLaura Abbott	  against certain classes of kernel exploits.
1502dca9aa92SLaura Abbott	  If in doubt, say "N".
1503dca9aa92SLaura Abbott
1504a06ae860SPratik Patelmenuconfig CORESIGHT
1505a06ae860SPratik Patel	bool "CoreSight Tracing Support"
1506a06ae860SPratik Patel	select ARM_AMBA
1507a06ae860SPratik Patel	help
1508a06ae860SPratik Patel	  This framework provides a kernel interface for the CoreSight debug
1509a06ae860SPratik Patel	  and trace drivers to register themselves with. It's intended to build
1510a06ae860SPratik Patel	  a topological view of the CoreSight components based on a DT
1511a06ae860SPratik Patel	  specification and configure the right serie of components when a
1512a06ae860SPratik Patel	  trace source gets enabled.
1513bc4bf7feSPratik Patel
1514bc4bf7feSPratik Patelif CORESIGHT
1515bc4bf7feSPratik Patelconfig CORESIGHT_LINKS_AND_SINKS
1516bc4bf7feSPratik Patel	bool "CoreSight Link and Sink drivers"
1517bc4bf7feSPratik Patel	help
1518bc4bf7feSPratik Patel	  This enables support for CoreSight link and sink drivers that are
1519bc4bf7feSPratik Patel	  responsible for transporting and collecting the trace data
1520bc4bf7feSPratik Patel	  respectively.  Link and sinks are dynamically aggregated with a trace
1521bc4bf7feSPratik Patel	  entity at run time to form a complete trace path.
1522bc4bf7feSPratik Patel
1523bc4bf7feSPratik Patelconfig CORESIGHT_LINK_AND_SINK_TMC
1524bc4bf7feSPratik Patel	bool "Coresight generic TMC driver"
1525bc4bf7feSPratik Patel	depends on CORESIGHT_LINKS_AND_SINKS
1526bc4bf7feSPratik Patel	help
1527bc4bf7feSPratik Patel	  This enables support for the Trace Memory Controller driver.  Depending
1528bc4bf7feSPratik Patel	  on its configuration the device can act as a link (embedded trace router
1529bc4bf7feSPratik Patel	  - ETR) or sink (embedded trace FIFO).  The driver complies with the
1530bc4bf7feSPratik Patel	  generic implementation of the component without special enhancement or
1531bc4bf7feSPratik Patel	  added features.
1532dc161b9fSPratik Patel
1533dc161b9fSPratik Patelconfig CORESIGHT_SINK_TPIU
1534dc161b9fSPratik Patel	bool "Coresight generic TPIU driver"
1535dc161b9fSPratik Patel	depends on CORESIGHT_LINKS_AND_SINKS
1536dc161b9fSPratik Patel	help
1537dc161b9fSPratik Patel	  This enables support for the Trace Port Interface Unit driver, responsible
1538dc161b9fSPratik Patel	  for bridging the gap between the on-chip coresight components and a trace
1539dc161b9fSPratik Patel	  port collection engine, typically connected to an external host for use
1540dc161b9fSPratik Patel	  case capturing more traces than the on-board coresight memory can handle.
1541fdfc0d8aSPratik Patel
1542fdfc0d8aSPratik Patelconfig CORESIGHT_SINK_ETBV10
1543fdfc0d8aSPratik Patel	bool "Coresight ETBv1.0 driver"
1544fdfc0d8aSPratik Patel	depends on CORESIGHT_LINKS_AND_SINKS
1545fdfc0d8aSPratik Patel	help
1546fdfc0d8aSPratik Patel	  This enables support for the Embedded Trace Buffer version 1.0 driver
1547fdfc0d8aSPratik Patel	  that complies with the generic implementation of the component without
1548fdfc0d8aSPratik Patel	  special enhancement or added features.
1549a939fc5aSPratik Patel
1550a939fc5aSPratik Patelconfig CORESIGHT_SOURCE_ETM3X
1551a939fc5aSPratik Patel	bool "CoreSight Embedded Trace Macrocell 3.x driver"
1552a939fc5aSPratik Patel	select CORESIGHT_LINKS_AND_SINKS
1553a939fc5aSPratik Patel	help
1554a939fc5aSPratik Patel	  This driver provides support for processor ETM3.x and PTM1.x modules,
1555a939fc5aSPratik Patel	  which allows tracing the instructions that a processor is executing
1556a939fc5aSPratik Patel	  This is primarily useful for instruction level tracing.  Depending
1557a939fc5aSPratik Patel	  the ETM version data tracing may also be available.
1558bc4bf7feSPratik Patelendif
15591da177e4SLinus Torvaldsendmenu
1560