xref: /linux/arch/arm/Kconfig.debug (revision ae57d0c6094773e222e2047ded87073c59c7ac25)
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
1185f58c970SAlexandre Belloni		bool "Kernel low-level debugging on rm9200, 9260/9g20, 9261/9g10, 9rl, 9x5, 9n12"
1195f58c970SAlexandre Belloni		select DEBUG_AT91_UART
12042dfd1e1SNicolas Ferre		depends on ARCH_AT91
121*ae57d0c6SAlexandre Belloni		depends on SOC_AT91RM9200 || SOC_AT91SAM9
12213079a73SJean-Christophe PLAGNIOL-VILLARD
12313079a73SJean-Christophe PLAGNIOL-VILLARD	config AT91_DEBUG_LL_DBGU1
1245f58c970SAlexandre Belloni		bool "Kernel low-level debugging on 9263, 9g45 and sama5d3"
1255f58c970SAlexandre Belloni		select DEBUG_AT91_UART
12642dfd1e1SNicolas Ferre		depends on ARCH_AT91
127*ae57d0c6SAlexandre Belloni		depends on SOC_AT91SAM9 || SOC_SAMA5
12813079a73SJean-Christophe PLAGNIOL-VILLARD
1292dc850b6SNicolas Ferre	config AT91_DEBUG_LL_DBGU2
1302dc850b6SNicolas Ferre		bool "Kernel low-level debugging on sama5d4"
1315f58c970SAlexandre Belloni		select DEBUG_AT91_UART
13242dfd1e1SNicolas Ferre		depends on ARCH_AT91
133*ae57d0c6SAlexandre Belloni		depends on SOC_SAMA5
1342dc850b6SNicolas Ferre
135f1ac922dSStephen Warren	config DEBUG_BCM2835
136f1ac922dSStephen Warren		bool "Kernel low-level debugging on BCM2835 PL011 UART"
137f1ac922dSStephen Warren		depends on ARCH_BCM2835
1385c972af4SRussell King		select DEBUG_UART_PL01X
139f1ac922dSStephen Warren
14006580275SHauke Mehrtens	config DEBUG_BCM_5301X
14106580275SHauke Mehrtens		bool "Kernel low-level debugging on BCM5301X UART1"
14206580275SHauke Mehrtens		depends on ARCH_BCM_5301X
143140bd603SHauke Mehrtens		select DEBUG_UART_8250
14406580275SHauke Mehrtens
145753d1243SChristian Daudt	config DEBUG_BCM_KONA_UART
146753d1243SChristian Daudt		bool "Kernel low-level debugging messages via BCM KONA UART"
1477aa2077bSFlorian Fainelli		depends on ARCH_BCM_MOBILE
148753d1243SChristian Daudt		select DEBUG_UART_8250
149753d1243SChristian Daudt		help
150753d1243SChristian Daudt		  Say Y here if you want kernel low-level debugging support
151753d1243SChristian Daudt		  on Broadcom SoC platforms.
152753d1243SChristian Daudt		  This low level debug works for Broadcom
153753d1243SChristian Daudt		  mobile SoCs in the Kona family of chips (e.g. bcm28155,
154753d1243SChristian Daudt		  bcm11351, etc...)
155753d1243SChristian Daudt
156b51312beSFlorian Fainelli	config DEBUG_BCM63XX
157b51312beSFlorian Fainelli		bool "Kernel low-level debugging on BCM63XX UART"
158b51312beSFlorian Fainelli		depends on ARCH_BCM_63XX
159b51312beSFlorian Fainelli		select DEBUG_UART_BCM63XX
160b51312beSFlorian Fainelli
161caad0b41SSebastian Hesselbarth	config DEBUG_BERLIN_UART
162caad0b41SSebastian Hesselbarth		bool "Marvell Berlin SoC Debug UART"
163caad0b41SSebastian Hesselbarth		depends on ARCH_BERLIN
164caad0b41SSebastian Hesselbarth		select DEBUG_UART_8250
165caad0b41SSebastian Hesselbarth		help
166caad0b41SSebastian Hesselbarth		  Say Y here if you want kernel low-level debugging support
167caad0b41SSebastian Hesselbarth		  on Marvell Berlin SoC based platforms.
168caad0b41SSebastian Hesselbarth
16981b43a6eSMarc Carino	config DEBUG_BRCMSTB_UART
17081b43a6eSMarc Carino		bool "Use BRCMSTB UART for low-level debug"
17181b43a6eSMarc Carino		depends on ARCH_BRCMSTB
17281b43a6eSMarc Carino		select DEBUG_UART_8250
17381b43a6eSMarc Carino		help
17481b43a6eSMarc Carino		  Say Y here if you want the debug print routines to direct
17581b43a6eSMarc Carino		  their output to the first serial port on these devices.
17681b43a6eSMarc Carino
17781b43a6eSMarc Carino		  If you have a Broadcom STB chip and would like early print
17881b43a6eSMarc Carino		  messages to appear over the UART, select this option.
17981b43a6eSMarc Carino
180164acf96SStephen Boyd	config DEBUG_CLPS711X_UART1
181164acf96SStephen Boyd		bool "Kernel low-level debugging messages via UART1"
182164acf96SStephen Boyd		depends on ARCH_CLPS711X
183164acf96SStephen Boyd		help
184164acf96SStephen Boyd		  Say Y here if you want the debug print routines to direct
185164acf96SStephen Boyd		  their output to the first serial port on these devices.
18617916b28SWill Deacon
18717916b28SWill Deacon	config DEBUG_CLPS711X_UART2
18817916b28SWill Deacon		bool "Kernel low-level debugging messages via UART2"
18917916b28SWill Deacon		depends on ARCH_CLPS711X
19017916b28SWill Deacon		help
19117916b28SWill Deacon		  Say Y here if you want the debug print routines to direct
19217916b28SWill Deacon		  their output to the second serial port on these devices.
19317916b28SWill Deacon
19429c9b7beSArnd Bergmann	config DEBUG_CNS3XXX
19529c9b7beSArnd Bergmann		bool "Kernel Kernel low-level debugging on Cavium Networks CNS3xxx"
19629c9b7beSArnd Bergmann		depends on ARCH_CNS3XXX
197b125170aSKrzysztof Hałasa		select DEBUG_UART_8250
19829c9b7beSArnd Bergmann		help
19929c9b7beSArnd Bergmann		  Say Y here if you want the debug print routines to direct
20029c9b7beSArnd Bergmann                  their output to the CNS3xxx UART0.
20129c9b7beSArnd Bergmann
202477099f1SUwe Kleine-König	config DEBUG_DAVINCI_DA8XX_UART1
203477099f1SUwe Kleine-König		bool "Kernel low-level debugging on DaVinci DA8XX using UART1"
204477099f1SUwe Kleine-König		depends on ARCH_DAVINCI_DA8XX
20597bd1a48SRussell King		select DEBUG_UART_8250
206477099f1SUwe Kleine-König		help
207477099f1SUwe Kleine-König		  Say Y here if you want the debug print routines to direct
208477099f1SUwe Kleine-König		  their output to UART1 serial port on DaVinci DA8XX devices.
209477099f1SUwe Kleine-König
210477099f1SUwe Kleine-König	config DEBUG_DAVINCI_DA8XX_UART2
211477099f1SUwe Kleine-König		bool "Kernel low-level debugging on DaVinci DA8XX using UART2"
212477099f1SUwe Kleine-König		depends on ARCH_DAVINCI_DA8XX
21397bd1a48SRussell King		select DEBUG_UART_8250
214477099f1SUwe Kleine-König		help
215477099f1SUwe Kleine-König		  Say Y here if you want the debug print routines to direct
216477099f1SUwe Kleine-König		  their output to UART2 serial port on DaVinci DA8XX devices.
217477099f1SUwe Kleine-König
218477099f1SUwe Kleine-König	config DEBUG_DAVINCI_DMx_UART0
219477099f1SUwe Kleine-König		bool "Kernel low-level debugging on DaVinci DMx using UART0"
220477099f1SUwe Kleine-König		depends on ARCH_DAVINCI_DMx
22197bd1a48SRussell King		select DEBUG_UART_8250
222477099f1SUwe Kleine-König		help
223477099f1SUwe Kleine-König		  Say Y here if you want the debug print routines to direct
224477099f1SUwe Kleine-König		  their output to UART0 serial port on DaVinci DMx devices.
225477099f1SUwe Kleine-König
226aaf5e0beSNick Bowler	config DEBUG_ZYNQ_UART0
227aaf5e0beSNick Bowler		bool "Kernel low-level debugging on Xilinx Zynq using UART0"
228aaf5e0beSNick Bowler		depends on ARCH_ZYNQ
229aaf5e0beSNick Bowler		help
230aaf5e0beSNick Bowler		  Say Y here if you want the debug print routines to direct
231aaf5e0beSNick Bowler		  their output to UART0 on the Zynq platform.
232aaf5e0beSNick Bowler
233aaf5e0beSNick Bowler	config DEBUG_ZYNQ_UART1
234aaf5e0beSNick Bowler		bool "Kernel low-level debugging on Xilinx Zynq using UART1"
235aaf5e0beSNick Bowler		depends on ARCH_ZYNQ
236aaf5e0beSNick Bowler		help
237aaf5e0beSNick Bowler		  Say Y here if you want the debug print routines to direct
238aaf5e0beSNick Bowler		  their output to UART1 on the Zynq platform.
239aaf5e0beSNick Bowler
240aaf5e0beSNick Bowler		  If you have a ZC702 board and want early boot messages to
241aaf5e0beSNick Bowler		  appear on the USB serial adaptor, select this option.
242aaf5e0beSNick Bowler
243e76f4750SRussell King	config DEBUG_DC21285_PORT
244e76f4750SRussell King		bool "Kernel low-level debugging messages via footbridge serial port"
245e76f4750SRussell King		depends on FOOTBRIDGE
246e76f4750SRussell King		help
247e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
248e76f4750SRussell King		  their output to the serial port in the DC21285 (Footbridge).
249e76f4750SRussell King
250e76f4750SRussell King	config DEBUG_FOOTBRIDGE_COM1
251e76f4750SRussell King		bool "Kernel low-level debugging messages via footbridge 8250 at PCI COM1"
252e76f4750SRussell King		depends on FOOTBRIDGE
253e76f4750SRussell King		help
254e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
255e76f4750SRussell King		  their output to the 8250 at PCI COM1.
256e76f4750SRussell King
2578d258bebSHaojian Zhuang	config DEBUG_HI3620_UART
2588d258bebSHaojian Zhuang		bool "Hisilicon HI3620 Debug UART"
2598d258bebSHaojian Zhuang		depends on ARCH_HI3xxx
2608d258bebSHaojian Zhuang		select DEBUG_UART_PL01X
2618d258bebSHaojian Zhuang		help
2628d258bebSHaojian Zhuang		  Say Y here if you want kernel low-level debugging support
2638d258bebSHaojian Zhuang		  on HI3620 UART.
2648d258bebSHaojian Zhuang
2658d258bebSHaojian Zhuang	config DEBUG_HI3716_UART
2668d258bebSHaojian Zhuang		bool "Hisilicon Hi3716 Debug UART"
2678d258bebSHaojian Zhuang		depends on ARCH_HI3xxx
2688d258bebSHaojian Zhuang		select DEBUG_UART_PL01X
2698d258bebSHaojian Zhuang		help
2708d258bebSHaojian Zhuang		  Say Y here if you want kernel low-level debugging support
2718d258bebSHaojian Zhuang		  on HI3716 UART.
2728d258bebSHaojian Zhuang
273220e6cf7SRob Herring	config DEBUG_HIGHBANK_UART
274220e6cf7SRob Herring		bool "Kernel low-level debugging messages via Highbank UART"
275220e6cf7SRob Herring		depends on ARCH_HIGHBANK
2765c972af4SRussell King		select DEBUG_UART_PL01X
277220e6cf7SRob Herring		help
278220e6cf7SRob Herring		  Say Y here if you want the debug print routines to direct
279220e6cf7SRob Herring		  their output to the UART on Highbank based devices.
280220e6cf7SRob Herring
281c9a1df48SHaojian Zhuang	config DEBUG_HIP04_UART
282c9a1df48SHaojian Zhuang		bool "Hisilicon HiP04 Debug UART"
283c9a1df48SHaojian Zhuang		depends on ARCH_HIP04
284c9a1df48SHaojian Zhuang		select DEBUG_UART_8250
285c9a1df48SHaojian Zhuang		help
286c9a1df48SHaojian Zhuang		  Say Y here if you want kernel low-level debugging support
287c9a1df48SHaojian Zhuang		  on HIP04 UART.
288c9a1df48SHaojian Zhuang
28937bdaf82SOlof Johansson	config DEBUG_HIX5HD2_UART
29037bdaf82SOlof Johansson		bool "Hisilicon Hix5hd2 Debug UART"
29137bdaf82SOlof Johansson		depends on ARCH_HIX5HD2
29293fd03a8SCatalin Marinas		select DEBUG_UART_PL01X
29393fd03a8SCatalin Marinas		help
29437bdaf82SOlof Johansson		  Say Y here if you want kernel low-level debugging support
29537bdaf82SOlof Johansson		  on Hix5hd2 UART.
2961da177e4SLinus Torvalds
297f350b861SShawn Guo	config DEBUG_IMX1_UART
298f350b861SShawn Guo		bool "i.MX1 Debug UART"
299f350b861SShawn Guo		depends on SOC_IMX1
300f350b861SShawn Guo		help
301f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
302f350b861SShawn Guo		  on i.MX1.
303f350b861SShawn Guo
304f350b861SShawn Guo	config DEBUG_IMX23_UART
305f350b861SShawn Guo		bool "i.MX23 Debug UART"
306f350b861SShawn Guo		depends on SOC_IMX23
3075c972af4SRussell King		select DEBUG_UART_PL01X
308f350b861SShawn Guo		help
309f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
310f350b861SShawn Guo		  on i.MX23.
311f350b861SShawn Guo
312f350b861SShawn Guo	config DEBUG_IMX25_UART
313f350b861SShawn Guo		bool "i.MX25 Debug UART"
314f350b861SShawn Guo		depends on SOC_IMX25
315f350b861SShawn Guo		help
316f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
317f350b861SShawn Guo		  on i.MX25.
318f350b861SShawn Guo
319f350b861SShawn Guo	config DEBUG_IMX21_IMX27_UART
320f350b861SShawn Guo		bool "i.MX21 and i.MX27 Debug UART"
321f350b861SShawn Guo		depends on SOC_IMX21 || SOC_IMX27
322f350b861SShawn Guo		help
323f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
324f350b861SShawn Guo		  on i.MX21 or i.MX27.
325f350b861SShawn Guo
326f350b861SShawn Guo	config DEBUG_IMX28_UART
327f350b861SShawn Guo		bool "i.MX28 Debug UART"
328f350b861SShawn Guo		depends on SOC_IMX28
3295c972af4SRussell King		select DEBUG_UART_PL01X
330f350b861SShawn Guo		help
331f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
332f350b861SShawn Guo		  on i.MX28.
333f350b861SShawn Guo
3344ad625d4SShawn Guo	config DEBUG_IMX31_UART
3354ad625d4SShawn Guo		bool "i.MX31 Debug UART"
3364ad625d4SShawn Guo		depends on SOC_IMX31
337f350b861SShawn Guo		help
338f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
3394ad625d4SShawn Guo		  on i.MX31.
3404ad625d4SShawn Guo
3414ad625d4SShawn Guo	config DEBUG_IMX35_UART
3424ad625d4SShawn Guo		bool "i.MX35 Debug UART"
3434ad625d4SShawn Guo		depends on SOC_IMX35
3444ad625d4SShawn Guo		help
3454ad625d4SShawn Guo		  Say Y here if you want kernel low-level debugging support
3464ad625d4SShawn Guo		  on i.MX35.
347f350b861SShawn Guo
348ad364a70SGreg Ungerer	config DEBUG_IMX50_UART
349ad364a70SGreg Ungerer		bool "i.MX50 Debug UART"
350ad364a70SGreg Ungerer		depends on SOC_IMX50
351ad364a70SGreg Ungerer		help
352ad364a70SGreg Ungerer		  Say Y here if you want kernel low-level debugging support
353ad364a70SGreg Ungerer		  on i.MX50.
354ad364a70SGreg Ungerer
355f350b861SShawn Guo	config DEBUG_IMX51_UART
356f350b861SShawn Guo		bool "i.MX51 Debug UART"
357f350b861SShawn Guo		depends on SOC_IMX51
358f350b861SShawn Guo		help
359f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
360f350b861SShawn Guo		  on i.MX51.
361f350b861SShawn Guo
3627356420cSFabio Estevam	config DEBUG_IMX53_UART
3637356420cSFabio Estevam		bool "i.MX53 Debug UART"
3647356420cSFabio Estevam		depends on SOC_IMX53
365f350b861SShawn Guo		help
366f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
3677356420cSFabio Estevam		  on i.MX53.
368f350b861SShawn Guo
36949c9e60eSShawn Guo	config DEBUG_IMX6Q_UART
3703c03a2feSShawn Guo		bool "i.MX6Q/DL Debug UART"
371785d7fabSDirk Behme		depends on SOC_IMX6Q
372785d7fabSDirk Behme		help
373785d7fabSDirk Behme		  Say Y here if you want kernel low-level debugging support
3743c03a2feSShawn Guo		  on i.MX6Q/DL.
375bac89d75SShawn Guo
37634e8a16bSShawn Guo	config DEBUG_IMX6SL_UART
37734e8a16bSShawn Guo		bool "i.MX6SL Debug UART"
37834e8a16bSShawn Guo		depends on SOC_IMX6SL
37934e8a16bSShawn Guo		help
38034e8a16bSShawn Guo		  Say Y here if you want kernel low-level debugging support
38134e8a16bSShawn Guo		  on i.MX6SL.
38234e8a16bSShawn Guo
38374368e81SShawn Guo	config DEBUG_IMX6SX_UART
38474368e81SShawn Guo		bool "i.MX6SX Debug UART"
38574368e81SShawn Guo		depends on SOC_IMX6SX
38674368e81SShawn Guo		help
38774368e81SShawn Guo		  Say Y here if you want kernel low-level debugging support
38874368e81SShawn Guo		  on i.MX6SX.
38974368e81SShawn Guo
390828989adSSantosh Shilimkar	config DEBUG_KEYSTONE_UART0
391828989adSSantosh Shilimkar		bool "Kernel low-level debugging on KEYSTONE2 using UART0"
392828989adSSantosh Shilimkar		depends on ARCH_KEYSTONE
393f2acf003SRussell King		select DEBUG_UART_8250
394828989adSSantosh Shilimkar		help
395828989adSSantosh Shilimkar		  Say Y here if you want the debug print routines to direct
396828989adSSantosh Shilimkar		  their output to UART0 serial port on KEYSTONE2 devices.
397828989adSSantosh Shilimkar
398828989adSSantosh Shilimkar	config DEBUG_KEYSTONE_UART1
399828989adSSantosh Shilimkar		bool "Kernel low-level debugging on KEYSTONE2 using UART1"
400828989adSSantosh Shilimkar		depends on ARCH_KEYSTONE
401f2acf003SRussell King		select DEBUG_UART_8250
402828989adSSantosh Shilimkar		help
403828989adSSantosh Shilimkar		  Say Y here if you want the debug print routines to direct
404828989adSSantosh Shilimkar		  their output to UART1 serial port on KEYSTONE2 devices.
405828989adSSantosh Shilimkar
406d8a00916SCarlo Caione	config DEBUG_MESON_UARTAO
407d8a00916SCarlo Caione		bool "Kernel low-level debugging via Meson6 UARTAO"
408d8a00916SCarlo Caione		depends on ARCH_MESON
409d8a00916SCarlo Caione		help
410d8a00916SCarlo Caione		  Say Y here if you want kernel low-lever debugging support
411d8a00916SCarlo Caione		  on Amlogic Meson6 based platforms on the UARTAO.
412d8a00916SCarlo Caione
413fa4cd2a8SHaojian Zhuang	config DEBUG_MMP_UART2
414fa4cd2a8SHaojian Zhuang		bool "Kernel low-level debugging message via MMP UART2"
415fa4cd2a8SHaojian Zhuang		depends on ARCH_MMP
4164a003647SRussell King		select DEBUG_UART_8250
417fa4cd2a8SHaojian Zhuang		help
418fa4cd2a8SHaojian Zhuang		  Say Y here if you want kernel low-level debugging support
419fa4cd2a8SHaojian Zhuang		  on MMP UART2.
420fa4cd2a8SHaojian Zhuang
421fa4cd2a8SHaojian Zhuang	config DEBUG_MMP_UART3
422fa4cd2a8SHaojian Zhuang		bool "Kernel low-level debugging message via MMP UART3"
423fa4cd2a8SHaojian Zhuang		depends on ARCH_MMP
4244a003647SRussell King		select DEBUG_UART_8250
425fa4cd2a8SHaojian Zhuang		help
426fa4cd2a8SHaojian Zhuang		  Say Y here if you want kernel low-level debugging support
427fa4cd2a8SHaojian Zhuang		  on MMP UART3.
428fa4cd2a8SHaojian Zhuang
4297098cff2SIvan T. Ivanov	config DEBUG_MSM_UART
4307098cff2SIvan T. Ivanov		bool "Kernel low-level debugging messages via MSM UART"
4317098cff2SIvan T. Ivanov		depends on ARCH_MSM
432650e3f0dSStephen Boyd		help
433650e3f0dSStephen Boyd		  Say Y here if you want the debug print routines to direct
4347098cff2SIvan T. Ivanov		  their output to the serial port on MSM devices.
435650e3f0dSStephen Boyd
4367098cff2SIvan T. Ivanov		  ARCH                DEBUG_UART_PHYS   DEBUG_UART_BASE   #
4377098cff2SIvan T. Ivanov		  MSM7X00A, QSD8X50   0xa9a00000        0xe1000000        UART1
4387098cff2SIvan T. Ivanov		  MSM7X00A, QSD8X50   0xa9b00000        0xe1000000        UART2
4397098cff2SIvan T. Ivanov		  MSM7X00A, QSD8X50   0xa9c00000        0xe1000000        UART3
440650e3f0dSStephen Boyd
4417098cff2SIvan T. Ivanov		  MSM7X30             0xaca00000        0xe1000000        UART1
4427098cff2SIvan T. Ivanov		  MSM7X30             0xacb00000        0xe1000000        UART2
4437098cff2SIvan T. Ivanov		  MSM7X30             0xacc00000        0xe1000000        UART3
444650e3f0dSStephen Boyd
4457098cff2SIvan T. Ivanov		  Please adjust DEBUG_UART_PHYS and DEBUG_UART_BASE configuration
4467098cff2SIvan T. Ivanov		  options based on your needs.
447a3d3ef9dSStephen Boyd
4487098cff2SIvan T. Ivanov	config DEBUG_QCOM_UARTDM
4497098cff2SIvan T. Ivanov		bool "Kernel low-level debugging messages via QCOM UARTDM"
4507098cff2SIvan T. Ivanov		depends on ARCH_QCOM
451a3d3ef9dSStephen Boyd		help
452a3d3ef9dSStephen Boyd		  Say Y here if you want the debug print routines to direct
4537098cff2SIvan T. Ivanov		  their output to the serial port on Qualcomm devices.
454a3d3ef9dSStephen Boyd
4557098cff2SIvan T. Ivanov		  ARCH      DEBUG_UART_PHYS   DEBUG_UART_BASE
4562f528dd3SGeorgi Djakov		  APQ8084   0xf995e000        0xfa75e000
4577098cff2SIvan T. Ivanov		  MSM8X60   0x19c40000        0xf0040000
4587098cff2SIvan T. Ivanov		  MSM8960   0x16440000        0xf0040000
4597098cff2SIvan T. Ivanov		  MSM8974   0xf991e000        0xfa71e000
4607098cff2SIvan T. Ivanov
4617098cff2SIvan T. Ivanov		  Please adjust DEBUG_UART_PHYS and DEBUG_UART_BASE configuration
4627098cff2SIvan T. Ivanov		  options based on your needs.
4633c8828f6SRohit Vaswani
464bfd5af99SRob Herring	config DEBUG_MVEBU_UART
465c2804cd6SThomas Petazzoni		bool "Kernel low-level debugging messages via MVEBU UART (old bootloaders)"
466bfd5af99SRob Herring		depends on ARCH_MVEBU
4674a003647SRussell King		select DEBUG_UART_8250
468bfd5af99SRob Herring		help
469bfd5af99SRob Herring		  Say Y here if you want kernel low-level debugging support
470bfd5af99SRob Herring		  on MVEBU based platforms.
471bfd5af99SRob Herring
472c2804cd6SThomas Petazzoni		  This option should be used with the old bootloaders
473c2804cd6SThomas Petazzoni		  that left the internal registers mapped at
474c2804cd6SThomas Petazzoni		  0xd0000000. As of today, this is the case on
475c2804cd6SThomas Petazzoni		  platforms such as the Globalscale Mirabox or the
476c2804cd6SThomas Petazzoni		  Plathome OpenBlocks AX3, when using the original
477c2804cd6SThomas Petazzoni		  bootloader.
478c2804cd6SThomas Petazzoni
479c2804cd6SThomas Petazzoni		  If the wrong DEBUG_MVEBU_UART* option is selected,
480c2804cd6SThomas Petazzoni		  when u-boot hands over to the kernel, the system
481c2804cd6SThomas Petazzoni		  silently crashes, with no serial output at all.
482c2804cd6SThomas Petazzoni
483c2804cd6SThomas Petazzoni	config DEBUG_MVEBU_UART_ALTERNATE
484c2804cd6SThomas Petazzoni		bool "Kernel low-level debugging messages via MVEBU UART (new bootloaders)"
485c2804cd6SThomas Petazzoni		depends on ARCH_MVEBU
4864a003647SRussell King		select DEBUG_UART_8250
487c2804cd6SThomas Petazzoni		help
488c2804cd6SThomas Petazzoni		  Say Y here if you want kernel low-level debugging support
489c2804cd6SThomas Petazzoni		  on MVEBU based platforms.
490c2804cd6SThomas Petazzoni
491c2804cd6SThomas Petazzoni		  This option should be used with the new bootloaders
492c2804cd6SThomas Petazzoni		  that remap the internal registers at 0xf1000000.
493c2804cd6SThomas Petazzoni
494c2804cd6SThomas Petazzoni		  If the wrong DEBUG_MVEBU_UART* option is selected,
495c2804cd6SThomas Petazzoni		  when u-boot hands over to the kernel, the system
496c2804cd6SThomas Petazzoni		  silently crashes, with no serial output at all.
497c2804cd6SThomas Petazzoni
498c7c3eac6SShawn Guo	config DEBUG_VF_UART
499c7c3eac6SShawn Guo		bool "Vybrid UART"
500c7c3eac6SShawn Guo		depends on SOC_VF610
501c7c3eac6SShawn Guo		help
502c7c3eac6SShawn Guo		  Say Y here if you want kernel low-level debugging support
503c7c3eac6SShawn Guo		  on Vybrid based platforms.
504c7c3eac6SShawn Guo
505266c3479SLinus Walleij	config DEBUG_NOMADIK_UART
506266c3479SLinus Walleij		bool "Kernel low-level debugging messages via NOMADIK UART"
507266c3479SLinus Walleij		depends on ARCH_NOMADIK
5085c972af4SRussell King		select DEBUG_UART_PL01X
509266c3479SLinus Walleij		help
510266c3479SLinus Walleij		  Say Y here if you want kernel low-level debugging support
511266c3479SLinus Walleij		  on NOMADIK based platforms.
512266c3479SLinus Walleij
5139851ca57SDaniel Tang	config DEBUG_NSPIRE_CLASSIC_UART
5149851ca57SDaniel Tang		bool "Kernel low-level debugging via TI-NSPIRE 8250 UART"
5159851ca57SDaniel Tang		depends on ARCH_NSPIRE
5164a003647SRussell King		select DEBUG_UART_8250
5179851ca57SDaniel Tang		help
5189851ca57SDaniel Tang		  Say Y here if you want kernel low-level debugging support
5199851ca57SDaniel Tang		  on TI-NSPIRE classic models.
5209851ca57SDaniel Tang
5219851ca57SDaniel Tang	config DEBUG_NSPIRE_CX_UART
5229851ca57SDaniel Tang		bool "Kernel low-level debugging via TI-NSPIRE PL011 UART"
5239851ca57SDaniel Tang		depends on ARCH_NSPIRE
5245c972af4SRussell King		select DEBUG_UART_PL01X
5259851ca57SDaniel Tang		help
5269851ca57SDaniel Tang		  Say Y here if you want kernel low-level debugging support
5279851ca57SDaniel Tang		  on TI-NSPIRE CX models.
5289851ca57SDaniel Tang
529cce278d2SRussell King	config DEBUG_OMAP2UART1
530cce278d2SRussell King		bool "OMAP2/3/4 UART1 (omap2/3 sdp boards and some omap3 boards)"
531808b7e07STony Lindgren		depends on ARCH_OMAP2PLUS
532cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
533808b7e07STony Lindgren		help
534cce278d2SRussell King		  This covers at least h4, 2430sdp, 3430sdp, 3630sdp,
535cce278d2SRussell King		  omap3 torpedo and 3530 lv som.
536cce278d2SRussell King
537cce278d2SRussell King	config DEBUG_OMAP2UART2
538cce278d2SRussell King		bool "Kernel low-level debugging messages via OMAP2/3/4 UART2"
539cce278d2SRussell King		depends on ARCH_OMAP2PLUS
540cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
541cce278d2SRussell King
542cce278d2SRussell King	config DEBUG_OMAP2UART3
543cce278d2SRussell King		bool "Kernel low-level debugging messages via OMAP2 UART3 (n8x0)"
544cce278d2SRussell King		depends on ARCH_OMAP2PLUS
545cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
546cce278d2SRussell King
547cce278d2SRussell King	config DEBUG_OMAP3UART3
548cce278d2SRussell King		bool "Kernel low-level debugging messages via OMAP3 UART3 (most omap3 boards)"
549cce278d2SRussell King		depends on ARCH_OMAP2PLUS
550cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
551cce278d2SRussell King		help
552cce278d2SRussell King		  This covers at least cm_t3x, beagle, crane, devkit8000,
553cce278d2SRussell King		  igep00x0, ldp, n900, n9(50), pandora, overo, touchbook,
554cce278d2SRussell King		  and 3517evm.
555cce278d2SRussell King
556cce278d2SRussell King	config DEBUG_OMAP4UART3
557cce278d2SRussell King		bool "Kernel low-level debugging messages via OMAP4/5 UART3 (omap4 blaze, panda, omap5 sevm)"
558cce278d2SRussell King		depends on ARCH_OMAP2PLUS
559cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
560cce278d2SRussell King
561cce278d2SRussell King	config DEBUG_OMAP3UART4
562cce278d2SRussell King		bool "Kernel low-level debugging messages via OMAP36XX UART4"
563cce278d2SRussell King		depends on ARCH_OMAP2PLUS
564cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
565cce278d2SRussell King
566cce278d2SRussell King	config DEBUG_OMAP4UART4
567cce278d2SRussell King		bool "Kernel low-level debugging messages via OMAP4/5 UART4"
568cce278d2SRussell King		depends on ARCH_OMAP2PLUS
569cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
570cce278d2SRussell King
571cce278d2SRussell King	config DEBUG_TI81XXUART1
572cce278d2SRussell King		bool "Kernel low-level debugging messages via TI81XX UART1 (ti8148evm)"
573cce278d2SRussell King		depends on ARCH_OMAP2PLUS
574cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
575cce278d2SRussell King
576cce278d2SRussell King	config DEBUG_TI81XXUART2
577cce278d2SRussell King		bool "Kernel low-level debugging messages via TI81XX UART2"
578cce278d2SRussell King		depends on ARCH_OMAP2PLUS
579cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
580cce278d2SRussell King
581cce278d2SRussell King	config DEBUG_TI81XXUART3
582cce278d2SRussell King		bool "Kernel low-level debugging messages via TI81XX UART3 (ti8168evm)"
583cce278d2SRussell King		depends on ARCH_OMAP2PLUS
584cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
585cce278d2SRussell King
586cce278d2SRussell King	config DEBUG_AM33XXUART1
587cce278d2SRussell King		bool "Kernel low-level debugging messages via AM33XX UART1"
588cce278d2SRussell King		depends on ARCH_OMAP2PLUS
589cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
590cce278d2SRussell King
591cce278d2SRussell King	config DEBUG_ZOOM_UART
592cce278d2SRussell King		bool "Kernel low-level debugging messages via Zoom2/3 UART"
593cce278d2SRussell King		depends on ARCH_OMAP2PLUS
594cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
595808b7e07STony Lindgren
59659bba2a9SRob Herring	config DEBUG_PICOXCELL_UART
59759bba2a9SRob Herring		depends on ARCH_PICOXCELL
59859bba2a9SRob Herring		bool "Use PicoXcell UART for low-level debug"
5990b4cccbeSRussell King		select DEBUG_UART_8250
60059bba2a9SRob Herring		help
60159bba2a9SRob Herring		  Say Y here if you want kernel low-level debugging support
60259bba2a9SRob Herring		  on PicoXcell based platforms.
60359bba2a9SRob Herring
6040a43cd3bSHaojian Zhuang	config DEBUG_PXA_UART1
6050a43cd3bSHaojian Zhuang		depends on ARCH_PXA
6060a43cd3bSHaojian Zhuang		bool "Use PXA UART1 for low-level debug"
6074a003647SRussell King		select DEBUG_UART_8250
6080a43cd3bSHaojian Zhuang		help
6090a43cd3bSHaojian Zhuang		  Say Y here if you want kernel low-level debugging support
6100a43cd3bSHaojian Zhuang		  on PXA UART1.
6110a43cd3bSHaojian Zhuang
612e76f4750SRussell King	config DEBUG_REALVIEW_STD_PORT
613e76f4750SRussell King		bool "RealView Default UART"
614e76f4750SRussell King		depends on ARCH_REALVIEW
6155c972af4SRussell King		select DEBUG_UART_PL01X
616e76f4750SRussell King		help
617e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
618e76f4750SRussell King		  their output to the serial port on RealView EB, PB11MP, PBA8
619e76f4750SRussell King		  and PBX platforms.
620e76f4750SRussell King
621e76f4750SRussell King	config DEBUG_REALVIEW_PB1176_PORT
622e76f4750SRussell King		bool "RealView PB1176 UART"
623e76f4750SRussell King		depends on MACH_REALVIEW_PB1176
6245c972af4SRussell King		select DEBUG_UART_PL01X
625e76f4750SRussell King		help
626e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
627e76f4750SRussell King		  their output to the standard serial port on the RealView
628e76f4750SRussell King		  PB1176 platform.
629e76f4750SRussell King
630cce278d2SRussell King	config DEBUG_RK29_UART0
631cce278d2SRussell King		bool "Kernel low-level debugging messages via Rockchip RK29 UART0"
63238bd6892SHeiko Stuebner		depends on ARCH_ROCKCHIP
6334a003647SRussell King		select DEBUG_UART_8250
634cce278d2SRussell King		help
635cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
636cce278d2SRussell King		  on Rockchip based platforms.
637cce278d2SRussell King
638cce278d2SRussell King	config DEBUG_RK29_UART1
639cce278d2SRussell King		bool "Kernel low-level debugging messages via Rockchip RK29 UART1"
640cce278d2SRussell King		depends on ARCH_ROCKCHIP
6414a003647SRussell King		select DEBUG_UART_8250
642cce278d2SRussell King		help
643cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
644cce278d2SRussell King		  on Rockchip based platforms.
645cce278d2SRussell King
646cce278d2SRussell King	config DEBUG_RK29_UART2
647cce278d2SRussell King		bool "Kernel low-level debugging messages via Rockchip RK29 UART2"
648cce278d2SRussell King		depends on ARCH_ROCKCHIP
6494a003647SRussell King		select DEBUG_UART_8250
650cce278d2SRussell King		help
651cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
652cce278d2SRussell King		  on Rockchip based platforms.
653cce278d2SRussell King
654cce278d2SRussell King	config DEBUG_RK3X_UART0
655aa9c4f74SHeiko Stuebner		bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART0"
656cce278d2SRussell King		depends on ARCH_ROCKCHIP
6574a003647SRussell King		select DEBUG_UART_8250
658cce278d2SRussell King		help
659cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
660cce278d2SRussell King		  on Rockchip based platforms.
661cce278d2SRussell King
662cce278d2SRussell King	config DEBUG_RK3X_UART1
663aa9c4f74SHeiko Stuebner		bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART1"
664cce278d2SRussell King		depends on ARCH_ROCKCHIP
6654a003647SRussell King		select DEBUG_UART_8250
666cce278d2SRussell King		help
667cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
668cce278d2SRussell King		  on Rockchip based platforms.
669cce278d2SRussell King
670cce278d2SRussell King	config DEBUG_RK3X_UART2
671aa9c4f74SHeiko Stuebner		bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART2"
672cce278d2SRussell King		depends on ARCH_ROCKCHIP
6734a003647SRussell King		select DEBUG_UART_8250
674cce278d2SRussell King		help
675cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
676cce278d2SRussell King		  on Rockchip based platforms.
677cce278d2SRussell King
678cce278d2SRussell King	config DEBUG_RK3X_UART3
679aa9c4f74SHeiko Stuebner		bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART3"
680cce278d2SRussell King		depends on ARCH_ROCKCHIP
6814a003647SRussell King		select DEBUG_UART_8250
68238bd6892SHeiko Stuebner		help
68338bd6892SHeiko Stuebner		  Say Y here if you want kernel low-level debugging support
68438bd6892SHeiko Stuebner		  on Rockchip based platforms.
68538bd6892SHeiko Stuebner
686efd02ee9SHeiko Stuebner	config DEBUG_RK32_UART2
687efd02ee9SHeiko Stuebner		bool "Kernel low-level debugging messages via Rockchip RK32 UART2"
688efd02ee9SHeiko Stuebner		depends on ARCH_ROCKCHIP
689efd02ee9SHeiko Stuebner		select DEBUG_UART_8250
690efd02ee9SHeiko Stuebner		help
691efd02ee9SHeiko Stuebner		  Say Y here if you want kernel low-level debugging support
692efd02ee9SHeiko Stuebner		  on Rockchip RK32xx based platforms.
693efd02ee9SHeiko Stuebner
6947a2071c5SGeert Uytterhoeven	config DEBUG_R7S72100_SCIF2
6957a2071c5SGeert Uytterhoeven		bool "Kernel low-level debugging messages via SCIF2 on R7S72100"
6967a2071c5SGeert Uytterhoeven		depends on ARCH_R7S72100
6977a2071c5SGeert Uytterhoeven		help
6987a2071c5SGeert Uytterhoeven		  Say Y here if you want kernel low-level debugging support
6997a2071c5SGeert Uytterhoeven		  via SCIF2 on Renesas RZ/A1H (R7S72100).
7007a2071c5SGeert Uytterhoeven
7017a2071c5SGeert Uytterhoeven	config DEBUG_RCAR_GEN1_SCIF0
7027a2071c5SGeert Uytterhoeven		bool "Kernel low-level debugging messages via SCIF0 on R8A7778"
7037a2071c5SGeert Uytterhoeven		depends on ARCH_R8A7778
7047a2071c5SGeert Uytterhoeven		help
7057a2071c5SGeert Uytterhoeven		  Say Y here if you want kernel low-level debugging support
7067a2071c5SGeert Uytterhoeven		  via SCIF0 on Renesas R-Car M1A (R8A7778).
7077a2071c5SGeert Uytterhoeven
7087a2071c5SGeert Uytterhoeven	config DEBUG_RCAR_GEN1_SCIF2
7097a2071c5SGeert Uytterhoeven		bool "Kernel low-level debugging messages via SCIF2 on R8A7779"
7107a2071c5SGeert Uytterhoeven		depends on ARCH_R8A7779
7117a2071c5SGeert Uytterhoeven		help
7127a2071c5SGeert Uytterhoeven		  Say Y here if you want kernel low-level debugging support
7137a2071c5SGeert Uytterhoeven		  via SCIF2 on Renesas R-Car H1 (R8A7779).
7147a2071c5SGeert Uytterhoeven
7157a2071c5SGeert Uytterhoeven	config DEBUG_RCAR_GEN2_SCIF0
7167a2071c5SGeert Uytterhoeven		bool "Kernel low-level debugging messages via SCIF0 on R8A7790/R8A7791/R8A7793)"
7177a2071c5SGeert Uytterhoeven		depends on ARCH_R8A7790 || ARCH_R8A7791 || ARCH_R8A7793
7187a2071c5SGeert Uytterhoeven		help
7197a2071c5SGeert Uytterhoeven		  Say Y here if you want kernel low-level debugging support
7207a2071c5SGeert Uytterhoeven		  via SCIF0 on Renesas R-Car H2 (R8A7790), M2-W (R8A7791), or
7217a2071c5SGeert Uytterhoeven		  M2-N (R8A7793).
7227a2071c5SGeert Uytterhoeven
7237a2071c5SGeert Uytterhoeven	config DEBUG_RCAR_GEN2_SCIF2
7247a2071c5SGeert Uytterhoeven		bool "Kernel low-level debugging messages via SCIF2 on R8A7794"
7257a2071c5SGeert Uytterhoeven		depends on ARCH_R8A7794
7267a2071c5SGeert Uytterhoeven		help
7277a2071c5SGeert Uytterhoeven		  Say Y here if you want kernel low-level debugging support
7287a2071c5SGeert Uytterhoeven		  via SCIF2 on Renesas R-Car E2 (R8A7794).
7297a2071c5SGeert Uytterhoeven
7307a2071c5SGeert Uytterhoeven	config DEBUG_RMOBILE_SCIFA0
7317a2071c5SGeert Uytterhoeven		bool "Kernel low-level debugging messages via SCIFA0 on R8A73A4/SH7372"
7327a2071c5SGeert Uytterhoeven		depends on ARCH_R8A73A4 || ARCH_SH7372
7337a2071c5SGeert Uytterhoeven		help
7347a2071c5SGeert Uytterhoeven		  Say Y here if you want kernel low-level debugging support
7357a2071c5SGeert Uytterhoeven		  via SCIFA0 on Renesas R-Mobile APE6 (R8A73A4) or SH-Mobile
7367a2071c5SGeert Uytterhoeven		  AP4 (SH7372).
7377a2071c5SGeert Uytterhoeven
7387a2071c5SGeert Uytterhoeven	config DEBUG_RMOBILE_SCIFA1
7397a2071c5SGeert Uytterhoeven		bool "Kernel low-level debugging messages via SCIFA1 on R8A7740"
7407a2071c5SGeert Uytterhoeven		depends on ARCH_R8A7740
7417a2071c5SGeert Uytterhoeven		help
7427a2071c5SGeert Uytterhoeven		  Say Y here if you want kernel low-level debugging support
7437a2071c5SGeert Uytterhoeven		  via SCIFA1 on Renesas R-Mobile A1 (R8A7740).
7447a2071c5SGeert Uytterhoeven
7457a2071c5SGeert Uytterhoeven	config DEBUG_RMOBILE_SCIFA4
7467a2071c5SGeert Uytterhoeven		bool "Kernel low-level debugging messages via SCIFA4 on SH73A0"
7477a2071c5SGeert Uytterhoeven		depends on ARCH_SH73A0
7487a2071c5SGeert Uytterhoeven		help
7497a2071c5SGeert Uytterhoeven		  Say Y here if you want kernel low-level debugging support
7507a2071c5SGeert Uytterhoeven		  via SCIFA4 on Renesas SH-Mobile AG5 (SH73A0).
7517a2071c5SGeert Uytterhoeven
752e76f4750SRussell King	config DEBUG_S3C_UART0
753e76f4750SRussell King		depends on PLAT_SAMSUNG
754a2e40710SArnd Bergmann		select DEBUG_EXYNOS_UART if ARCH_EXYNOS
7551899de28SHeiko Stuebner		select DEBUG_S3C24XX_UART if ARCH_S3C24XX
7567bab7d9eSTomasz Figa		select DEBUG_S5PV210_UART if ARCH_S5PV210
7575cc8a016SSachin Kamat		bool "Use Samsung S3C UART 0 for low-level debug"
758e76f4750SRussell King		help
759e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
760e76f4750SRussell King		  their output to UART 0. The port must have been initialised
761e76f4750SRussell King		  by the boot-loader before use.
762e76f4750SRussell King
763e76f4750SRussell King	config DEBUG_S3C_UART1
764e76f4750SRussell King		depends on PLAT_SAMSUNG
765a2e40710SArnd Bergmann		select DEBUG_EXYNOS_UART if ARCH_EXYNOS
7661899de28SHeiko Stuebner		select DEBUG_S3C24XX_UART if ARCH_S3C24XX
7677bab7d9eSTomasz Figa		select DEBUG_S5PV210_UART if ARCH_S5PV210
7685cc8a016SSachin Kamat		bool "Use Samsung S3C UART 1 for low-level debug"
769e76f4750SRussell King		help
770e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
771e76f4750SRussell King		  their output to UART 1. The port must have been initialised
772e76f4750SRussell King		  by the boot-loader before use.
773e76f4750SRussell King
774e76f4750SRussell King	config DEBUG_S3C_UART2
775e76f4750SRussell King		depends on PLAT_SAMSUNG
776a2e40710SArnd Bergmann		select DEBUG_EXYNOS_UART if ARCH_EXYNOS
7771899de28SHeiko Stuebner		select DEBUG_S3C24XX_UART if ARCH_S3C24XX
7787bab7d9eSTomasz Figa		select DEBUG_S5PV210_UART if ARCH_S5PV210
7795cc8a016SSachin Kamat		bool "Use Samsung S3C UART 2 for low-level debug"
780e76f4750SRussell King		help
781e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
782e76f4750SRussell King		  their output to UART 2. The port must have been initialised
783e76f4750SRussell King		  by the boot-loader before use.
784e76f4750SRussell King
7855fa23ddeSOlof Johansson	config DEBUG_S3C_UART3
7867bab7d9eSTomasz Figa		depends on PLAT_SAMSUNG && (ARCH_EXYNOS || ARCH_S5PV210)
7877bab7d9eSTomasz Figa		select DEBUG_EXYNOS_UART if ARCH_EXYNOS
7887bab7d9eSTomasz Figa		select DEBUG_S5PV210_UART if ARCH_S5PV210
7895cc8a016SSachin Kamat		bool "Use Samsung S3C UART 3 for low-level debug"
7905fa23ddeSOlof Johansson		help
7915fa23ddeSOlof Johansson		  Say Y here if you want the debug print routines to direct
7925fa23ddeSOlof Johansson		  their output to UART 3. The port must have been initialised
7935fa23ddeSOlof Johansson		  by the boot-loader before use.
7945fa23ddeSOlof Johansson
795daf67dfcSHeiko Stuebner	config DEBUG_S3C2410_UART0
796daf67dfcSHeiko Stuebner		depends on ARCH_S3C24XX
797daf67dfcSHeiko Stuebner		select DEBUG_S3C2410_UART
798daf67dfcSHeiko Stuebner		bool "Use S3C2410/S3C2412 UART 0 for low-level debug"
799daf67dfcSHeiko Stuebner		help
800daf67dfcSHeiko Stuebner		  Say Y here if you want the debug print routines to direct
801daf67dfcSHeiko Stuebner		  their output to UART 0. The port must have been initialised
802daf67dfcSHeiko Stuebner		  by the boot-loader before use.
803daf67dfcSHeiko Stuebner
804daf67dfcSHeiko Stuebner	config DEBUG_S3C2410_UART1
805daf67dfcSHeiko Stuebner		depends on ARCH_S3C24XX
806daf67dfcSHeiko Stuebner		select DEBUG_S3C2410_UART
807daf67dfcSHeiko Stuebner		bool "Use S3C2410/S3C2412 UART 1 for low-level debug"
808daf67dfcSHeiko Stuebner		help
809daf67dfcSHeiko Stuebner		  Say Y here if you want the debug print routines to direct
810daf67dfcSHeiko Stuebner		  their output to UART 1. The port must have been initialised
811daf67dfcSHeiko Stuebner		  by the boot-loader before use.
812daf67dfcSHeiko Stuebner
813daf67dfcSHeiko Stuebner	config DEBUG_S3C2410_UART2
814daf67dfcSHeiko Stuebner		depends on ARCH_S3C24XX
815daf67dfcSHeiko Stuebner		select DEBUG_S3C2410_UART
816daf67dfcSHeiko Stuebner		bool "Use S3C2410/S3C2412 UART 2 for low-level debug"
817daf67dfcSHeiko Stuebner		help
818daf67dfcSHeiko Stuebner		  Say Y here if you want the debug print routines to direct
819daf67dfcSHeiko Stuebner		  their output to UART 2. The port must have been initialised
820daf67dfcSHeiko Stuebner		  by the boot-loader before use.
821daf67dfcSHeiko Stuebner
822e6131fa3SDmitry Eremin-Solenikov	config DEBUG_SA1100
823e6131fa3SDmitry Eremin-Solenikov		depends on ARCH_SA1100
824e6131fa3SDmitry Eremin-Solenikov		bool "Use SA1100 UARTs for low-level debug"
825e6131fa3SDmitry Eremin-Solenikov		help
826e6131fa3SDmitry Eremin-Solenikov		  Say Y here if you want kernel low-level debugging support
827e6131fa3SDmitry Eremin-Solenikov		  on SA-11x0 UART ports. The kernel will check for the first
828e6131fa3SDmitry Eremin-Solenikov		  enabled UART in a sequence 3-1-2.
829e6131fa3SDmitry Eremin-Solenikov
8306111bf7cSRob Herring	config DEBUG_SOCFPGA_UART
8316111bf7cSRob Herring		depends on ARCH_SOCFPGA
8326111bf7cSRob Herring		bool "Use SOCFPGA UART for low-level debug"
8330b4cccbeSRussell King		select DEBUG_UART_8250
8346111bf7cSRob Herring		help
8356111bf7cSRob Herring		  Say Y here if you want kernel low-level debugging support
8366111bf7cSRob Herring		  on SOCFPGA based platforms.
8376111bf7cSRob Herring
838d4da889aSChen-Yu Tsai	config DEBUG_SUN9I_UART0
839d4da889aSChen-Yu Tsai		bool "Kernel low-level debugging messages via sun9i UART0"
840d4da889aSChen-Yu Tsai		depends on MACH_SUN9I
841d4da889aSChen-Yu Tsai		select DEBUG_UART_8250
842d4da889aSChen-Yu Tsai		help
843d4da889aSChen-Yu Tsai		  Say Y here if you want kernel low-level debugging support
844d4da889aSChen-Yu Tsai		  on Allwinner A80 based platforms on the UART0.
845d4da889aSChen-Yu Tsai
846aa25115aSStefan Roese	config DEBUG_SUNXI_UART0
847aa25115aSStefan Roese		bool "Kernel low-level debugging messages via sunXi UART0"
848aa25115aSStefan Roese		depends on ARCH_SUNXI
8494a003647SRussell King		select DEBUG_UART_8250
850aa25115aSStefan Roese		help
851aa25115aSStefan Roese		  Say Y here if you want kernel low-level debugging support
852aa25115aSStefan Roese		  on Allwinner A1X based platforms on the UART0.
853aa25115aSStefan Roese
854cb84fa18SMaxime Ripard	config DEBUG_SUNXI_UART1
855cb84fa18SMaxime Ripard		bool "Kernel low-level debugging messages via sunXi UART1"
856cb84fa18SMaxime Ripard		depends on ARCH_SUNXI
8574a003647SRussell King		select DEBUG_UART_8250
858cb84fa18SMaxime Ripard		help
859cb84fa18SMaxime Ripard		  Say Y here if you want kernel low-level debugging support
860cb84fa18SMaxime Ripard		  on Allwinner A1X based platforms on the UART1.
861cb84fa18SMaxime Ripard
862c4718543SChen-Yu Tsai	config DEBUG_SUNXI_R_UART
863c4718543SChen-Yu Tsai		bool "Kernel low-level debugging messages via sunXi R_UART"
864c4718543SChen-Yu Tsai		depends on MACH_SUN6I || MACH_SUN8I
865c4718543SChen-Yu Tsai		select DEBUG_UART_8250
866c4718543SChen-Yu Tsai		help
867c4718543SChen-Yu Tsai		  Say Y here if you want kernel low-level debugging support
868c4718543SChen-Yu Tsai		  on Allwinner A31/A23 based platforms on the R_UART.
869c4718543SChen-Yu Tsai
870cce278d2SRussell King	config TEGRA_DEBUG_UART_AUTO_ODMDATA
871cce278d2SRussell King		bool "Kernel low-level debugging messages via Tegra UART via ODMDATA"
87246067803SStephen Warren		depends on ARCH_TEGRA
873cce278d2SRussell King		select DEBUG_TEGRA_UART
874cce278d2SRussell King		help
875cce278d2SRussell King		  Automatically determines which UART to use for low-level
876cce278d2SRussell King		  debug based on the ODMDATA value. This value is part of
877cce278d2SRussell King		  the BCT, and is written to the boot memory device using
878cce278d2SRussell King		  nvflash, or other flashing tool.  When bits 19:18 are 3,
879cce278d2SRussell King		  then bits 17:15 indicate which UART to use; 0/1/2/3/4
880cce278d2SRussell King		  are UART A/B/C/D/E.
881cce278d2SRussell King
882cce278d2SRussell King	config TEGRA_DEBUG_UARTA
883cce278d2SRussell King		bool "Kernel low-level debugging messages via Tegra UART A"
884cce278d2SRussell King		depends on ARCH_TEGRA
885cce278d2SRussell King		select DEBUG_TEGRA_UART
886cce278d2SRussell King		help
887cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
888cce278d2SRussell King		  on Tegra based platforms.
889cce278d2SRussell King
890cce278d2SRussell King	config TEGRA_DEBUG_UARTB
891cce278d2SRussell King		bool "Kernel low-level debugging messages via Tegra UART B"
892cce278d2SRussell King		depends on ARCH_TEGRA
893cce278d2SRussell King		select DEBUG_TEGRA_UART
894cce278d2SRussell King		help
895cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
896cce278d2SRussell King		  on Tegra based platforms.
897cce278d2SRussell King
898cce278d2SRussell King	config TEGRA_DEBUG_UARTC
899cce278d2SRussell King		bool "Kernel low-level debugging messages via Tegra UART C"
900cce278d2SRussell King		depends on ARCH_TEGRA
901cce278d2SRussell King		select DEBUG_TEGRA_UART
902cce278d2SRussell King		help
903cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
904cce278d2SRussell King		  on Tegra based platforms.
905cce278d2SRussell King
906cce278d2SRussell King	config TEGRA_DEBUG_UARTD
907cce278d2SRussell King		bool "Kernel low-level debugging messages via Tegra UART D"
908cce278d2SRussell King		depends on ARCH_TEGRA
909cce278d2SRussell King		select DEBUG_TEGRA_UART
910cce278d2SRussell King		help
911cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
912cce278d2SRussell King		  on Tegra based platforms.
913cce278d2SRussell King
914cce278d2SRussell King	config TEGRA_DEBUG_UARTE
915cce278d2SRussell King		bool "Kernel low-level debugging messages via Tegra UART E"
916cce278d2SRussell King		depends on ARCH_TEGRA
917cce278d2SRussell King		select DEBUG_TEGRA_UART
91846067803SStephen Warren		help
91946067803SStephen Warren		  Say Y here if you want kernel low-level debugging support
92046067803SStephen Warren		  on Tegra based platforms.
92146067803SStephen Warren
9227f46a107SBarry Song	config DEBUG_SIRFPRIMA2_UART1
9237f46a107SBarry Song		bool "Kernel low-level debugging messages via SiRFprimaII UART1"
9247f46a107SBarry Song		depends on ARCH_PRIMA2
9257f46a107SBarry Song		help
9267f46a107SBarry Song		  Say Y here if you want the debug print routines to direct
9277f46a107SBarry Song		  their output to the uart1 port on SiRFprimaII devices.
9287f46a107SBarry Song
9297f46a107SBarry Song	config DEBUG_SIRFMARCO_UART1
9307f46a107SBarry Song		bool "Kernel low-level debugging messages via SiRFmarco UART1"
9317f46a107SBarry Song		depends on ARCH_MARCO
9327f46a107SBarry Song		help
9337f46a107SBarry Song		  Say Y here if you want the debug print routines to direct
9347f46a107SBarry Song		  their output to the uart1 port on SiRFmarco devices.
9357f46a107SBarry Song
936cce278d2SRussell King	config STIH41X_DEBUG_ASC2
937cce278d2SRussell King		bool "Use StiH415/416 ASC2 UART for low-level debug"
9385562b800SArnd Bergmann		depends on ARCH_STI
939cce278d2SRussell King		select DEBUG_STI_UART
9405562b800SArnd Bergmann		help
9415562b800SArnd Bergmann		  Say Y here if you want kernel low-level debugging support
942cce278d2SRussell King		  on STiH415/416 based platforms like b2000, which has
943cce278d2SRussell King		  default UART wired up to ASC2.
944cce278d2SRussell King
945cce278d2SRussell King		  If unsure, say N.
946cce278d2SRussell King
947cce278d2SRussell King	config STIH41X_DEBUG_SBC_ASC1
948cce278d2SRussell King		bool "Use StiH415/416 SBC ASC1 UART for low-level debug"
949cce278d2SRussell King		depends on ARCH_STI
950cce278d2SRussell King		select DEBUG_STI_UART
951cce278d2SRussell King		help
952cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
953cce278d2SRussell King		  on STiH415/416 based platforms like b2020. which has
954cce278d2SRussell King		  default UART wired up to SBC ASC1.
9555562b800SArnd Bergmann
9565562b800SArnd Bergmann		  If unsure, say N.
9575562b800SArnd Bergmann
958dd324da7SLinus Walleij	config DEBUG_U300_UART
959dd324da7SLinus Walleij		bool "Kernel low-level debugging messages via U300 UART0"
960dd324da7SLinus Walleij		depends on ARCH_U300
9615c972af4SRussell King		select DEBUG_UART_PL01X
962dd324da7SLinus Walleij		help
963dd324da7SLinus Walleij		  Say Y here if you want the debug print routines to direct
964dd324da7SLinus Walleij		  their output to the uart port on U300 devices.
965dd324da7SLinus Walleij
966f87b95ddSLinus Walleij	config DEBUG_UX500_UART
967f87b95ddSLinus Walleij		depends on ARCH_U8500
968f87b95ddSLinus Walleij		bool "Use Ux500 UART for low-level debug"
969f87b95ddSLinus Walleij		help
970f87b95ddSLinus Walleij		  Say Y here if you want kernel low-level debugging support
971f87b95ddSLinus Walleij		  on Ux500 based platforms.
972f87b95ddSLinus Walleij
973d6682085SMatthias Brugger	config DEBUG_MT6589_UART0
974d6682085SMatthias Brugger		bool "Mediatek mt6589 UART0"
975d6682085SMatthias Brugger		depends on ARCH_MEDIATEK
976d6682085SMatthias Brugger		select DEBUG_UART_8250
977d6682085SMatthias Brugger		help
978d6682085SMatthias Brugger		  Say Y here if you want kernel low-level debugging support
979d6682085SMatthias Brugger		  for Mediatek mt6589 based platforms on UART0.
980d6682085SMatthias Brugger
98165ec48c0SJoe.C	config DEBUG_MT8127_UART0
98265ec48c0SJoe.C		bool "Mediatek mt8127 UART0"
98365ec48c0SJoe.C		depends on ARCH_MEDIATEK
98465ec48c0SJoe.C		select DEBUG_UART_8250
98565ec48c0SJoe.C		help
98665ec48c0SJoe.C		  Say Y here if you want kernel low-level debugging support
98765ec48c0SJoe.C		  for Mediatek mt8127 based platforms on UART0.
98865ec48c0SJoe.C
98965ec48c0SJoe.C	config DEBUG_MT8135_UART3
99065ec48c0SJoe.C		bool "Mediatek mt8135 UART3"
99165ec48c0SJoe.C		depends on ARCH_MEDIATEK
99265ec48c0SJoe.C		select DEBUG_UART_8250
99365ec48c0SJoe.C		help
99465ec48c0SJoe.C		  Say Y here if you want kernel low-level debugging support
99565ec48c0SJoe.C		  for Mediatek mt8135 based platforms on UART3.
99665ec48c0SJoe.C
9971b820eafSPawel Moll	config DEBUG_VEXPRESS_UART0_DETECT
9981b820eafSPawel Moll		bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
9991b820eafSPawel Moll		depends on ARCH_VEXPRESS && CPU_CP15_MMU
10001b820eafSPawel Moll		help
10011b820eafSPawel Moll		  This option enables a simple heuristic which tries to determine
10021b820eafSPawel Moll		  the motherboard's memory map variant (original or RS1) and then
10031b820eafSPawel Moll		  choose the relevant UART0 base address.
10041b820eafSPawel Moll
10051b820eafSPawel Moll		  Note that this will only work with standard A-class core tiles,
10061b820eafSPawel Moll		  and may fail with non-standard SMM or custom software models.
10071b820eafSPawel Moll
10081b820eafSPawel Moll	config DEBUG_VEXPRESS_UART0_CA9
10091b820eafSPawel Moll		bool "Use PL011 UART0 at 0x10009000 (V2P-CA9 core tile)"
10101b820eafSPawel Moll		depends on ARCH_VEXPRESS
10115c972af4SRussell King		select DEBUG_UART_PL01X
10121b820eafSPawel Moll		help
10131b820eafSPawel Moll		  This option selects UART0 at 0x10009000. Except for custom models,
10141b820eafSPawel Moll		  this applies only to the V2P-CA9 tile.
10151b820eafSPawel Moll
10161b820eafSPawel Moll	config DEBUG_VEXPRESS_UART0_RS1
10171b820eafSPawel Moll		bool "Use PL011 UART0 at 0x1c090000 (RS1 complaint tiles)"
10181b820eafSPawel Moll		depends on ARCH_VEXPRESS
10195c972af4SRussell King		select DEBUG_UART_PL01X
10201b820eafSPawel Moll		help
10211b820eafSPawel Moll		  This option selects UART0 at 0x1c090000. This applies to most
10221b820eafSPawel Moll		  of the tiles using the RS1 memory map, including all new A-class
10231b820eafSPawel Moll		  core tiles, FPGA-based SMMs and software models.
10241b820eafSPawel Moll
1025ed18bdc8SJonathan Austin	config DEBUG_VEXPRESS_UART0_CRX
1026ed18bdc8SJonathan Austin		bool "Use PL011 UART0 at 0xb0090000 (Cortex-R compliant tiles)"
1027ed18bdc8SJonathan Austin		depends on ARCH_VEXPRESS && !MMU
10285c972af4SRussell King		select DEBUG_UART_PL01X
1029ed18bdc8SJonathan Austin		help
1030ed18bdc8SJonathan Austin		  This option selects UART0 at 0xb0090000. This is appropriate for
1031ed18bdc8SJonathan Austin		  Cortex-R series tiles and SMMs, such as Cortex-R5 and Cortex-R7
1032ed18bdc8SJonathan Austin
1033b61a2722STony Prisk	config DEBUG_VT8500_UART0
1034b61a2722STony Prisk		bool "Use UART0 on VIA/Wondermedia SoCs"
1035b61a2722STony Prisk		depends on ARCH_VT8500
1036b61a2722STony Prisk		help
1037b61a2722STony Prisk		  This option selects UART0 on VIA/Wondermedia System-on-a-chip
1038b61a2722STony Prisk		  devices, including VT8500, WM8505, WM8650 and WM8850.
1039b61a2722STony Prisk
1040e76f4750SRussell King	config DEBUG_LL_UART_NONE
1041e76f4750SRussell King		bool "No low-level debugging UART"
1042387798b3SRob Herring		depends on !ARCH_MULTIPLATFORM
1043e76f4750SRussell King		help
1044e76f4750SRussell King		  Say Y here if your platform doesn't provide a UART option
1045730cc26fSRussell King		  above. This relies on your platform choosing the right UART
1046e76f4750SRussell King		  definition internally in order for low-level debugging to
1047e76f4750SRussell King		  work.
1048e76f4750SRussell King
1049e76f4750SRussell King	config DEBUG_ICEDCC
1050e76f4750SRussell King		bool "Kernel low-level debugging via EmbeddedICE DCC channel"
1051e76f4750SRussell King		help
1052e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
1053e76f4750SRussell King		  their output to the EmbeddedICE macrocell's DCC channel using
1054e76f4750SRussell King		  co-processor 14. This is known to work on the ARM9 style ICE
1055e76f4750SRussell King		  channel and on the XScale with the PEEDI.
1056e76f4750SRussell King
1057e76f4750SRussell King		  Note that the system will appear to hang during boot if there
1058e76f4750SRussell King		  is nothing connected to read from the DCC.
1059e76f4750SRussell King
1060b0df8986SRussell King	config DEBUG_SEMIHOSTING
106162194bdaSStephen Boyd		bool "Kernel low-level debug output via semihosting I/O"
1062b0df8986SRussell King		help
1063b0df8986SRussell King		  Semihosting enables code running on an ARM target to use
1064b0df8986SRussell King		  the I/O facilities on a host debugger/emulator through a
106562194bdaSStephen Boyd		  simple SVC call. The host debugger or emulator must have
1066b0df8986SRussell King		  semihosting enabled for the special svc call to be trapped
1067b0df8986SRussell King		  otherwise the kernel will crash.
1068b0df8986SRussell King
1069b0df8986SRussell King		  This is known to work with OpenOCD, as well as
1070b0df8986SRussell King		  ARM's Fast Models, or any other controlling environment
1071b0df8986SRussell King		  that implements semihosting.
1072b0df8986SRussell King
1073b0df8986SRussell King		  For more details about semihosting, please see
1074b0df8986SRussell King		  chapter 8 of DUI0203I_rvct_developer_guide.pdf from ARM Ltd.
1075b0df8986SRussell King
1076f8f1279cSRussell King	config DEBUG_LL_UART_8250
1077f8f1279cSRussell King		bool "Kernel low-level debugging via 8250 UART"
1078f8f1279cSRussell King		help
1079f8f1279cSRussell King		  Say Y here if you wish the debug print routes to direct
1080f8f1279cSRussell King		  their output to an 8250 UART.  You can use this option
1081f8f1279cSRussell King		  to provide the parameters for the 8250 UART rather than
1082f8f1279cSRussell King		  selecting one of the platform specific options above if
1083f8f1279cSRussell King		  you know the parameters for the port.
1084f8f1279cSRussell King
1085f8f1279cSRussell King		  This option is preferred over the platform specific
1086f8f1279cSRussell King		  options; the platform specific options are deprecated
1087f8f1279cSRussell King		  and will be soon removed.
1088f8f1279cSRussell King
1089494e492dSUwe Kleine-König	config DEBUG_LL_UART_EFM32
1090494e492dSUwe Kleine-König		bool "Kernel low-level debugging via efm32 UART"
1091494e492dSUwe Kleine-König		depends on ARCH_EFM32
1092494e492dSUwe Kleine-König		help
1093494e492dSUwe Kleine-König		  Say Y here if you want the debug print routines to direct
1094494e492dSUwe Kleine-König		  their output to an UART or USART port on efm32 based
1095494e492dSUwe Kleine-König		  machines. Use the following addresses for DEBUG_UART_PHYS:
1096494e492dSUwe Kleine-König
1097494e492dSUwe Kleine-König		    0x4000c000 | USART0
1098494e492dSUwe Kleine-König		    0x4000c400 | USART1
1099494e492dSUwe Kleine-König		    0x4000c800 | USART2
1100494e492dSUwe Kleine-König		    0x4000e000 | UART0
1101494e492dSUwe Kleine-König		    0x4000e400 | UART1
1102494e492dSUwe Kleine-König
1103f8f1279cSRussell King	config DEBUG_LL_UART_PL01X
1104f8f1279cSRussell King		bool "Kernel low-level debugging via ARM Ltd PL01x Primecell UART"
1105f8f1279cSRussell King		help
1106f8f1279cSRussell King		  Say Y here if you wish the debug print routes to direct
1107f8f1279cSRussell King		  their output to a PL01x Primecell UART.  You can use
1108f8f1279cSRussell King		  this option to provide the parameters for the UART
1109f8f1279cSRussell King		  rather than selecting one of the platform specific
1110f8f1279cSRussell King		  options above if you know the parameters for the port.
1111f8f1279cSRussell King
1112f8f1279cSRussell King		  This option is preferred over the platform specific
1113f8f1279cSRussell King		  options; the platform specific options are deprecated
1114f8f1279cSRussell King		  and will be soon removed.
1115f8f1279cSRussell King
11161da177e4SLinus Torvaldsendchoice
11171da177e4SLinus Torvalds
111842dfd1e1SNicolas Ferreconfig DEBUG_AT91_UART
111942dfd1e1SNicolas Ferre	bool
112042dfd1e1SNicolas Ferre	depends on ARCH_AT91
112142dfd1e1SNicolas Ferre
1122a2e40710SArnd Bergmannconfig DEBUG_EXYNOS_UART
1123a2e40710SArnd Bergmann	bool
1124a2e40710SArnd Bergmann
1125daf67dfcSHeiko Stuebnerconfig DEBUG_S3C2410_UART
1126daf67dfcSHeiko Stuebner	bool
11271899de28SHeiko Stuebner	select DEBUG_S3C24XX_UART
11281899de28SHeiko Stuebner
11291899de28SHeiko Stuebnerconfig DEBUG_S3C24XX_UART
11301899de28SHeiko Stuebner	bool
1131daf67dfcSHeiko Stuebner
11327bab7d9eSTomasz Figaconfig DEBUG_S5PV210_UART
11337bab7d9eSTomasz Figa	bool
11347bab7d9eSTomasz Figa
1135cce278d2SRussell Kingconfig DEBUG_OMAP2PLUS_UART
1136cce278d2SRussell King	bool
1137cce278d2SRussell King	depends on ARCH_OMAP2PLUS
1138cce278d2SRussell King
1139f8c95fe6SShawn Guoconfig DEBUG_IMX_UART_PORT
1140f8c95fe6SShawn Guo	int "i.MX Debug UART Port Selection" if DEBUG_IMX1_UART || \
1141f8c95fe6SShawn Guo						DEBUG_IMX25_UART || \
1142f8c95fe6SShawn Guo						DEBUG_IMX21_IMX27_UART || \
1143f8c95fe6SShawn Guo						DEBUG_IMX31_UART || \
1144f8c95fe6SShawn Guo						DEBUG_IMX35_UART || \
1145ad364a70SGreg Ungerer						DEBUG_IMX50_UART || \
1146f8c95fe6SShawn Guo						DEBUG_IMX51_UART || \
11470c52db7eSPaul Bolle						DEBUG_IMX53_UART || \
114834e8a16bSShawn Guo						DEBUG_IMX6Q_UART || \
114974368e81SShawn Guo						DEBUG_IMX6SL_UART || \
115074368e81SShawn Guo						DEBUG_IMX6SX_UART
115149c9e60eSShawn Guo	default 1
1152287939a3SShawn Guo	depends on ARCH_MXC
115349c9e60eSShawn Guo	help
115449c9e60eSShawn Guo	  Choose UART port on which kernel low-level debug messages
115549c9e60eSShawn Guo	  should be output.
115649c9e60eSShawn Guo
1157cfdb7d56SStefan Agnerconfig DEBUG_VF_UART_PORT
1158cfdb7d56SStefan Agner	int "Vybrid Debug UART Port Selection" if DEBUG_VF_UART
1159cfdb7d56SStefan Agner	default 1
1160cfdb7d56SStefan Agner	range 0 3
1161cfdb7d56SStefan Agner	depends on SOC_VF610
1162cfdb7d56SStefan Agner	help
1163cfdb7d56SStefan Agner	  Choose UART port on which kernel low-level debug messages
1164cfdb7d56SStefan Agner	  should be output.
1165cfdb7d56SStefan Agner
1166cce278d2SRussell Kingconfig DEBUG_TEGRA_UART
1167cce278d2SRussell King	bool
1168cce278d2SRussell King	depends on ARCH_TEGRA
1169808b7e07STony Lindgren
1170cce278d2SRussell Kingconfig DEBUG_STI_UART
1171cce278d2SRussell King	bool
1172cce278d2SRussell King	depends on ARCH_STI
11735026aecfSSrinivas Kandagatla
117491a9fec0SRob Herringconfig DEBUG_LL_INCLUDE
117591a9fec0SRob Herring	string
1176e6131fa3SDmitry Eremin-Solenikov	default "debug/sa1100.S" if DEBUG_SA1100
1177f8f1279cSRussell King	default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250
117842dfd1e1SNicolas Ferre	default "debug/at91.S" if DEBUG_AT91_UART
1179d5bd4e8dSOleksij Rempel	default "debug/asm9260.S" if DEBUG_ASM9260_UART
1180dd99eef5SAlexander Shiyan	default "debug/clps711x.S" if DEBUG_CLPS711X_UART1 || DEBUG_CLPS711X_UART2
1181d8a00916SCarlo Caione	default "debug/meson.S" if DEBUG_MESON_UARTAO
1182f8f1279cSRussell King	default "debug/pl01x.S" if DEBUG_LL_UART_PL01X || DEBUG_UART_PL01X
1183a2e40710SArnd Bergmann	default "debug/exynos.S" if DEBUG_EXYNOS_UART
1184494e492dSUwe Kleine-König	default "debug/efm32.S" if DEBUG_LL_UART_EFM32
118591a9fec0SRob Herring	default "debug/icedcc.S" if DEBUG_ICEDCC
11866dde5ac5SShawn Guo	default "debug/imx.S" if DEBUG_IMX1_UART || \
11876dde5ac5SShawn Guo				 DEBUG_IMX25_UART || \
11886dde5ac5SShawn Guo				 DEBUG_IMX21_IMX27_UART || \
11894ad625d4SShawn Guo				 DEBUG_IMX31_UART || \
11904ad625d4SShawn Guo				 DEBUG_IMX35_UART || \
1191ad364a70SGreg Ungerer				 DEBUG_IMX50_UART || \
11926dde5ac5SShawn Guo				 DEBUG_IMX51_UART || \
11937356420cSFabio Estevam				 DEBUG_IMX53_UART ||\
119434e8a16bSShawn Guo				 DEBUG_IMX6Q_UART || \
119574368e81SShawn Guo				 DEBUG_IMX6SL_UART || \
119674368e81SShawn Guo				 DEBUG_IMX6SX_UART
11977098cff2SIvan T. Ivanov	default "debug/msm.S" if DEBUG_MSM_UART || DEBUG_QCOM_UARTDM
1198808b7e07STony Lindgren	default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART
11997a2071c5SGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_R7S72100_SCIF2
12007a2071c5SGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_RCAR_GEN1_SCIF0
12017a2071c5SGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_RCAR_GEN1_SCIF2
12027a2071c5SGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF0
12037a2071c5SGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF2
12047a2071c5SGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA0
12057a2071c5SGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA1
12067a2071c5SGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA4
12072cd62bd4SHeiko Stuebner	default "debug/s3c24xx.S" if DEBUG_S3C24XX_UART
12087bab7d9eSTomasz Figa	default "debug/s5pv210.S" if DEBUG_S5PV210_UART
120967bdb287SArnd Bergmann	default "debug/sirf.S" if DEBUG_SIRFPRIMA2_UART1 || DEBUG_SIRFMARCO_UART1
12105026aecfSSrinivas Kandagatla	default "debug/sti.S" if DEBUG_STI_UART
1211150a8dcfSLinus Torvalds	default "debug/tegra.S" if DEBUG_TEGRA_UART
1212150a8dcfSLinus Torvalds	default "debug/ux500.S" if DEBUG_UX500_UART
12134e218b99SRussell King	default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT
1214c7c3eac6SShawn Guo	default "debug/vf.S" if DEBUG_VF_UART
1215b61a2722STony Prisk	default "debug/vt8500.S" if DEBUG_VT8500_UART0
1216385f02b1SJosh Cartwright	default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1
1217b51312beSFlorian Fainelli	default "debug/bcm63xx.S" if DEBUG_UART_BCM63XX
121891a9fec0SRob Herring	default "mach/debug-macro.S"
121991a9fec0SRob Herring
1220f8f1279cSRussell King# Compatibility options for PL01x
12215c972af4SRussell Kingconfig DEBUG_UART_PL01X
12225c972af4SRussell King	def_bool ARCH_EP93XX || \
12235c972af4SRussell King		ARCH_INTEGRATOR || \
12240dc0e475SRussell King		ARCH_SPEAR3XX || \
12250dc0e475SRussell King		ARCH_SPEAR6XX || \
12260dc0e475SRussell King		ARCH_SPEAR13XX || \
12275c972af4SRussell King		ARCH_VERSATILE
12285c972af4SRussell King
1229f8f1279cSRussell King# Compatibility options for 8250
12307610b607SRussell Kingconfig DEBUG_UART_8250
12314a003647SRussell King	def_bool ARCH_DOVE || ARCH_EBSA110 || \
12324a003647SRussell King		(FOOTBRIDGE && !DEBUG_DC21285_PORT) || \
12334a003647SRussell King		ARCH_GEMINI || ARCH_IOP13XX || ARCH_IOP32X || \
1234ba364fc7SAndrew Lunn		ARCH_IOP33X || ARCH_IXP4XX || \
12354a003647SRussell King		ARCH_LPC32XX || ARCH_MV78XX0 || ARCH_ORION5X || ARCH_RPC
12364a003647SRussell King
1237b51312beSFlorian Fainelli# Compatibility options for BCM63xx
1238b51312beSFlorian Fainelliconfig DEBUG_UART_BCM63XX
1239b51312beSFlorian Fainelli	def_bool ARCH_BCM_63XX
1240b51312beSFlorian Fainelli
1241c3faa9b7SRussell Kingconfig DEBUG_UART_PHYS
1242c3faa9b7SRussell King	hex "Physical base address of debug UART"
124397bd1a48SRussell King	default 0x01c20000 if DEBUG_DAVINCI_DMx_UART0
1244c3faa9b7SRussell King	default 0x01c28000 if DEBUG_SUNXI_UART0
1245c3faa9b7SRussell King	default 0x01c28400 if DEBUG_SUNXI_UART1
124697bd1a48SRussell King	default 0x01d0c000 if DEBUG_DAVINCI_DA8XX_UART1
124797bd1a48SRussell King	default 0x01d0d000 if DEBUG_DAVINCI_DA8XX_UART2
1248c4718543SChen-Yu Tsai	default 0x01f02800 if DEBUG_SUNXI_R_UART
1249f2acf003SRussell King	default 0x02530c00 if DEBUG_KEYSTONE_UART0
1250f2acf003SRussell King	default 0x02531000 if DEBUG_KEYSTONE_UART1
1251c3faa9b7SRussell King	default 0x03010fe0 if ARCH_RPC
1252d4da889aSChen-Yu Tsai	default 0x07000000 if DEBUG_SUN9I_UART0
1253b125170aSKrzysztof Hałasa	default 0x10009000 if DEBUG_REALVIEW_STD_PORT || \
12545c972af4SRussell King				DEBUG_VEXPRESS_UART0_CA9
12555c972af4SRussell King	default 0x1010c000 if DEBUG_REALVIEW_PB1176_PORT
1256c3faa9b7SRussell King	default 0x10124000 if DEBUG_RK3X_UART0
1257c3faa9b7SRussell King	default 0x10126000 if DEBUG_RK3X_UART1
12585c972af4SRussell King	default 0x101f1000 if ARCH_VERSATILE
12595c972af4SRussell King	default 0x101fb000 if DEBUG_NOMADIK_UART
126065ec48c0SJoe.C	default 0x11002000 if DEBUG_MT8127_UART0
1261d6682085SMatthias Brugger	default 0x11006000 if DEBUG_MT6589_UART0
126265ec48c0SJoe.C	default 0x11009000 if DEBUG_MT8135_UART3
12635c972af4SRussell King	default 0x16000000 if ARCH_INTEGRATOR
126406580275SHauke Mehrtens	default 0x18000300 if DEBUG_BCM_5301X
12655c972af4SRussell King	default 0x1c090000 if DEBUG_VEXPRESS_UART0_RS1
1266c3faa9b7SRussell King	default 0x20060000 if DEBUG_RK29_UART0
1267c3faa9b7SRussell King	default 0x20064000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1268c3faa9b7SRussell King	default 0x20068000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
12695c972af4SRussell King	default 0x20201000 if DEBUG_BCM2835
1270753d1243SChristian Daudt	default 0x3e000000 if DEBUG_BCM_KONA_UART
1271494e492dSUwe Kleine-König	default 0x4000e400 if DEBUG_LL_UART_EFM32
1272c3faa9b7SRussell King	default 0x40090000 if ARCH_LPC32XX
1273c3faa9b7SRussell King	default 0x40100000 if DEBUG_PXA_UART1
1274c3faa9b7SRussell King	default 0x42000000 if ARCH_GEMINI
12751899de28SHeiko Stuebner	default 0x50000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
12761899de28SHeiko Stuebner				DEBUG_S3C2410_UART0)
12771899de28SHeiko Stuebner	default 0x50004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
12781899de28SHeiko Stuebner				DEBUG_S3C2410_UART1)
12791899de28SHeiko Stuebner	default 0x50008000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART2 || \
12801899de28SHeiko Stuebner				DEBUG_S3C2410_UART2)
1281c3ca2130SKrzysztof Hałasa	default 0x78000000 if DEBUG_CNS3XXX
1282c3faa9b7SRussell King	default 0x7c0003f8 if FOOTBRIDGE
1283b125170aSKrzysztof Hałasa	default 0x78000000 if DEBUG_CNS3XXX
1284d5bd4e8dSOleksij Rempel	default 0x80010000 if DEBUG_ASM9260_UART
12855c972af4SRussell King	default 0x80070000 if DEBUG_IMX23_UART
12865c972af4SRussell King	default 0x80074000 if DEBUG_IMX28_UART
1287c39e1ef7SAlexander Shiyan	default 0x80230000 if DEBUG_PICOXCELL_UART
12885c972af4SRussell King	default 0x808c0000 if ARCH_EP93XX
12895c972af4SRussell King	default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
12907098cff2SIvan T. Ivanov	default 0xa9a00000 if DEBUG_MSM_UART
12915c972af4SRussell King	default 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX
12925c972af4SRussell King	default 0xc0013000 if DEBUG_U300_UART
1293c3faa9b7SRussell King	default 0xc8000000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1294c3faa9b7SRussell King	default 0xc8000003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
12950dc0e475SRussell King	default 0xd0000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
1296c3faa9b7SRussell King	default 0xd0012000 if DEBUG_MVEBU_UART
1297d8a00916SCarlo Caione	default 0xc81004c0 if DEBUG_MESON_UARTAO
1298c3faa9b7SRussell King	default 0xd4017000 if DEBUG_MMP_UART2
1299c3faa9b7SRussell King	default 0xd4018000 if DEBUG_MMP_UART3
13000dc0e475SRussell King	default 0xe0000000 if ARCH_SPEAR13XX
1301c9a1df48SHaojian Zhuang	default 0xe4007000 if DEBUG_HIP04_UART
13027a2071c5SGeert Uytterhoeven	default 0xe6c40000 if DEBUG_RMOBILE_SCIFA0
13037a2071c5SGeert Uytterhoeven	default 0xe6c50000 if DEBUG_RMOBILE_SCIFA1
13047a2071c5SGeert Uytterhoeven	default 0xe6c80000 if DEBUG_RMOBILE_SCIFA4
13057a2071c5SGeert Uytterhoeven	default 0xe6e58000 if DEBUG_RCAR_GEN2_SCIF2
13067a2071c5SGeert Uytterhoeven	default 0xe6e60000 if DEBUG_RCAR_GEN2_SCIF0
13077a2071c5SGeert Uytterhoeven	default 0xe8008000 if DEBUG_R7S72100_SCIF2
1308c3faa9b7SRussell King	default 0xf0000be0 if ARCH_EBSA110
130981b43a6eSMarc Carino	default 0xf040ab00 if DEBUG_BRCMSTB_UART
1310c3faa9b7SRussell King	default 0xf1012000 if DEBUG_MVEBU_UART_ALTERNATE
1311ba364fc7SAndrew Lunn	default 0xf1012000 if ARCH_DOVE || ARCH_MV78XX0 || \
1312c3faa9b7SRussell King				ARCH_ORION5X
1313caad0b41SSebastian Hesselbarth	default 0xf7fc9000 if DEBUG_BERLIN_UART
131412aae309SHaifeng Yan	default 0xf8b00000 if DEBUG_HIX5HD2_UART
13157098cff2SIvan T. Ivanov	default 0xf991e000 if DEBUG_QCOM_UARTDM
13168d258bebSHaojian Zhuang	default 0xfcb00000 if DEBUG_HI3620_UART
1317c3faa9b7SRussell King	default 0xfe800000 if ARCH_IOP32X
1318efd02ee9SHeiko Stuebner	default 0xff690000 if DEBUG_RK32_UART2
13190b4cccbeSRussell King	default 0xffc02000 if DEBUG_SOCFPGA_UART
1320c3faa9b7SRussell King	default 0xffd82340 if ARCH_IOP13XX
13217a2071c5SGeert Uytterhoeven	default 0xffe40000 if DEBUG_RCAR_GEN1_SCIF0
13227a2071c5SGeert Uytterhoeven	default 0xffe42000 if DEBUG_RCAR_GEN1_SCIF2
13235c972af4SRussell King	default 0xfff36000 if DEBUG_HIGHBANK_UART
1324b51312beSFlorian Fainelli	default 0xfffe8600 if DEBUG_UART_BCM63XX
1325c3faa9b7SRussell King	default 0xfffff700 if ARCH_IOP33X
1326f8f1279cSRussell King	depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1327494e492dSUwe Kleine-König		DEBUG_LL_UART_EFM32 || \
1328d8a00916SCarlo Caione		DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
13297a2071c5SGeert Uytterhoeven		DEBUG_MSM_UART || DEBUG_QCOM_UARTDM || DEBUG_R7S72100_SCIF2 || \
13307a2071c5SGeert Uytterhoeven		DEBUG_RCAR_GEN1_SCIF0 || DEBUG_RCAR_GEN1_SCIF2 || \
13317a2071c5SGeert Uytterhoeven		DEBUG_RCAR_GEN2_SCIF0 || DEBUG_RCAR_GEN2_SCIF2 || \
13327a2071c5SGeert Uytterhoeven		DEBUG_RMOBILE_SCIFA0 || DEBUG_RMOBILE_SCIFA1 || \
13337a2071c5SGeert Uytterhoeven		DEBUG_RMOBILE_SCIFA4 || DEBUG_S3C24XX_UART || \
1334d5bd4e8dSOleksij Rempel		DEBUG_UART_BCM63XX || DEBUG_ASM9260_UART
1335c3faa9b7SRussell King
1336c3faa9b7SRussell Kingconfig DEBUG_UART_VIRT
1337c3faa9b7SRussell King	hex "Virtual base address of debug UART"
1338c3faa9b7SRussell King	default 0xe0010fe0 if ARCH_RPC
13397098cff2SIvan T. Ivanov	default 0xe1000000 if DEBUG_MSM_UART
1340c3faa9b7SRussell King	default 0xf0000be0 if ARCH_EBSA110
1341d5bd4e8dSOleksij Rempel	default 0xf0010000 if DEBUG_ASM9260_UART
13425c972af4SRussell King	default 0xf01fb000 if DEBUG_NOMADIK_UART
13435c972af4SRussell King	default 0xf0201000 if DEBUG_BCM2835
134406580275SHauke Mehrtens	default 0xf1000300 if DEBUG_BCM_5301X
134565ec48c0SJoe.C	default 0xf1002000 if DEBUG_MT8127_UART0
1346d6682085SMatthias Brugger	default 0xf1006000 if DEBUG_MT6589_UART0
134765ec48c0SJoe.C	default 0xf1009000 if DEBUG_MT8135_UART3
13485c972af4SRussell King	default 0xf11f1000 if ARCH_VERSATILE
13495c972af4SRussell King	default 0xf1600000 if ARCH_INTEGRATOR
1350c3faa9b7SRussell King	default 0xf1c28000 if DEBUG_SUNXI_UART0
1351c3faa9b7SRussell King	default 0xf1c28400 if DEBUG_SUNXI_UART1
1352c4718543SChen-Yu Tsai	default 0xf1f02800 if DEBUG_SUNXI_R_UART
1353cde7fc87SRobert Jarzmik	default 0xf6200000 if DEBUG_PXA_UART1
1354c3faa9b7SRussell King	default 0xf4090000 if ARCH_LPC32XX
1355c3faa9b7SRussell King	default 0xf4200000 if ARCH_GEMINI
1356d4da889aSChen-Yu Tsai	default 0xf7000000 if DEBUG_SUN9I_UART0
13571899de28SHeiko Stuebner	default 0xf7000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
13581899de28SHeiko Stuebner				DEBUG_S3C2410_UART0)
13591899de28SHeiko Stuebner	default 0xf7004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
13601899de28SHeiko Stuebner				DEBUG_S3C2410_UART1)
13611899de28SHeiko Stuebner	default 0xf7008000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART2 || \
13621899de28SHeiko Stuebner				DEBUG_S3C2410_UART2)
1363caad0b41SSebastian Hesselbarth	default 0xf7fc9000 if DEBUG_BERLIN_UART
1364c9a1df48SHaojian Zhuang	default 0xf8007000 if DEBUG_HIP04_UART
13655c972af4SRussell King	default 0xf8009000 if DEBUG_VEXPRESS_UART0_CA9
13665c972af4SRussell King	default 0xf8090000 if DEBUG_VEXPRESS_UART0_RS1
13677098cff2SIvan T. Ivanov	default 0xfa71e000 if DEBUG_QCOM_UARTDM
1368b125170aSKrzysztof Hałasa	default 0xfb002000 if DEBUG_CNS3XXX
13695c972af4SRussell King	default 0xfb009000 if DEBUG_REALVIEW_STD_PORT
13705c972af4SRussell King	default 0xfb10c000 if DEBUG_REALVIEW_PB1176_PORT
137181b43a6eSMarc Carino	default 0xfc40ab00 if DEBUG_BRCMSTB_UART
1372b51312beSFlorian Fainelli	default 0xfcfe8600 if DEBUG_UART_BCM63XX
13730dc0e475SRussell King	default 0xfd000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
13740dc0e475SRussell King	default 0xfd000000 if ARCH_SPEAR13XX
1375c3faa9b7SRussell King	default 0xfd012000 if ARCH_MV78XX0
1376c3faa9b7SRussell King	default 0xfde12000 if ARCH_DOVE
1377c3faa9b7SRussell King	default 0xfe012000 if ARCH_ORION5X
1378d8a00916SCarlo Caione	default 0xf31004c0 if DEBUG_MESON_UARTAO
1379c3faa9b7SRussell King	default 0xfe017000 if DEBUG_MMP_UART2
1380c3faa9b7SRussell King	default 0xfe018000 if DEBUG_MMP_UART3
13815c972af4SRussell King	default 0xfe100000 if DEBUG_IMX23_UART || DEBUG_IMX28_UART
13820b4cccbeSRussell King	default 0xfe230000 if DEBUG_PICOXCELL_UART
1383753d1243SChristian Daudt	default 0xfe300000 if DEBUG_BCM_KONA_UART
1384c3faa9b7SRussell King	default 0xfe800000 if ARCH_IOP32X
138512aae309SHaifeng Yan	default 0xfeb00000 if DEBUG_HI3620_UART || DEBUG_HIX5HD2_UART
1386c3faa9b7SRussell King	default 0xfeb24000 if DEBUG_RK3X_UART0
1387c3faa9b7SRussell King	default 0xfeb26000 if DEBUG_RK3X_UART1
1388f2acf003SRussell King	default 0xfeb30c00 if DEBUG_KEYSTONE_UART0
1389f2acf003SRussell King	default 0xfeb31000 if DEBUG_KEYSTONE_UART1
13900b4cccbeSRussell King	default 0xfec02000 if DEBUG_SOCFPGA_UART
1391c39e1ef7SAlexander Shiyan	default 0xfec12000 if DEBUG_MVEBU_UART || DEBUG_MVEBU_UART_ALTERNATE
139297bd1a48SRussell King	default 0xfec20000 if DEBUG_DAVINCI_DMx_UART0
1393efd02ee9SHeiko Stuebner	default 0xfec90000 if DEBUG_RK32_UART2
139497bd1a48SRussell King	default 0xfed0c000 if DEBUG_DAVINCI_DA8XX_UART1
139597bd1a48SRussell King	default 0xfed0d000 if DEBUG_DAVINCI_DA8XX_UART2
1396c39e1ef7SAlexander Shiyan	default 0xfed60000 if DEBUG_RK29_UART0
1397c39e1ef7SAlexander Shiyan	default 0xfed64000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1398c39e1ef7SAlexander Shiyan	default 0xfed68000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
13995c972af4SRussell King	default 0xfedc0000 if ARCH_EP93XX
1400c3faa9b7SRussell King	default 0xfee003f8 if FOOTBRIDGE
14015c972af4SRussell King	default 0xfee20000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
1402c3faa9b7SRussell King	default 0xfee82340 if ARCH_IOP13XX
1403c3faa9b7SRussell King	default 0xfef00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1404c3faa9b7SRussell King	default 0xfef00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
1405c39e1ef7SAlexander Shiyan	default 0xfef36000 if DEBUG_HIGHBANK_UART
1406c3faa9b7SRussell King	default 0xfefff700 if ARCH_IOP33X
14075c972af4SRussell King	default 0xff003000 if DEBUG_U300_UART
14085c972af4SRussell King	default DEBUG_UART_PHYS if !MMU
1409f8f1279cSRussell King	depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1410d8a00916SCarlo Caione		DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
1411b51312beSFlorian Fainelli		DEBUG_MSM_UART || DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART || \
1412d5bd4e8dSOleksij Rempel		DEBUG_UART_BCM63XX || DEBUG_ASM9260_UART
1413c3faa9b7SRussell King
14144a003647SRussell Kingconfig DEBUG_UART_8250_SHIFT
14154a003647SRussell King	int "Register offset shift for the 8250 debug UART"
1416f8f1279cSRussell King	depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1417140bd603SHauke Mehrtens	default 0 if FOOTBRIDGE || ARCH_IOP32X || DEBUG_BCM_5301X
14184a003647SRussell King	default 2
14197610b607SRussell King
14200b4cccbeSRussell Kingconfig DEBUG_UART_8250_WORD
14210b4cccbeSRussell King	bool "Use 32-bit accesses for 8250 UART"
1422f8f1279cSRussell King	depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
14230b4cccbeSRussell King	depends on DEBUG_UART_8250_SHIFT >= 2
1424f2acf003SRussell King	default y if DEBUG_PICOXCELL_UART || DEBUG_SOCFPGA_UART || \
142597bd1a48SRussell King		ARCH_KEYSTONE || \
142697bd1a48SRussell King		DEBUG_DAVINCI_DMx_UART0 || DEBUG_DAVINCI_DA8XX_UART1 || \
14279d6eccb9SArnd Bergmann		DEBUG_DAVINCI_DA8XX_UART2 || \
142881b43a6eSMarc Carino		DEBUG_BCM_KONA_UART || DEBUG_RK32_UART2 || \
142981b43a6eSMarc Carino		DEBUG_BRCMSTB_UART
14300b4cccbeSRussell King
14317610b607SRussell Kingconfig DEBUG_UART_8250_FLOW_CONTROL
14327610b607SRussell King	bool "Enable flow control for 8250 UART"
1433f8f1279cSRussell King	depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
14347610b607SRussell King	default y if ARCH_EBSA110 || FOOTBRIDGE || ARCH_GEMINI || ARCH_RPC
14357610b607SRussell King
14363b4af9bcSShawn Guoconfig DEBUG_UNCOMPRESS
14373b4af9bcSShawn Guo	bool
143890266754SHeiko Stuebner	depends on ARCH_MULTIPLATFORM || ARCH_MSM || PLAT_SAMSUNG
1439b6992fa9SRussell King	default y if DEBUG_LL && !DEBUG_OMAP2PLUS_UART && \
1440ae3c99a2SStephen Warren		     (!DEBUG_TEGRA_UART || !ZBOOT_ROM)
1441b6992fa9SRussell King	help
1442b6992fa9SRussell King	  This option influences the normal decompressor output for
1443b6992fa9SRussell King	  multiplatform kernels.  Normally, multiplatform kernels disable
1444b6992fa9SRussell King	  decompressor output because it is not possible to know where to
1445b6992fa9SRussell King	  send the decompressor output.
1446b6992fa9SRussell King
1447b6992fa9SRussell King	  When this option is set, the selected DEBUG_LL output method
1448b6992fa9SRussell King	  will be re-used for normal decompressor output on multiplatform
1449b6992fa9SRussell King	  kernels.
1450b6992fa9SRussell King
14513b4af9bcSShawn Guo
1452615967b0SShawn Guoconfig UNCOMPRESS_INCLUDE
1453615967b0SShawn Guo	string
1454ffd80eccSSachin Kamat	default "debug/uncompress.h" if ARCH_MULTIPLATFORM || ARCH_MSM || \
14552bf73dd6SLinus Torvalds					PLAT_SAMSUNG || ARCH_EFM32
1456615967b0SShawn Guo	default "mach/uncompress.h"
1457615967b0SShawn Guo
145893fd03a8SCatalin Marinasconfig EARLY_PRINTK
145993fd03a8SCatalin Marinas	bool "Early printk"
146093fd03a8SCatalin Marinas	depends on DEBUG_LL
146193fd03a8SCatalin Marinas	help
146293fd03a8SCatalin Marinas	  Say Y here if you want to have an early console using the
146393fd03a8SCatalin Marinas	  kernel low-level debugging functions. Add earlyprintk to your
146493fd03a8SCatalin Marinas	  kernel parameters to enable this console.
146593fd03a8SCatalin Marinas
14664189bc71SJon Medhurstconfig ARM_KPROBES_TEST
14674189bc71SJon Medhurst	tristate "Kprobes test module"
14684189bc71SJon Medhurst	depends on KPROBES && MODULES
14694189bc71SJon Medhurst	help
14704189bc71SJon Medhurst	  Perform tests of kprobes API and instruction set simulation.
14714189bc71SJon Medhurst
1472575320d6SWill Deaconconfig PID_IN_CONTEXTIDR
1473575320d6SWill Deacon	bool "Write the current PID to the CONTEXTIDR register"
1474575320d6SWill Deacon	depends on CPU_COPY_V6
1475575320d6SWill Deacon	help
1476575320d6SWill Deacon	  Enabling this option causes the kernel to write the current PID to
1477575320d6SWill Deacon	  the PROCID field of the CONTEXTIDR register, at the expense of some
1478575320d6SWill Deacon	  additional instructions during context switch. Say Y here only if you
1479575320d6SWill Deacon	  are planning to use hardware trace tools with this kernel.
1480575320d6SWill Deacon
1481dca9aa92SLaura Abbottconfig DEBUG_SET_MODULE_RONX
1482dca9aa92SLaura Abbott	bool "Set loadable kernel module data as NX and text as RO"
1483dca9aa92SLaura Abbott	depends on MODULES
1484dca9aa92SLaura Abbott	---help---
1485dca9aa92SLaura Abbott	  This option helps catch unintended modifications to loadable
1486dca9aa92SLaura Abbott	  kernel module's text and read-only data. It also prevents execution
1487dca9aa92SLaura Abbott	  of module data. Such protection may interfere with run-time code
1488dca9aa92SLaura Abbott	  patching and dynamic kernel tracing - and they might also protect
1489dca9aa92SLaura Abbott	  against certain classes of kernel exploits.
1490dca9aa92SLaura Abbott	  If in doubt, say "N".
1491dca9aa92SLaura Abbott
1492a06ae860SPratik Patelmenuconfig CORESIGHT
1493a06ae860SPratik Patel	bool "CoreSight Tracing Support"
1494a06ae860SPratik Patel	select ARM_AMBA
1495a06ae860SPratik Patel	help
1496a06ae860SPratik Patel	  This framework provides a kernel interface for the CoreSight debug
1497a06ae860SPratik Patel	  and trace drivers to register themselves with. It's intended to build
1498a06ae860SPratik Patel	  a topological view of the CoreSight components based on a DT
1499a06ae860SPratik Patel	  specification and configure the right serie of components when a
1500a06ae860SPratik Patel	  trace source gets enabled.
1501bc4bf7feSPratik Patel
1502bc4bf7feSPratik Patelif CORESIGHT
1503bc4bf7feSPratik Patelconfig CORESIGHT_LINKS_AND_SINKS
1504bc4bf7feSPratik Patel	bool "CoreSight Link and Sink drivers"
1505bc4bf7feSPratik Patel	help
1506bc4bf7feSPratik Patel	  This enables support for CoreSight link and sink drivers that are
1507bc4bf7feSPratik Patel	  responsible for transporting and collecting the trace data
1508bc4bf7feSPratik Patel	  respectively.  Link and sinks are dynamically aggregated with a trace
1509bc4bf7feSPratik Patel	  entity at run time to form a complete trace path.
1510bc4bf7feSPratik Patel
1511bc4bf7feSPratik Patelconfig CORESIGHT_LINK_AND_SINK_TMC
1512bc4bf7feSPratik Patel	bool "Coresight generic TMC driver"
1513bc4bf7feSPratik Patel	depends on CORESIGHT_LINKS_AND_SINKS
1514bc4bf7feSPratik Patel	help
1515bc4bf7feSPratik Patel	  This enables support for the Trace Memory Controller driver.  Depending
1516bc4bf7feSPratik Patel	  on its configuration the device can act as a link (embedded trace router
1517bc4bf7feSPratik Patel	  - ETR) or sink (embedded trace FIFO).  The driver complies with the
1518bc4bf7feSPratik Patel	  generic implementation of the component without special enhancement or
1519bc4bf7feSPratik Patel	  added features.
1520dc161b9fSPratik Patel
1521dc161b9fSPratik Patelconfig CORESIGHT_SINK_TPIU
1522dc161b9fSPratik Patel	bool "Coresight generic TPIU driver"
1523dc161b9fSPratik Patel	depends on CORESIGHT_LINKS_AND_SINKS
1524dc161b9fSPratik Patel	help
1525dc161b9fSPratik Patel	  This enables support for the Trace Port Interface Unit driver, responsible
1526dc161b9fSPratik Patel	  for bridging the gap between the on-chip coresight components and a trace
1527dc161b9fSPratik Patel	  port collection engine, typically connected to an external host for use
1528dc161b9fSPratik Patel	  case capturing more traces than the on-board coresight memory can handle.
1529fdfc0d8aSPratik Patel
1530fdfc0d8aSPratik Patelconfig CORESIGHT_SINK_ETBV10
1531fdfc0d8aSPratik Patel	bool "Coresight ETBv1.0 driver"
1532fdfc0d8aSPratik Patel	depends on CORESIGHT_LINKS_AND_SINKS
1533fdfc0d8aSPratik Patel	help
1534fdfc0d8aSPratik Patel	  This enables support for the Embedded Trace Buffer version 1.0 driver
1535fdfc0d8aSPratik Patel	  that complies with the generic implementation of the component without
1536fdfc0d8aSPratik Patel	  special enhancement or added features.
1537a939fc5aSPratik Patel
1538a939fc5aSPratik Patelconfig CORESIGHT_SOURCE_ETM3X
1539a939fc5aSPratik Patel	bool "CoreSight Embedded Trace Macrocell 3.x driver"
1540a939fc5aSPratik Patel	select CORESIGHT_LINKS_AND_SINKS
1541a939fc5aSPratik Patel	help
1542a939fc5aSPratik Patel	  This driver provides support for processor ETM3.x and PTM1.x modules,
1543a939fc5aSPratik Patel	  which allows tracing the instructions that a processor is executing
1544a939fc5aSPratik Patel	  This is primarily useful for instruction level tracing.  Depending
1545a939fc5aSPratik Patel	  the ETM version data tracing may also be available.
1546bc4bf7feSPratik Patelendif
15471da177e4SLinus Torvaldsendmenu
1548