xref: /linux/arch/arm/Kconfig.debug (revision d91125ddf96237cee7b56448d7f318361c97c8b1)
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
458*d91125ddSMaxime Ripard	config DEBUG_MVEBU_UART0
459*d91125ddSMaxime Ripard		bool "Kernel low-level debugging messages via MVEBU UART0 (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
464*d91125ddSMaxime Ripard		  on MVEBU based platforms on UART0.
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
477*d91125ddSMaxime Ripard	config DEBUG_MVEBU_UART0_ALTERNATE
478*d91125ddSMaxime Ripard		bool "Kernel low-level debugging messages via MVEBU UART0 (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
483*d91125ddSMaxime Ripard		  on MVEBU based platforms on UART0.
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
9197f46a107SBarry Song		help
9207f46a107SBarry Song		  Say Y here if you want the debug print routines to direct
9217f46a107SBarry Song		  their output to the uart1 port on SiRFprimaII devices.
9227f46a107SBarry Song
9237f46a107SBarry Song	config DEBUG_SIRFMARCO_UART1
9247f46a107SBarry Song		bool "Kernel low-level debugging messages via SiRFmarco UART1"
9257f46a107SBarry Song		depends on ARCH_MARCO
9267f46a107SBarry Song		help
9277f46a107SBarry Song		  Say Y here if you want the debug print routines to direct
9287f46a107SBarry Song		  their output to the uart1 port on SiRFmarco devices.
9297f46a107SBarry Song
930cce278d2SRussell King	config STIH41X_DEBUG_ASC2
931cce278d2SRussell King		bool "Use StiH415/416 ASC2 UART for low-level debug"
9325562b800SArnd Bergmann		depends on ARCH_STI
933cce278d2SRussell King		select DEBUG_STI_UART
9345562b800SArnd Bergmann		help
9355562b800SArnd Bergmann		  Say Y here if you want kernel low-level debugging support
936cce278d2SRussell King		  on STiH415/416 based platforms like b2000, which has
937cce278d2SRussell King		  default UART wired up to ASC2.
938cce278d2SRussell King
939cce278d2SRussell King		  If unsure, say N.
940cce278d2SRussell King
941cce278d2SRussell King	config STIH41X_DEBUG_SBC_ASC1
942cce278d2SRussell King		bool "Use StiH415/416 SBC ASC1 UART for low-level debug"
943cce278d2SRussell King		depends on ARCH_STI
944cce278d2SRussell King		select DEBUG_STI_UART
945cce278d2SRussell King		help
946cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
947cce278d2SRussell King		  on STiH415/416 based platforms like b2020. which has
948cce278d2SRussell King		  default UART wired up to SBC ASC1.
9495562b800SArnd Bergmann
9505562b800SArnd Bergmann		  If unsure, say N.
9515562b800SArnd Bergmann
952dd324da7SLinus Walleij	config DEBUG_U300_UART
953dd324da7SLinus Walleij		bool "Kernel low-level debugging messages via U300 UART0"
954dd324da7SLinus Walleij		depends on ARCH_U300
9555c972af4SRussell King		select DEBUG_UART_PL01X
956dd324da7SLinus Walleij		help
957dd324da7SLinus Walleij		  Say Y here if you want the debug print routines to direct
958dd324da7SLinus Walleij		  their output to the uart port on U300 devices.
959dd324da7SLinus Walleij
960f87b95ddSLinus Walleij	config DEBUG_UX500_UART
961f87b95ddSLinus Walleij		depends on ARCH_U8500
962f87b95ddSLinus Walleij		bool "Use Ux500 UART for low-level debug"
963f87b95ddSLinus Walleij		help
964f87b95ddSLinus Walleij		  Say Y here if you want kernel low-level debugging support
965f87b95ddSLinus Walleij		  on Ux500 based platforms.
966f87b95ddSLinus Walleij
967d6682085SMatthias Brugger	config DEBUG_MT6589_UART0
968d6682085SMatthias Brugger		bool "Mediatek mt6589 UART0"
969d6682085SMatthias Brugger		depends on ARCH_MEDIATEK
970d6682085SMatthias Brugger		select DEBUG_UART_8250
971d6682085SMatthias Brugger		help
972d6682085SMatthias Brugger		  Say Y here if you want kernel low-level debugging support
973d6682085SMatthias Brugger		  for Mediatek mt6589 based platforms on UART0.
974d6682085SMatthias Brugger
97565ec48c0SJoe.C	config DEBUG_MT8127_UART0
97665ec48c0SJoe.C		bool "Mediatek mt8127 UART0"
97765ec48c0SJoe.C		depends on ARCH_MEDIATEK
97865ec48c0SJoe.C		select DEBUG_UART_8250
97965ec48c0SJoe.C		help
98065ec48c0SJoe.C		  Say Y here if you want kernel low-level debugging support
98165ec48c0SJoe.C		  for Mediatek mt8127 based platforms on UART0.
98265ec48c0SJoe.C
98365ec48c0SJoe.C	config DEBUG_MT8135_UART3
98465ec48c0SJoe.C		bool "Mediatek mt8135 UART3"
98565ec48c0SJoe.C		depends on ARCH_MEDIATEK
98665ec48c0SJoe.C		select DEBUG_UART_8250
98765ec48c0SJoe.C		help
98865ec48c0SJoe.C		  Say Y here if you want kernel low-level debugging support
98965ec48c0SJoe.C		  for Mediatek mt8135 based platforms on UART3.
99065ec48c0SJoe.C
9911b820eafSPawel Moll	config DEBUG_VEXPRESS_UART0_DETECT
9921b820eafSPawel Moll		bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
9931b820eafSPawel Moll		depends on ARCH_VEXPRESS && CPU_CP15_MMU
9941b820eafSPawel Moll		help
9951b820eafSPawel Moll		  This option enables a simple heuristic which tries to determine
9961b820eafSPawel Moll		  the motherboard's memory map variant (original or RS1) and then
9971b820eafSPawel Moll		  choose the relevant UART0 base address.
9981b820eafSPawel Moll
9991b820eafSPawel Moll		  Note that this will only work with standard A-class core tiles,
10001b820eafSPawel Moll		  and may fail with non-standard SMM or custom software models.
10011b820eafSPawel Moll
10021b820eafSPawel Moll	config DEBUG_VEXPRESS_UART0_CA9
10031b820eafSPawel Moll		bool "Use PL011 UART0 at 0x10009000 (V2P-CA9 core tile)"
10041b820eafSPawel Moll		depends on ARCH_VEXPRESS
10055c972af4SRussell King		select DEBUG_UART_PL01X
10061b820eafSPawel Moll		help
10071b820eafSPawel Moll		  This option selects UART0 at 0x10009000. Except for custom models,
10081b820eafSPawel Moll		  this applies only to the V2P-CA9 tile.
10091b820eafSPawel Moll
10101b820eafSPawel Moll	config DEBUG_VEXPRESS_UART0_RS1
10111b820eafSPawel Moll		bool "Use PL011 UART0 at 0x1c090000 (RS1 complaint tiles)"
10121b820eafSPawel Moll		depends on ARCH_VEXPRESS
10135c972af4SRussell King		select DEBUG_UART_PL01X
10141b820eafSPawel Moll		help
10151b820eafSPawel Moll		  This option selects UART0 at 0x1c090000. This applies to most
10161b820eafSPawel Moll		  of the tiles using the RS1 memory map, including all new A-class
10171b820eafSPawel Moll		  core tiles, FPGA-based SMMs and software models.
10181b820eafSPawel Moll
1019ed18bdc8SJonathan Austin	config DEBUG_VEXPRESS_UART0_CRX
1020ed18bdc8SJonathan Austin		bool "Use PL011 UART0 at 0xb0090000 (Cortex-R compliant tiles)"
1021ed18bdc8SJonathan Austin		depends on ARCH_VEXPRESS && !MMU
10225c972af4SRussell King		select DEBUG_UART_PL01X
1023ed18bdc8SJonathan Austin		help
1024ed18bdc8SJonathan Austin		  This option selects UART0 at 0xb0090000. This is appropriate for
1025ed18bdc8SJonathan Austin		  Cortex-R series tiles and SMMs, such as Cortex-R5 and Cortex-R7
1026ed18bdc8SJonathan Austin
1027b61a2722STony Prisk	config DEBUG_VT8500_UART0
1028b61a2722STony Prisk		bool "Use UART0 on VIA/Wondermedia SoCs"
1029b61a2722STony Prisk		depends on ARCH_VT8500
1030b61a2722STony Prisk		help
1031b61a2722STony Prisk		  This option selects UART0 on VIA/Wondermedia System-on-a-chip
1032b61a2722STony Prisk		  devices, including VT8500, WM8505, WM8650 and WM8850.
1033b61a2722STony Prisk
1034e76f4750SRussell King	config DEBUG_LL_UART_NONE
1035e76f4750SRussell King		bool "No low-level debugging UART"
1036387798b3SRob Herring		depends on !ARCH_MULTIPLATFORM
1037e76f4750SRussell King		help
1038e76f4750SRussell King		  Say Y here if your platform doesn't provide a UART option
1039730cc26fSRussell King		  above. This relies on your platform choosing the right UART
1040e76f4750SRussell King		  definition internally in order for low-level debugging to
1041e76f4750SRussell King		  work.
1042e76f4750SRussell King
1043e76f4750SRussell King	config DEBUG_ICEDCC
1044e76f4750SRussell King		bool "Kernel low-level debugging via EmbeddedICE DCC channel"
1045e76f4750SRussell King		help
1046e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
1047e76f4750SRussell King		  their output to the EmbeddedICE macrocell's DCC channel using
1048e76f4750SRussell King		  co-processor 14. This is known to work on the ARM9 style ICE
1049e76f4750SRussell King		  channel and on the XScale with the PEEDI.
1050e76f4750SRussell King
1051e76f4750SRussell King		  Note that the system will appear to hang during boot if there
1052e76f4750SRussell King		  is nothing connected to read from the DCC.
1053e76f4750SRussell King
1054b0df8986SRussell King	config DEBUG_SEMIHOSTING
105562194bdaSStephen Boyd		bool "Kernel low-level debug output via semihosting I/O"
1056b0df8986SRussell King		help
1057b0df8986SRussell King		  Semihosting enables code running on an ARM target to use
1058b0df8986SRussell King		  the I/O facilities on a host debugger/emulator through a
105962194bdaSStephen Boyd		  simple SVC call. The host debugger or emulator must have
1060b0df8986SRussell King		  semihosting enabled for the special svc call to be trapped
1061b0df8986SRussell King		  otherwise the kernel will crash.
1062b0df8986SRussell King
1063b0df8986SRussell King		  This is known to work with OpenOCD, as well as
1064b0df8986SRussell King		  ARM's Fast Models, or any other controlling environment
1065b0df8986SRussell King		  that implements semihosting.
1066b0df8986SRussell King
1067b0df8986SRussell King		  For more details about semihosting, please see
1068b0df8986SRussell King		  chapter 8 of DUI0203I_rvct_developer_guide.pdf from ARM Ltd.
1069b0df8986SRussell King
1070f8f1279cSRussell King	config DEBUG_LL_UART_8250
1071f8f1279cSRussell King		bool "Kernel low-level debugging via 8250 UART"
1072f8f1279cSRussell King		help
1073f8f1279cSRussell King		  Say Y here if you wish the debug print routes to direct
1074f8f1279cSRussell King		  their output to an 8250 UART.  You can use this option
1075f8f1279cSRussell King		  to provide the parameters for the 8250 UART rather than
1076f8f1279cSRussell King		  selecting one of the platform specific options above if
1077f8f1279cSRussell King		  you know the parameters for the port.
1078f8f1279cSRussell King
1079f8f1279cSRussell King		  This option is preferred over the platform specific
1080f8f1279cSRussell King		  options; the platform specific options are deprecated
1081f8f1279cSRussell King		  and will be soon removed.
1082f8f1279cSRussell King
1083494e492dSUwe Kleine-König	config DEBUG_LL_UART_EFM32
1084494e492dSUwe Kleine-König		bool "Kernel low-level debugging via efm32 UART"
1085494e492dSUwe Kleine-König		depends on ARCH_EFM32
1086494e492dSUwe Kleine-König		help
1087494e492dSUwe Kleine-König		  Say Y here if you want the debug print routines to direct
1088494e492dSUwe Kleine-König		  their output to an UART or USART port on efm32 based
1089494e492dSUwe Kleine-König		  machines. Use the following addresses for DEBUG_UART_PHYS:
1090494e492dSUwe Kleine-König
1091494e492dSUwe Kleine-König		    0x4000c000 | USART0
1092494e492dSUwe Kleine-König		    0x4000c400 | USART1
1093494e492dSUwe Kleine-König		    0x4000c800 | USART2
1094494e492dSUwe Kleine-König		    0x4000e000 | UART0
1095494e492dSUwe Kleine-König		    0x4000e400 | UART1
1096494e492dSUwe Kleine-König
1097f8f1279cSRussell King	config DEBUG_LL_UART_PL01X
1098f8f1279cSRussell King		bool "Kernel low-level debugging via ARM Ltd PL01x Primecell UART"
1099f8f1279cSRussell King		help
1100f8f1279cSRussell King		  Say Y here if you wish the debug print routes to direct
1101f8f1279cSRussell King		  their output to a PL01x Primecell UART.  You can use
1102f8f1279cSRussell King		  this option to provide the parameters for the UART
1103f8f1279cSRussell King		  rather than selecting one of the platform specific
1104f8f1279cSRussell King		  options above if you know the parameters for the port.
1105f8f1279cSRussell King
1106f8f1279cSRussell King		  This option is preferred over the platform specific
1107f8f1279cSRussell King		  options; the platform specific options are deprecated
1108f8f1279cSRussell King		  and will be soon removed.
1109f8f1279cSRussell King
11101da177e4SLinus Torvaldsendchoice
11111da177e4SLinus Torvalds
1112a2e40710SArnd Bergmannconfig DEBUG_EXYNOS_UART
1113a2e40710SArnd Bergmann	bool
1114a2e40710SArnd Bergmann
1115daf67dfcSHeiko Stuebnerconfig DEBUG_S3C2410_UART
1116daf67dfcSHeiko Stuebner	bool
11171899de28SHeiko Stuebner	select DEBUG_S3C24XX_UART
11181899de28SHeiko Stuebner
11191899de28SHeiko Stuebnerconfig DEBUG_S3C24XX_UART
11201899de28SHeiko Stuebner	bool
1121daf67dfcSHeiko Stuebner
11227bab7d9eSTomasz Figaconfig DEBUG_S5PV210_UART
11237bab7d9eSTomasz Figa	bool
11247bab7d9eSTomasz Figa
1125cce278d2SRussell Kingconfig DEBUG_OMAP2PLUS_UART
1126cce278d2SRussell King	bool
1127cce278d2SRussell King	depends on ARCH_OMAP2PLUS
1128cce278d2SRussell King
1129f8c95fe6SShawn Guoconfig DEBUG_IMX_UART_PORT
1130f8c95fe6SShawn Guo	int "i.MX Debug UART Port Selection" if DEBUG_IMX1_UART || \
1131f8c95fe6SShawn Guo						DEBUG_IMX25_UART || \
1132f8c95fe6SShawn Guo						DEBUG_IMX21_IMX27_UART || \
1133f8c95fe6SShawn Guo						DEBUG_IMX31_UART || \
1134f8c95fe6SShawn Guo						DEBUG_IMX35_UART || \
1135ad364a70SGreg Ungerer						DEBUG_IMX50_UART || \
1136f8c95fe6SShawn Guo						DEBUG_IMX51_UART || \
11370c52db7eSPaul Bolle						DEBUG_IMX53_UART || \
113834e8a16bSShawn Guo						DEBUG_IMX6Q_UART || \
113974368e81SShawn Guo						DEBUG_IMX6SL_UART || \
114074368e81SShawn Guo						DEBUG_IMX6SX_UART
114149c9e60eSShawn Guo	default 1
1142287939a3SShawn Guo	depends on ARCH_MXC
114349c9e60eSShawn Guo	help
114449c9e60eSShawn Guo	  Choose UART port on which kernel low-level debug messages
114549c9e60eSShawn Guo	  should be output.
114649c9e60eSShawn Guo
1147cfdb7d56SStefan Agnerconfig DEBUG_VF_UART_PORT
1148cfdb7d56SStefan Agner	int "Vybrid Debug UART Port Selection" if DEBUG_VF_UART
1149cfdb7d56SStefan Agner	default 1
1150cfdb7d56SStefan Agner	range 0 3
1151cfdb7d56SStefan Agner	depends on SOC_VF610
1152cfdb7d56SStefan Agner	help
1153cfdb7d56SStefan Agner	  Choose UART port on which kernel low-level debug messages
1154cfdb7d56SStefan Agner	  should be output.
1155cfdb7d56SStefan Agner
1156cce278d2SRussell Kingconfig DEBUG_TEGRA_UART
1157cce278d2SRussell King	bool
1158cce278d2SRussell King	depends on ARCH_TEGRA
1159808b7e07STony Lindgren
1160cce278d2SRussell Kingconfig DEBUG_STI_UART
1161cce278d2SRussell King	bool
1162cce278d2SRussell King	depends on ARCH_STI
11635026aecfSSrinivas Kandagatla
116491a9fec0SRob Herringconfig DEBUG_LL_INCLUDE
116591a9fec0SRob Herring	string
1166e6131fa3SDmitry Eremin-Solenikov	default "debug/sa1100.S" if DEBUG_SA1100
1167f8f1279cSRussell King	default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250
1168d5bd4e8dSOleksij Rempel	default "debug/asm9260.S" if DEBUG_ASM9260_UART
1169dd99eef5SAlexander Shiyan	default "debug/clps711x.S" if DEBUG_CLPS711X_UART1 || DEBUG_CLPS711X_UART2
1170d8a00916SCarlo Caione	default "debug/meson.S" if DEBUG_MESON_UARTAO
1171f8f1279cSRussell King	default "debug/pl01x.S" if DEBUG_LL_UART_PL01X || DEBUG_UART_PL01X
1172a2e40710SArnd Bergmann	default "debug/exynos.S" if DEBUG_EXYNOS_UART
1173494e492dSUwe Kleine-König	default "debug/efm32.S" if DEBUG_LL_UART_EFM32
117491a9fec0SRob Herring	default "debug/icedcc.S" if DEBUG_ICEDCC
11756dde5ac5SShawn Guo	default "debug/imx.S" if DEBUG_IMX1_UART || \
11766dde5ac5SShawn Guo				 DEBUG_IMX25_UART || \
11776dde5ac5SShawn Guo				 DEBUG_IMX21_IMX27_UART || \
11784ad625d4SShawn Guo				 DEBUG_IMX31_UART || \
11794ad625d4SShawn Guo				 DEBUG_IMX35_UART || \
1180ad364a70SGreg Ungerer				 DEBUG_IMX50_UART || \
11816dde5ac5SShawn Guo				 DEBUG_IMX51_UART || \
11827356420cSFabio Estevam				 DEBUG_IMX53_UART ||\
118334e8a16bSShawn Guo				 DEBUG_IMX6Q_UART || \
118474368e81SShawn Guo				 DEBUG_IMX6SL_UART || \
118574368e81SShawn Guo				 DEBUG_IMX6SX_UART
11867098cff2SIvan T. Ivanov	default "debug/msm.S" if DEBUG_MSM_UART || DEBUG_QCOM_UARTDM
1187808b7e07STony Lindgren	default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART
11887a2071c5SGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_R7S72100_SCIF2
11897a2071c5SGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_RCAR_GEN1_SCIF0
11907a2071c5SGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_RCAR_GEN1_SCIF2
11917a2071c5SGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF0
11927a2071c5SGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF2
11937a2071c5SGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA0
11947a2071c5SGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA1
11957a2071c5SGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA4
11962cd62bd4SHeiko Stuebner	default "debug/s3c24xx.S" if DEBUG_S3C24XX_UART
11977bab7d9eSTomasz Figa	default "debug/s5pv210.S" if DEBUG_S5PV210_UART
119867bdb287SArnd Bergmann	default "debug/sirf.S" if DEBUG_SIRFPRIMA2_UART1 || DEBUG_SIRFMARCO_UART1
11995026aecfSSrinivas Kandagatla	default "debug/sti.S" if DEBUG_STI_UART
1200150a8dcfSLinus Torvalds	default "debug/tegra.S" if DEBUG_TEGRA_UART
1201150a8dcfSLinus Torvalds	default "debug/ux500.S" if DEBUG_UX500_UART
12024e218b99SRussell King	default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT
1203c7c3eac6SShawn Guo	default "debug/vf.S" if DEBUG_VF_UART
1204b61a2722STony Prisk	default "debug/vt8500.S" if DEBUG_VT8500_UART0
1205385f02b1SJosh Cartwright	default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1
1206b51312beSFlorian Fainelli	default "debug/bcm63xx.S" if DEBUG_UART_BCM63XX
120791a9fec0SRob Herring	default "mach/debug-macro.S"
120891a9fec0SRob Herring
1209f8f1279cSRussell King# Compatibility options for PL01x
12105c972af4SRussell Kingconfig DEBUG_UART_PL01X
12115c972af4SRussell King	def_bool ARCH_EP93XX || \
12125c972af4SRussell King		ARCH_INTEGRATOR || \
12130dc0e475SRussell King		ARCH_SPEAR3XX || \
12140dc0e475SRussell King		ARCH_SPEAR6XX || \
12150dc0e475SRussell King		ARCH_SPEAR13XX || \
12165c972af4SRussell King		ARCH_VERSATILE
12175c972af4SRussell King
1218f8f1279cSRussell King# Compatibility options for 8250
12197610b607SRussell Kingconfig DEBUG_UART_8250
12204a003647SRussell King	def_bool ARCH_DOVE || ARCH_EBSA110 || \
12214a003647SRussell King		(FOOTBRIDGE && !DEBUG_DC21285_PORT) || \
12224a003647SRussell King		ARCH_GEMINI || ARCH_IOP13XX || ARCH_IOP32X || \
1223ba364fc7SAndrew Lunn		ARCH_IOP33X || ARCH_IXP4XX || \
12244a003647SRussell King		ARCH_LPC32XX || ARCH_MV78XX0 || ARCH_ORION5X || ARCH_RPC
12254a003647SRussell King
1226b51312beSFlorian Fainelli# Compatibility options for BCM63xx
1227b51312beSFlorian Fainelliconfig DEBUG_UART_BCM63XX
1228b51312beSFlorian Fainelli	def_bool ARCH_BCM_63XX
1229b51312beSFlorian Fainelli
1230c3faa9b7SRussell Kingconfig DEBUG_UART_PHYS
1231c3faa9b7SRussell King	hex "Physical base address of debug UART"
123297bd1a48SRussell King	default 0x01c20000 if DEBUG_DAVINCI_DMx_UART0
1233c3faa9b7SRussell King	default 0x01c28000 if DEBUG_SUNXI_UART0
1234c3faa9b7SRussell King	default 0x01c28400 if DEBUG_SUNXI_UART1
123597bd1a48SRussell King	default 0x01d0c000 if DEBUG_DAVINCI_DA8XX_UART1
123697bd1a48SRussell King	default 0x01d0d000 if DEBUG_DAVINCI_DA8XX_UART2
1237c4718543SChen-Yu Tsai	default 0x01f02800 if DEBUG_SUNXI_R_UART
1238f2acf003SRussell King	default 0x02530c00 if DEBUG_KEYSTONE_UART0
1239f2acf003SRussell King	default 0x02531000 if DEBUG_KEYSTONE_UART1
1240c3faa9b7SRussell King	default 0x03010fe0 if ARCH_RPC
1241d4da889aSChen-Yu Tsai	default 0x07000000 if DEBUG_SUN9I_UART0
1242b125170aSKrzysztof Hałasa	default 0x10009000 if DEBUG_REALVIEW_STD_PORT || \
12435c972af4SRussell King				DEBUG_VEXPRESS_UART0_CA9
12445c972af4SRussell King	default 0x1010c000 if DEBUG_REALVIEW_PB1176_PORT
1245c3faa9b7SRussell King	default 0x10124000 if DEBUG_RK3X_UART0
1246c3faa9b7SRussell King	default 0x10126000 if DEBUG_RK3X_UART1
12475c972af4SRussell King	default 0x101f1000 if ARCH_VERSATILE
12485c972af4SRussell King	default 0x101fb000 if DEBUG_NOMADIK_UART
124965ec48c0SJoe.C	default 0x11002000 if DEBUG_MT8127_UART0
1250d6682085SMatthias Brugger	default 0x11006000 if DEBUG_MT6589_UART0
125165ec48c0SJoe.C	default 0x11009000 if DEBUG_MT8135_UART3
12525c972af4SRussell King	default 0x16000000 if ARCH_INTEGRATOR
125306580275SHauke Mehrtens	default 0x18000300 if DEBUG_BCM_5301X
12545c972af4SRussell King	default 0x1c090000 if DEBUG_VEXPRESS_UART0_RS1
1255c3faa9b7SRussell King	default 0x20060000 if DEBUG_RK29_UART0
1256c3faa9b7SRussell King	default 0x20064000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1257c3faa9b7SRussell King	default 0x20068000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
12585c972af4SRussell King	default 0x20201000 if DEBUG_BCM2835
1259753d1243SChristian Daudt	default 0x3e000000 if DEBUG_BCM_KONA_UART
1260494e492dSUwe Kleine-König	default 0x4000e400 if DEBUG_LL_UART_EFM32
1261c3faa9b7SRussell King	default 0x40090000 if ARCH_LPC32XX
1262c3faa9b7SRussell King	default 0x40100000 if DEBUG_PXA_UART1
1263c3faa9b7SRussell King	default 0x42000000 if ARCH_GEMINI
12641899de28SHeiko Stuebner	default 0x50000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
12651899de28SHeiko Stuebner				DEBUG_S3C2410_UART0)
12661899de28SHeiko Stuebner	default 0x50004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
12671899de28SHeiko Stuebner				DEBUG_S3C2410_UART1)
12681899de28SHeiko Stuebner	default 0x50008000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART2 || \
12691899de28SHeiko Stuebner				DEBUG_S3C2410_UART2)
1270c3ca2130SKrzysztof Hałasa	default 0x78000000 if DEBUG_CNS3XXX
1271c3faa9b7SRussell King	default 0x7c0003f8 if FOOTBRIDGE
1272b125170aSKrzysztof Hałasa	default 0x78000000 if DEBUG_CNS3XXX
1273d5bd4e8dSOleksij Rempel	default 0x80010000 if DEBUG_ASM9260_UART
12745c972af4SRussell King	default 0x80070000 if DEBUG_IMX23_UART
12755c972af4SRussell King	default 0x80074000 if DEBUG_IMX28_UART
1276c39e1ef7SAlexander Shiyan	default 0x80230000 if DEBUG_PICOXCELL_UART
12775c972af4SRussell King	default 0x808c0000 if ARCH_EP93XX
12785c972af4SRussell King	default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
12797098cff2SIvan T. Ivanov	default 0xa9a00000 if DEBUG_MSM_UART
12805c972af4SRussell King	default 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX
12815c972af4SRussell King	default 0xc0013000 if DEBUG_U300_UART
1282c3faa9b7SRussell King	default 0xc8000000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1283c3faa9b7SRussell King	default 0xc8000003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
12840dc0e475SRussell King	default 0xd0000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
1285*d91125ddSMaxime Ripard	default 0xd0012000 if DEBUG_MVEBU_UART0
1286d8a00916SCarlo Caione	default 0xc81004c0 if DEBUG_MESON_UARTAO
1287c3faa9b7SRussell King	default 0xd4017000 if DEBUG_MMP_UART2
1288c3faa9b7SRussell King	default 0xd4018000 if DEBUG_MMP_UART3
12890dc0e475SRussell King	default 0xe0000000 if ARCH_SPEAR13XX
1290c9a1df48SHaojian Zhuang	default 0xe4007000 if DEBUG_HIP04_UART
12917a2071c5SGeert Uytterhoeven	default 0xe6c40000 if DEBUG_RMOBILE_SCIFA0
12927a2071c5SGeert Uytterhoeven	default 0xe6c50000 if DEBUG_RMOBILE_SCIFA1
12937a2071c5SGeert Uytterhoeven	default 0xe6c80000 if DEBUG_RMOBILE_SCIFA4
12947a2071c5SGeert Uytterhoeven	default 0xe6e58000 if DEBUG_RCAR_GEN2_SCIF2
12957a2071c5SGeert Uytterhoeven	default 0xe6e60000 if DEBUG_RCAR_GEN2_SCIF0
12967a2071c5SGeert Uytterhoeven	default 0xe8008000 if DEBUG_R7S72100_SCIF2
1297c3faa9b7SRussell King	default 0xf0000be0 if ARCH_EBSA110
129881b43a6eSMarc Carino	default 0xf040ab00 if DEBUG_BRCMSTB_UART
1299*d91125ddSMaxime Ripard	default 0xf1012000 if DEBUG_MVEBU_UART0_ALTERNATE
1300ba364fc7SAndrew Lunn	default 0xf1012000 if ARCH_DOVE || ARCH_MV78XX0 || \
1301c3faa9b7SRussell King				ARCH_ORION5X
1302caad0b41SSebastian Hesselbarth	default 0xf7fc9000 if DEBUG_BERLIN_UART
130312aae309SHaifeng Yan	default 0xf8b00000 if DEBUG_HIX5HD2_UART
13047098cff2SIvan T. Ivanov	default 0xf991e000 if DEBUG_QCOM_UARTDM
13058d258bebSHaojian Zhuang	default 0xfcb00000 if DEBUG_HI3620_UART
1306c3faa9b7SRussell King	default 0xfe800000 if ARCH_IOP32X
1307efd02ee9SHeiko Stuebner	default 0xff690000 if DEBUG_RK32_UART2
13080b4cccbeSRussell King	default 0xffc02000 if DEBUG_SOCFPGA_UART
1309c3faa9b7SRussell King	default 0xffd82340 if ARCH_IOP13XX
13107a2071c5SGeert Uytterhoeven	default 0xffe40000 if DEBUG_RCAR_GEN1_SCIF0
13117a2071c5SGeert Uytterhoeven	default 0xffe42000 if DEBUG_RCAR_GEN1_SCIF2
13125c972af4SRussell King	default 0xfff36000 if DEBUG_HIGHBANK_UART
1313b51312beSFlorian Fainelli	default 0xfffe8600 if DEBUG_UART_BCM63XX
1314c3faa9b7SRussell King	default 0xfffff700 if ARCH_IOP33X
1315f8f1279cSRussell King	depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1316494e492dSUwe Kleine-König		DEBUG_LL_UART_EFM32 || \
1317d8a00916SCarlo Caione		DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
13187a2071c5SGeert Uytterhoeven		DEBUG_MSM_UART || DEBUG_QCOM_UARTDM || DEBUG_R7S72100_SCIF2 || \
13197a2071c5SGeert Uytterhoeven		DEBUG_RCAR_GEN1_SCIF0 || DEBUG_RCAR_GEN1_SCIF2 || \
13207a2071c5SGeert Uytterhoeven		DEBUG_RCAR_GEN2_SCIF0 || DEBUG_RCAR_GEN2_SCIF2 || \
13217a2071c5SGeert Uytterhoeven		DEBUG_RMOBILE_SCIFA0 || DEBUG_RMOBILE_SCIFA1 || \
13227a2071c5SGeert Uytterhoeven		DEBUG_RMOBILE_SCIFA4 || DEBUG_S3C24XX_UART || \
1323d5bd4e8dSOleksij Rempel		DEBUG_UART_BCM63XX || DEBUG_ASM9260_UART
1324c3faa9b7SRussell King
1325c3faa9b7SRussell Kingconfig DEBUG_UART_VIRT
1326c3faa9b7SRussell King	hex "Virtual base address of debug UART"
1327c3faa9b7SRussell King	default 0xe0010fe0 if ARCH_RPC
13287098cff2SIvan T. Ivanov	default 0xe1000000 if DEBUG_MSM_UART
1329c3faa9b7SRussell King	default 0xf0000be0 if ARCH_EBSA110
1330d5bd4e8dSOleksij Rempel	default 0xf0010000 if DEBUG_ASM9260_UART
13315c972af4SRussell King	default 0xf01fb000 if DEBUG_NOMADIK_UART
13325c972af4SRussell King	default 0xf0201000 if DEBUG_BCM2835
133306580275SHauke Mehrtens	default 0xf1000300 if DEBUG_BCM_5301X
133465ec48c0SJoe.C	default 0xf1002000 if DEBUG_MT8127_UART0
1335d6682085SMatthias Brugger	default 0xf1006000 if DEBUG_MT6589_UART0
133665ec48c0SJoe.C	default 0xf1009000 if DEBUG_MT8135_UART3
13375c972af4SRussell King	default 0xf11f1000 if ARCH_VERSATILE
13385c972af4SRussell King	default 0xf1600000 if ARCH_INTEGRATOR
1339c3faa9b7SRussell King	default 0xf1c28000 if DEBUG_SUNXI_UART0
1340c3faa9b7SRussell King	default 0xf1c28400 if DEBUG_SUNXI_UART1
1341c4718543SChen-Yu Tsai	default 0xf1f02800 if DEBUG_SUNXI_R_UART
1342cde7fc87SRobert Jarzmik	default 0xf6200000 if DEBUG_PXA_UART1
1343c3faa9b7SRussell King	default 0xf4090000 if ARCH_LPC32XX
1344c3faa9b7SRussell King	default 0xf4200000 if ARCH_GEMINI
1345d4da889aSChen-Yu Tsai	default 0xf7000000 if DEBUG_SUN9I_UART0
13461899de28SHeiko Stuebner	default 0xf7000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
13471899de28SHeiko Stuebner				DEBUG_S3C2410_UART0)
13481899de28SHeiko Stuebner	default 0xf7004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
13491899de28SHeiko Stuebner				DEBUG_S3C2410_UART1)
13501899de28SHeiko Stuebner	default 0xf7008000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART2 || \
13511899de28SHeiko Stuebner				DEBUG_S3C2410_UART2)
1352caad0b41SSebastian Hesselbarth	default 0xf7fc9000 if DEBUG_BERLIN_UART
1353c9a1df48SHaojian Zhuang	default 0xf8007000 if DEBUG_HIP04_UART
13545c972af4SRussell King	default 0xf8009000 if DEBUG_VEXPRESS_UART0_CA9
13555c972af4SRussell King	default 0xf8090000 if DEBUG_VEXPRESS_UART0_RS1
13567098cff2SIvan T. Ivanov	default 0xfa71e000 if DEBUG_QCOM_UARTDM
1357b125170aSKrzysztof Hałasa	default 0xfb002000 if DEBUG_CNS3XXX
13585c972af4SRussell King	default 0xfb009000 if DEBUG_REALVIEW_STD_PORT
13595c972af4SRussell King	default 0xfb10c000 if DEBUG_REALVIEW_PB1176_PORT
136081b43a6eSMarc Carino	default 0xfc40ab00 if DEBUG_BRCMSTB_UART
1361b51312beSFlorian Fainelli	default 0xfcfe8600 if DEBUG_UART_BCM63XX
13620dc0e475SRussell King	default 0xfd000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
13630dc0e475SRussell King	default 0xfd000000 if ARCH_SPEAR13XX
1364c3faa9b7SRussell King	default 0xfd012000 if ARCH_MV78XX0
1365c3faa9b7SRussell King	default 0xfde12000 if ARCH_DOVE
1366c3faa9b7SRussell King	default 0xfe012000 if ARCH_ORION5X
1367d8a00916SCarlo Caione	default 0xf31004c0 if DEBUG_MESON_UARTAO
1368c3faa9b7SRussell King	default 0xfe017000 if DEBUG_MMP_UART2
1369c3faa9b7SRussell King	default 0xfe018000 if DEBUG_MMP_UART3
13705c972af4SRussell King	default 0xfe100000 if DEBUG_IMX23_UART || DEBUG_IMX28_UART
13710b4cccbeSRussell King	default 0xfe230000 if DEBUG_PICOXCELL_UART
1372753d1243SChristian Daudt	default 0xfe300000 if DEBUG_BCM_KONA_UART
1373c3faa9b7SRussell King	default 0xfe800000 if ARCH_IOP32X
137412aae309SHaifeng Yan	default 0xfeb00000 if DEBUG_HI3620_UART || DEBUG_HIX5HD2_UART
1375c3faa9b7SRussell King	default 0xfeb24000 if DEBUG_RK3X_UART0
1376c3faa9b7SRussell King	default 0xfeb26000 if DEBUG_RK3X_UART1
1377f2acf003SRussell King	default 0xfeb30c00 if DEBUG_KEYSTONE_UART0
1378f2acf003SRussell King	default 0xfeb31000 if DEBUG_KEYSTONE_UART1
13790b4cccbeSRussell King	default 0xfec02000 if DEBUG_SOCFPGA_UART
1380*d91125ddSMaxime Ripard	default 0xfec12000 if DEBUG_MVEBU_UART0 || DEBUG_MVEBU_UART0_ALTERNATE
138197bd1a48SRussell King	default 0xfec20000 if DEBUG_DAVINCI_DMx_UART0
1382efd02ee9SHeiko Stuebner	default 0xfec90000 if DEBUG_RK32_UART2
138397bd1a48SRussell King	default 0xfed0c000 if DEBUG_DAVINCI_DA8XX_UART1
138497bd1a48SRussell King	default 0xfed0d000 if DEBUG_DAVINCI_DA8XX_UART2
1385c39e1ef7SAlexander Shiyan	default 0xfed60000 if DEBUG_RK29_UART0
1386c39e1ef7SAlexander Shiyan	default 0xfed64000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1387c39e1ef7SAlexander Shiyan	default 0xfed68000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
13885c972af4SRussell King	default 0xfedc0000 if ARCH_EP93XX
1389c3faa9b7SRussell King	default 0xfee003f8 if FOOTBRIDGE
13905c972af4SRussell King	default 0xfee20000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
1391c3faa9b7SRussell King	default 0xfee82340 if ARCH_IOP13XX
1392c3faa9b7SRussell King	default 0xfef00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1393c3faa9b7SRussell King	default 0xfef00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
1394c39e1ef7SAlexander Shiyan	default 0xfef36000 if DEBUG_HIGHBANK_UART
1395c3faa9b7SRussell King	default 0xfefff700 if ARCH_IOP33X
13965c972af4SRussell King	default 0xff003000 if DEBUG_U300_UART
13975c972af4SRussell King	default DEBUG_UART_PHYS if !MMU
1398f8f1279cSRussell King	depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1399d8a00916SCarlo Caione		DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
1400b51312beSFlorian Fainelli		DEBUG_MSM_UART || DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART || \
1401d5bd4e8dSOleksij Rempel		DEBUG_UART_BCM63XX || DEBUG_ASM9260_UART
1402c3faa9b7SRussell King
14034a003647SRussell Kingconfig DEBUG_UART_8250_SHIFT
14044a003647SRussell King	int "Register offset shift for the 8250 debug UART"
1405f8f1279cSRussell King	depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1406140bd603SHauke Mehrtens	default 0 if FOOTBRIDGE || ARCH_IOP32X || DEBUG_BCM_5301X
14074a003647SRussell King	default 2
14087610b607SRussell King
14090b4cccbeSRussell Kingconfig DEBUG_UART_8250_WORD
14100b4cccbeSRussell King	bool "Use 32-bit accesses for 8250 UART"
1411f8f1279cSRussell King	depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
14120b4cccbeSRussell King	depends on DEBUG_UART_8250_SHIFT >= 2
1413f2acf003SRussell King	default y if DEBUG_PICOXCELL_UART || DEBUG_SOCFPGA_UART || \
141497bd1a48SRussell King		ARCH_KEYSTONE || \
141597bd1a48SRussell King		DEBUG_DAVINCI_DMx_UART0 || DEBUG_DAVINCI_DA8XX_UART1 || \
14169d6eccb9SArnd Bergmann		DEBUG_DAVINCI_DA8XX_UART2 || \
141781b43a6eSMarc Carino		DEBUG_BCM_KONA_UART || DEBUG_RK32_UART2 || \
141881b43a6eSMarc Carino		DEBUG_BRCMSTB_UART
14190b4cccbeSRussell King
14207610b607SRussell Kingconfig DEBUG_UART_8250_FLOW_CONTROL
14217610b607SRussell King	bool "Enable flow control for 8250 UART"
1422f8f1279cSRussell King	depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
14237610b607SRussell King	default y if ARCH_EBSA110 || FOOTBRIDGE || ARCH_GEMINI || ARCH_RPC
14247610b607SRussell King
14253b4af9bcSShawn Guoconfig DEBUG_UNCOMPRESS
14263b4af9bcSShawn Guo	bool
142790266754SHeiko Stuebner	depends on ARCH_MULTIPLATFORM || ARCH_MSM || PLAT_SAMSUNG
1428b6992fa9SRussell King	default y if DEBUG_LL && !DEBUG_OMAP2PLUS_UART && \
1429ae3c99a2SStephen Warren		     (!DEBUG_TEGRA_UART || !ZBOOT_ROM)
1430b6992fa9SRussell King	help
1431b6992fa9SRussell King	  This option influences the normal decompressor output for
1432b6992fa9SRussell King	  multiplatform kernels.  Normally, multiplatform kernels disable
1433b6992fa9SRussell King	  decompressor output because it is not possible to know where to
1434b6992fa9SRussell King	  send the decompressor output.
1435b6992fa9SRussell King
1436b6992fa9SRussell King	  When this option is set, the selected DEBUG_LL output method
1437b6992fa9SRussell King	  will be re-used for normal decompressor output on multiplatform
1438b6992fa9SRussell King	  kernels.
1439b6992fa9SRussell King
14403b4af9bcSShawn Guo
1441615967b0SShawn Guoconfig UNCOMPRESS_INCLUDE
1442615967b0SShawn Guo	string
1443ffd80eccSSachin Kamat	default "debug/uncompress.h" if ARCH_MULTIPLATFORM || ARCH_MSM || \
14442bf73dd6SLinus Torvalds					PLAT_SAMSUNG || ARCH_EFM32
1445615967b0SShawn Guo	default "mach/uncompress.h"
1446615967b0SShawn Guo
144793fd03a8SCatalin Marinasconfig EARLY_PRINTK
144893fd03a8SCatalin Marinas	bool "Early printk"
144993fd03a8SCatalin Marinas	depends on DEBUG_LL
145093fd03a8SCatalin Marinas	help
145193fd03a8SCatalin Marinas	  Say Y here if you want to have an early console using the
145293fd03a8SCatalin Marinas	  kernel low-level debugging functions. Add earlyprintk to your
145393fd03a8SCatalin Marinas	  kernel parameters to enable this console.
145493fd03a8SCatalin Marinas
14554189bc71SJon Medhurstconfig ARM_KPROBES_TEST
14564189bc71SJon Medhurst	tristate "Kprobes test module"
14574189bc71SJon Medhurst	depends on KPROBES && MODULES
14584189bc71SJon Medhurst	help
14594189bc71SJon Medhurst	  Perform tests of kprobes API and instruction set simulation.
14604189bc71SJon Medhurst
1461575320d6SWill Deaconconfig PID_IN_CONTEXTIDR
1462575320d6SWill Deacon	bool "Write the current PID to the CONTEXTIDR register"
1463575320d6SWill Deacon	depends on CPU_COPY_V6
1464575320d6SWill Deacon	help
1465575320d6SWill Deacon	  Enabling this option causes the kernel to write the current PID to
1466575320d6SWill Deacon	  the PROCID field of the CONTEXTIDR register, at the expense of some
1467575320d6SWill Deacon	  additional instructions during context switch. Say Y here only if you
1468575320d6SWill Deacon	  are planning to use hardware trace tools with this kernel.
1469575320d6SWill Deacon
1470dca9aa92SLaura Abbottconfig DEBUG_SET_MODULE_RONX
1471dca9aa92SLaura Abbott	bool "Set loadable kernel module data as NX and text as RO"
1472dca9aa92SLaura Abbott	depends on MODULES
1473dca9aa92SLaura Abbott	---help---
1474dca9aa92SLaura Abbott	  This option helps catch unintended modifications to loadable
1475dca9aa92SLaura Abbott	  kernel module's text and read-only data. It also prevents execution
1476dca9aa92SLaura Abbott	  of module data. Such protection may interfere with run-time code
1477dca9aa92SLaura Abbott	  patching and dynamic kernel tracing - and they might also protect
1478dca9aa92SLaura Abbott	  against certain classes of kernel exploits.
1479dca9aa92SLaura Abbott	  If in doubt, say "N".
1480dca9aa92SLaura Abbott
1481a06ae860SPratik Patelmenuconfig CORESIGHT
1482a06ae860SPratik Patel	bool "CoreSight Tracing Support"
1483a06ae860SPratik Patel	select ARM_AMBA
1484a06ae860SPratik Patel	help
1485a06ae860SPratik Patel	  This framework provides a kernel interface for the CoreSight debug
1486a06ae860SPratik Patel	  and trace drivers to register themselves with. It's intended to build
1487a06ae860SPratik Patel	  a topological view of the CoreSight components based on a DT
1488a06ae860SPratik Patel	  specification and configure the right serie of components when a
1489a06ae860SPratik Patel	  trace source gets enabled.
1490bc4bf7feSPratik Patel
1491bc4bf7feSPratik Patelif CORESIGHT
1492bc4bf7feSPratik Patelconfig CORESIGHT_LINKS_AND_SINKS
1493bc4bf7feSPratik Patel	bool "CoreSight Link and Sink drivers"
1494bc4bf7feSPratik Patel	help
1495bc4bf7feSPratik Patel	  This enables support for CoreSight link and sink drivers that are
1496bc4bf7feSPratik Patel	  responsible for transporting and collecting the trace data
1497bc4bf7feSPratik Patel	  respectively.  Link and sinks are dynamically aggregated with a trace
1498bc4bf7feSPratik Patel	  entity at run time to form a complete trace path.
1499bc4bf7feSPratik Patel
1500bc4bf7feSPratik Patelconfig CORESIGHT_LINK_AND_SINK_TMC
1501bc4bf7feSPratik Patel	bool "Coresight generic TMC driver"
1502bc4bf7feSPratik Patel	depends on CORESIGHT_LINKS_AND_SINKS
1503bc4bf7feSPratik Patel	help
1504bc4bf7feSPratik Patel	  This enables support for the Trace Memory Controller driver.  Depending
1505bc4bf7feSPratik Patel	  on its configuration the device can act as a link (embedded trace router
1506bc4bf7feSPratik Patel	  - ETR) or sink (embedded trace FIFO).  The driver complies with the
1507bc4bf7feSPratik Patel	  generic implementation of the component without special enhancement or
1508bc4bf7feSPratik Patel	  added features.
1509dc161b9fSPratik Patel
1510dc161b9fSPratik Patelconfig CORESIGHT_SINK_TPIU
1511dc161b9fSPratik Patel	bool "Coresight generic TPIU driver"
1512dc161b9fSPratik Patel	depends on CORESIGHT_LINKS_AND_SINKS
1513dc161b9fSPratik Patel	help
1514dc161b9fSPratik Patel	  This enables support for the Trace Port Interface Unit driver, responsible
1515dc161b9fSPratik Patel	  for bridging the gap between the on-chip coresight components and a trace
1516dc161b9fSPratik Patel	  port collection engine, typically connected to an external host for use
1517dc161b9fSPratik Patel	  case capturing more traces than the on-board coresight memory can handle.
1518fdfc0d8aSPratik Patel
1519fdfc0d8aSPratik Patelconfig CORESIGHT_SINK_ETBV10
1520fdfc0d8aSPratik Patel	bool "Coresight ETBv1.0 driver"
1521fdfc0d8aSPratik Patel	depends on CORESIGHT_LINKS_AND_SINKS
1522fdfc0d8aSPratik Patel	help
1523fdfc0d8aSPratik Patel	  This enables support for the Embedded Trace Buffer version 1.0 driver
1524fdfc0d8aSPratik Patel	  that complies with the generic implementation of the component without
1525fdfc0d8aSPratik Patel	  special enhancement or added features.
1526a939fc5aSPratik Patel
1527a939fc5aSPratik Patelconfig CORESIGHT_SOURCE_ETM3X
1528a939fc5aSPratik Patel	bool "CoreSight Embedded Trace Macrocell 3.x driver"
1529a939fc5aSPratik Patel	select CORESIGHT_LINKS_AND_SINKS
1530a939fc5aSPratik Patel	help
1531a939fc5aSPratik Patel	  This driver provides support for processor ETM3.x and PTM1.x modules,
1532a939fc5aSPratik Patel	  which allows tracing the instructions that a processor is executing
1533a939fc5aSPratik Patel	  This is primarily useful for instruction level tracing.  Depending
1534a939fc5aSPratik Patel	  the ETM version data tracing may also be available.
1535bc4bf7feSPratik Patelendif
15361da177e4SLinus Torvaldsendmenu
1537