xref: /linux/arch/arm/Kconfig.debug (revision cfdb7d564c03a06e00f76a5e9b3929f802c1040b)
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
9613079a73SJean-Christophe PLAGNIOL-VILLARD	config AT91_DEBUG_LL_DBGU0
9713079a73SJean-Christophe PLAGNIOL-VILLARD		bool "Kernel low-level debugging on rm9200, 9260/9g20, 9261/9g10 and 9rl"
9813079a73SJean-Christophe PLAGNIOL-VILLARD		depends on HAVE_AT91_DBGU0
9913079a73SJean-Christophe PLAGNIOL-VILLARD
10013079a73SJean-Christophe PLAGNIOL-VILLARD	config AT91_DEBUG_LL_DBGU1
1019918ceafSJean-Christophe PLAGNIOL-VILLARD		bool "Kernel low-level debugging on 9263 and 9g45"
10213079a73SJean-Christophe PLAGNIOL-VILLARD		depends on HAVE_AT91_DBGU1
10313079a73SJean-Christophe PLAGNIOL-VILLARD
104f1ac922dSStephen Warren	config DEBUG_BCM2835
105f1ac922dSStephen Warren		bool "Kernel low-level debugging on BCM2835 PL011 UART"
106f1ac922dSStephen Warren		depends on ARCH_BCM2835
1075c972af4SRussell King		select DEBUG_UART_PL01X
108f1ac922dSStephen Warren
10906580275SHauke Mehrtens	config DEBUG_BCM_5301X
11006580275SHauke Mehrtens		bool "Kernel low-level debugging on BCM5301X UART1"
11106580275SHauke Mehrtens		depends on ARCH_BCM_5301X
11206580275SHauke Mehrtens		select DEBUG_UART_PL01X
11306580275SHauke Mehrtens
114753d1243SChristian Daudt	config DEBUG_BCM_KONA_UART
115753d1243SChristian Daudt		bool "Kernel low-level debugging messages via BCM KONA UART"
1167aa2077bSFlorian Fainelli		depends on ARCH_BCM_MOBILE
117753d1243SChristian Daudt		select DEBUG_UART_8250
118753d1243SChristian Daudt		help
119753d1243SChristian Daudt		  Say Y here if you want kernel low-level debugging support
120753d1243SChristian Daudt		  on Broadcom SoC platforms.
121753d1243SChristian Daudt		  This low level debug works for Broadcom
122753d1243SChristian Daudt		  mobile SoCs in the Kona family of chips (e.g. bcm28155,
123753d1243SChristian Daudt		  bcm11351, etc...)
124753d1243SChristian Daudt
125caad0b41SSebastian Hesselbarth	config DEBUG_BERLIN_UART
126caad0b41SSebastian Hesselbarth		bool "Marvell Berlin SoC Debug UART"
127caad0b41SSebastian Hesselbarth		depends on ARCH_BERLIN
128caad0b41SSebastian Hesselbarth		select DEBUG_UART_8250
129caad0b41SSebastian Hesselbarth		help
130caad0b41SSebastian Hesselbarth		  Say Y here if you want kernel low-level debugging support
131caad0b41SSebastian Hesselbarth		  on Marvell Berlin SoC based platforms.
132caad0b41SSebastian Hesselbarth
133164acf96SStephen Boyd	config DEBUG_CLPS711X_UART1
134164acf96SStephen Boyd		bool "Kernel low-level debugging messages via UART1"
135164acf96SStephen Boyd		depends on ARCH_CLPS711X
136164acf96SStephen Boyd		help
137164acf96SStephen Boyd		  Say Y here if you want the debug print routines to direct
138164acf96SStephen Boyd		  their output to the first serial port on these devices.
13917916b28SWill Deacon
14017916b28SWill Deacon	config DEBUG_CLPS711X_UART2
14117916b28SWill Deacon		bool "Kernel low-level debugging messages via UART2"
14217916b28SWill Deacon		depends on ARCH_CLPS711X
14317916b28SWill Deacon		help
14417916b28SWill Deacon		  Say Y here if you want the debug print routines to direct
14517916b28SWill Deacon		  their output to the second serial port on these devices.
14617916b28SWill Deacon
14729c9b7beSArnd Bergmann	config DEBUG_CNS3XXX
14829c9b7beSArnd Bergmann		bool "Kernel Kernel low-level debugging on Cavium Networks CNS3xxx"
14929c9b7beSArnd Bergmann		depends on ARCH_CNS3XXX
1505c972af4SRussell King		select DEBUG_UART_PL01X
15129c9b7beSArnd Bergmann		help
15229c9b7beSArnd Bergmann		  Say Y here if you want the debug print routines to direct
15329c9b7beSArnd Bergmann                  their output to the CNS3xxx UART0.
15429c9b7beSArnd Bergmann
155477099f1SUwe Kleine-König	config DEBUG_DAVINCI_DA8XX_UART1
156477099f1SUwe Kleine-König		bool "Kernel low-level debugging on DaVinci DA8XX using UART1"
157477099f1SUwe Kleine-König		depends on ARCH_DAVINCI_DA8XX
15897bd1a48SRussell King		select DEBUG_UART_8250
159477099f1SUwe Kleine-König		help
160477099f1SUwe Kleine-König		  Say Y here if you want the debug print routines to direct
161477099f1SUwe Kleine-König		  their output to UART1 serial port on DaVinci DA8XX devices.
162477099f1SUwe Kleine-König
163477099f1SUwe Kleine-König	config DEBUG_DAVINCI_DA8XX_UART2
164477099f1SUwe Kleine-König		bool "Kernel low-level debugging on DaVinci DA8XX using UART2"
165477099f1SUwe Kleine-König		depends on ARCH_DAVINCI_DA8XX
16697bd1a48SRussell King		select DEBUG_UART_8250
167477099f1SUwe Kleine-König		help
168477099f1SUwe Kleine-König		  Say Y here if you want the debug print routines to direct
169477099f1SUwe Kleine-König		  their output to UART2 serial port on DaVinci DA8XX devices.
170477099f1SUwe Kleine-König
171477099f1SUwe Kleine-König	config DEBUG_DAVINCI_DMx_UART0
172477099f1SUwe Kleine-König		bool "Kernel low-level debugging on DaVinci DMx using UART0"
173477099f1SUwe Kleine-König		depends on ARCH_DAVINCI_DMx
17497bd1a48SRussell King		select DEBUG_UART_8250
175477099f1SUwe Kleine-König		help
176477099f1SUwe Kleine-König		  Say Y here if you want the debug print routines to direct
177477099f1SUwe Kleine-König		  their output to UART0 serial port on DaVinci DMx devices.
178477099f1SUwe Kleine-König
179aaf5e0beSNick Bowler	config DEBUG_ZYNQ_UART0
180aaf5e0beSNick Bowler		bool "Kernel low-level debugging on Xilinx Zynq using UART0"
181aaf5e0beSNick Bowler		depends on ARCH_ZYNQ
182aaf5e0beSNick Bowler		help
183aaf5e0beSNick Bowler		  Say Y here if you want the debug print routines to direct
184aaf5e0beSNick Bowler		  their output to UART0 on the Zynq platform.
185aaf5e0beSNick Bowler
186aaf5e0beSNick Bowler	config DEBUG_ZYNQ_UART1
187aaf5e0beSNick Bowler		bool "Kernel low-level debugging on Xilinx Zynq using UART1"
188aaf5e0beSNick Bowler		depends on ARCH_ZYNQ
189aaf5e0beSNick Bowler		help
190aaf5e0beSNick Bowler		  Say Y here if you want the debug print routines to direct
191aaf5e0beSNick Bowler		  their output to UART1 on the Zynq platform.
192aaf5e0beSNick Bowler
193aaf5e0beSNick Bowler		  If you have a ZC702 board and want early boot messages to
194aaf5e0beSNick Bowler		  appear on the USB serial adaptor, select this option.
195aaf5e0beSNick Bowler
196e76f4750SRussell King	config DEBUG_DC21285_PORT
197e76f4750SRussell King		bool "Kernel low-level debugging messages via footbridge serial port"
198e76f4750SRussell King		depends on FOOTBRIDGE
199e76f4750SRussell King		help
200e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
201e76f4750SRussell King		  their output to the serial port in the DC21285 (Footbridge).
202e76f4750SRussell King
203e76f4750SRussell King	config DEBUG_FOOTBRIDGE_COM1
204e76f4750SRussell King		bool "Kernel low-level debugging messages via footbridge 8250 at PCI COM1"
205e76f4750SRussell King		depends on FOOTBRIDGE
206e76f4750SRussell King		help
207e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
208e76f4750SRussell King		  their output to the 8250 at PCI COM1.
209e76f4750SRussell King
2108d258bebSHaojian Zhuang	config DEBUG_HI3620_UART
2118d258bebSHaojian Zhuang		bool "Hisilicon HI3620 Debug UART"
2128d258bebSHaojian Zhuang		depends on ARCH_HI3xxx
2138d258bebSHaojian Zhuang		select DEBUG_UART_PL01X
2148d258bebSHaojian Zhuang		help
2158d258bebSHaojian Zhuang		  Say Y here if you want kernel low-level debugging support
2168d258bebSHaojian Zhuang		  on HI3620 UART.
2178d258bebSHaojian Zhuang
2188d258bebSHaojian Zhuang	config DEBUG_HI3716_UART
2198d258bebSHaojian Zhuang		bool "Hisilicon Hi3716 Debug UART"
2208d258bebSHaojian Zhuang		depends on ARCH_HI3xxx
2218d258bebSHaojian Zhuang		select DEBUG_UART_PL01X
2228d258bebSHaojian Zhuang		help
2238d258bebSHaojian Zhuang		  Say Y here if you want kernel low-level debugging support
2248d258bebSHaojian Zhuang		  on HI3716 UART.
2258d258bebSHaojian Zhuang
226220e6cf7SRob Herring	config DEBUG_HIGHBANK_UART
227220e6cf7SRob Herring		bool "Kernel low-level debugging messages via Highbank UART"
228220e6cf7SRob Herring		depends on ARCH_HIGHBANK
2295c972af4SRussell King		select DEBUG_UART_PL01X
230220e6cf7SRob Herring		help
231220e6cf7SRob Herring		  Say Y here if you want the debug print routines to direct
232220e6cf7SRob Herring		  their output to the UART on Highbank based devices.
233220e6cf7SRob Herring
234f350b861SShawn Guo	config DEBUG_IMX1_UART
235f350b861SShawn Guo		bool "i.MX1 Debug UART"
236f350b861SShawn Guo		depends on SOC_IMX1
237f350b861SShawn Guo		help
238f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
239f350b861SShawn Guo		  on i.MX1.
240f350b861SShawn Guo
241f350b861SShawn Guo	config DEBUG_IMX23_UART
242f350b861SShawn Guo		bool "i.MX23 Debug UART"
243f350b861SShawn Guo		depends on SOC_IMX23
2445c972af4SRussell King		select DEBUG_UART_PL01X
245f350b861SShawn Guo		help
246f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
247f350b861SShawn Guo		  on i.MX23.
248f350b861SShawn Guo
249f350b861SShawn Guo	config DEBUG_IMX25_UART
250f350b861SShawn Guo		bool "i.MX25 Debug UART"
251f350b861SShawn Guo		depends on SOC_IMX25
252f350b861SShawn Guo		help
253f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
254f350b861SShawn Guo		  on i.MX25.
255f350b861SShawn Guo
256f350b861SShawn Guo	config DEBUG_IMX21_IMX27_UART
257f350b861SShawn Guo		bool "i.MX21 and i.MX27 Debug UART"
258f350b861SShawn Guo		depends on SOC_IMX21 || SOC_IMX27
259f350b861SShawn Guo		help
260f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
261f350b861SShawn Guo		  on i.MX21 or i.MX27.
262f350b861SShawn Guo
263f350b861SShawn Guo	config DEBUG_IMX28_UART
264f350b861SShawn Guo		bool "i.MX28 Debug UART"
265f350b861SShawn Guo		depends on SOC_IMX28
2665c972af4SRussell King		select DEBUG_UART_PL01X
267f350b861SShawn Guo		help
268f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
269f350b861SShawn Guo		  on i.MX28.
270f350b861SShawn Guo
2714ad625d4SShawn Guo	config DEBUG_IMX31_UART
2724ad625d4SShawn Guo		bool "i.MX31 Debug UART"
2734ad625d4SShawn Guo		depends on SOC_IMX31
274f350b861SShawn Guo		help
275f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
2764ad625d4SShawn Guo		  on i.MX31.
2774ad625d4SShawn Guo
2784ad625d4SShawn Guo	config DEBUG_IMX35_UART
2794ad625d4SShawn Guo		bool "i.MX35 Debug UART"
2804ad625d4SShawn Guo		depends on SOC_IMX35
2814ad625d4SShawn Guo		help
2824ad625d4SShawn Guo		  Say Y here if you want kernel low-level debugging support
2834ad625d4SShawn Guo		  on i.MX35.
284f350b861SShawn Guo
285ad364a70SGreg Ungerer	config DEBUG_IMX50_UART
286ad364a70SGreg Ungerer		bool "i.MX50 Debug UART"
287ad364a70SGreg Ungerer		depends on SOC_IMX50
288ad364a70SGreg Ungerer		help
289ad364a70SGreg Ungerer		  Say Y here if you want kernel low-level debugging support
290ad364a70SGreg Ungerer		  on i.MX50.
291ad364a70SGreg Ungerer
292f350b861SShawn Guo	config DEBUG_IMX51_UART
293f350b861SShawn Guo		bool "i.MX51 Debug UART"
294f350b861SShawn Guo		depends on SOC_IMX51
295f350b861SShawn Guo		help
296f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
297f350b861SShawn Guo		  on i.MX51.
298f350b861SShawn Guo
2997356420cSFabio Estevam	config DEBUG_IMX53_UART
3007356420cSFabio Estevam		bool "i.MX53 Debug UART"
3017356420cSFabio Estevam		depends on SOC_IMX53
302f350b861SShawn Guo		help
303f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
3047356420cSFabio Estevam		  on i.MX53.
305f350b861SShawn Guo
30649c9e60eSShawn Guo	config DEBUG_IMX6Q_UART
3073c03a2feSShawn Guo		bool "i.MX6Q/DL Debug UART"
308785d7fabSDirk Behme		depends on SOC_IMX6Q
309785d7fabSDirk Behme		help
310785d7fabSDirk Behme		  Say Y here if you want kernel low-level debugging support
3113c03a2feSShawn Guo		  on i.MX6Q/DL.
312bac89d75SShawn Guo
31334e8a16bSShawn Guo	config DEBUG_IMX6SL_UART
31434e8a16bSShawn Guo		bool "i.MX6SL Debug UART"
31534e8a16bSShawn Guo		depends on SOC_IMX6SL
31634e8a16bSShawn Guo		help
31734e8a16bSShawn Guo		  Say Y here if you want kernel low-level debugging support
31834e8a16bSShawn Guo		  on i.MX6SL.
31934e8a16bSShawn Guo
320828989adSSantosh Shilimkar	config DEBUG_KEYSTONE_UART0
321828989adSSantosh Shilimkar		bool "Kernel low-level debugging on KEYSTONE2 using UART0"
322828989adSSantosh Shilimkar		depends on ARCH_KEYSTONE
323f2acf003SRussell King		select DEBUG_UART_8250
324828989adSSantosh Shilimkar		help
325828989adSSantosh Shilimkar		  Say Y here if you want the debug print routines to direct
326828989adSSantosh Shilimkar		  their output to UART0 serial port on KEYSTONE2 devices.
327828989adSSantosh Shilimkar
328828989adSSantosh Shilimkar	config DEBUG_KEYSTONE_UART1
329828989adSSantosh Shilimkar		bool "Kernel low-level debugging on KEYSTONE2 using UART1"
330828989adSSantosh Shilimkar		depends on ARCH_KEYSTONE
331f2acf003SRussell King		select DEBUG_UART_8250
332828989adSSantosh Shilimkar		help
333828989adSSantosh Shilimkar		  Say Y here if you want the debug print routines to direct
334828989adSSantosh Shilimkar		  their output to UART1 serial port on KEYSTONE2 devices.
335828989adSSantosh Shilimkar
336fa4cd2a8SHaojian Zhuang	config DEBUG_MMP_UART2
337fa4cd2a8SHaojian Zhuang		bool "Kernel low-level debugging message via MMP UART2"
338fa4cd2a8SHaojian Zhuang		depends on ARCH_MMP
3394a003647SRussell King		select DEBUG_UART_8250
340fa4cd2a8SHaojian Zhuang		help
341fa4cd2a8SHaojian Zhuang		  Say Y here if you want kernel low-level debugging support
342fa4cd2a8SHaojian Zhuang		  on MMP UART2.
343fa4cd2a8SHaojian Zhuang
344fa4cd2a8SHaojian Zhuang	config DEBUG_MMP_UART3
345fa4cd2a8SHaojian Zhuang		bool "Kernel low-level debugging message via MMP UART3"
346fa4cd2a8SHaojian Zhuang		depends on ARCH_MMP
3474a003647SRussell King		select DEBUG_UART_8250
348fa4cd2a8SHaojian Zhuang		help
349fa4cd2a8SHaojian Zhuang		  Say Y here if you want kernel low-level debugging support
350fa4cd2a8SHaojian Zhuang		  on MMP UART3.
351fa4cd2a8SHaojian Zhuang
352650e3f0dSStephen Boyd	config DEBUG_MSM_UART1
353650e3f0dSStephen Boyd		bool "Kernel low-level debugging messages via MSM UART1"
354650e3f0dSStephen Boyd		depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50
355c527c3b9SRohit Vaswani		select DEBUG_MSM_UART
356650e3f0dSStephen Boyd		help
357650e3f0dSStephen Boyd		  Say Y here if you want the debug print routines to direct
358650e3f0dSStephen Boyd		  their output to the first serial port on MSM devices.
359650e3f0dSStephen Boyd
360650e3f0dSStephen Boyd	config DEBUG_MSM_UART2
361650e3f0dSStephen Boyd		bool "Kernel low-level debugging messages via MSM UART2"
362650e3f0dSStephen Boyd		depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50
363c527c3b9SRohit Vaswani		select DEBUG_MSM_UART
364650e3f0dSStephen Boyd		help
365650e3f0dSStephen Boyd		  Say Y here if you want the debug print routines to direct
366650e3f0dSStephen Boyd		  their output to the second serial port on MSM devices.
367650e3f0dSStephen Boyd
368650e3f0dSStephen Boyd	config DEBUG_MSM_UART3
369650e3f0dSStephen Boyd		bool "Kernel low-level debugging messages via MSM UART3"
370650e3f0dSStephen Boyd		depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50
371c527c3b9SRohit Vaswani		select DEBUG_MSM_UART
372650e3f0dSStephen Boyd		help
373650e3f0dSStephen Boyd		  Say Y here if you want the debug print routines to direct
374650e3f0dSStephen Boyd		  their output to the third serial port on MSM devices.
375650e3f0dSStephen Boyd
376a3d3ef9dSStephen Boyd	config DEBUG_MSM8660_UART
377a3d3ef9dSStephen Boyd		bool "Kernel low-level debugging messages via MSM 8660 UART"
378a3d3ef9dSStephen Boyd		depends on ARCH_MSM8X60
379a3d3ef9dSStephen Boyd		select MSM_HAS_DEBUG_UART_HS
380c527c3b9SRohit Vaswani		select DEBUG_MSM_UART
381a3d3ef9dSStephen Boyd		help
382a3d3ef9dSStephen Boyd		  Say Y here if you want the debug print routines to direct
383a3d3ef9dSStephen Boyd		  their output to the serial port on MSM 8660 devices.
384a3d3ef9dSStephen Boyd
385a3d3ef9dSStephen Boyd	config DEBUG_MSM8960_UART
386a3d3ef9dSStephen Boyd		bool "Kernel low-level debugging messages via MSM 8960 UART"
387a3d3ef9dSStephen Boyd		depends on ARCH_MSM8960
388a3d3ef9dSStephen Boyd		select MSM_HAS_DEBUG_UART_HS
389c527c3b9SRohit Vaswani		select DEBUG_MSM_UART
390a3d3ef9dSStephen Boyd		help
391a3d3ef9dSStephen Boyd		  Say Y here if you want the debug print routines to direct
392a3d3ef9dSStephen Boyd		  their output to the serial port on MSM 8960 devices.
393a3d3ef9dSStephen Boyd
3943c8828f6SRohit Vaswani	config DEBUG_MSM8974_UART
3953c8828f6SRohit Vaswani		bool "Kernel low-level debugging messages via MSM 8974 UART"
3963c8828f6SRohit Vaswani		depends on ARCH_MSM8974
3973c8828f6SRohit Vaswani		select MSM_HAS_DEBUG_UART_HS
3983c8828f6SRohit Vaswani		select DEBUG_MSM_UART
3993c8828f6SRohit Vaswani		help
4003c8828f6SRohit Vaswani		  Say Y here if you want the debug print routines to direct
4013c8828f6SRohit Vaswani		  their output to the serial port on MSM 8974 devices.
4023c8828f6SRohit Vaswani
403bfd5af99SRob Herring	config DEBUG_MVEBU_UART
404c2804cd6SThomas Petazzoni		bool "Kernel low-level debugging messages via MVEBU UART (old bootloaders)"
405bfd5af99SRob Herring		depends on ARCH_MVEBU
4064a003647SRussell King		select DEBUG_UART_8250
407bfd5af99SRob Herring		help
408bfd5af99SRob Herring		  Say Y here if you want kernel low-level debugging support
409bfd5af99SRob Herring		  on MVEBU based platforms.
410bfd5af99SRob Herring
411c2804cd6SThomas Petazzoni		  This option should be used with the old bootloaders
412c2804cd6SThomas Petazzoni		  that left the internal registers mapped at
413c2804cd6SThomas Petazzoni		  0xd0000000. As of today, this is the case on
414c2804cd6SThomas Petazzoni		  platforms such as the Globalscale Mirabox or the
415c2804cd6SThomas Petazzoni		  Plathome OpenBlocks AX3, when using the original
416c2804cd6SThomas Petazzoni		  bootloader.
417c2804cd6SThomas Petazzoni
418c2804cd6SThomas Petazzoni		  If the wrong DEBUG_MVEBU_UART* option is selected,
419c2804cd6SThomas Petazzoni		  when u-boot hands over to the kernel, the system
420c2804cd6SThomas Petazzoni		  silently crashes, with no serial output at all.
421c2804cd6SThomas Petazzoni
422c2804cd6SThomas Petazzoni	config DEBUG_MVEBU_UART_ALTERNATE
423c2804cd6SThomas Petazzoni		bool "Kernel low-level debugging messages via MVEBU UART (new bootloaders)"
424c2804cd6SThomas Petazzoni		depends on ARCH_MVEBU
4254a003647SRussell King		select DEBUG_UART_8250
426c2804cd6SThomas Petazzoni		help
427c2804cd6SThomas Petazzoni		  Say Y here if you want kernel low-level debugging support
428c2804cd6SThomas Petazzoni		  on MVEBU based platforms.
429c2804cd6SThomas Petazzoni
430c2804cd6SThomas Petazzoni		  This option should be used with the new bootloaders
431c2804cd6SThomas Petazzoni		  that remap the internal registers at 0xf1000000.
432c2804cd6SThomas Petazzoni
433c2804cd6SThomas Petazzoni		  If the wrong DEBUG_MVEBU_UART* option is selected,
434c2804cd6SThomas Petazzoni		  when u-boot hands over to the kernel, the system
435c2804cd6SThomas Petazzoni		  silently crashes, with no serial output at all.
436c2804cd6SThomas Petazzoni
437c7c3eac6SShawn Guo	config DEBUG_VF_UART
438c7c3eac6SShawn Guo		bool "Vybrid UART"
439c7c3eac6SShawn Guo		depends on SOC_VF610
440c7c3eac6SShawn Guo		help
441c7c3eac6SShawn Guo		  Say Y here if you want kernel low-level debugging support
442c7c3eac6SShawn Guo		  on Vybrid based platforms.
443c7c3eac6SShawn Guo
444266c3479SLinus Walleij	config DEBUG_NOMADIK_UART
445266c3479SLinus Walleij		bool "Kernel low-level debugging messages via NOMADIK UART"
446266c3479SLinus Walleij		depends on ARCH_NOMADIK
4475c972af4SRussell King		select DEBUG_UART_PL01X
448266c3479SLinus Walleij		help
449266c3479SLinus Walleij		  Say Y here if you want kernel low-level debugging support
450266c3479SLinus Walleij		  on NOMADIK based platforms.
451266c3479SLinus Walleij
4529851ca57SDaniel Tang	config DEBUG_NSPIRE_CLASSIC_UART
4539851ca57SDaniel Tang		bool "Kernel low-level debugging via TI-NSPIRE 8250 UART"
4549851ca57SDaniel Tang		depends on ARCH_NSPIRE
4554a003647SRussell King		select DEBUG_UART_8250
4569851ca57SDaniel Tang		help
4579851ca57SDaniel Tang		  Say Y here if you want kernel low-level debugging support
4589851ca57SDaniel Tang		  on TI-NSPIRE classic models.
4599851ca57SDaniel Tang
4609851ca57SDaniel Tang	config DEBUG_NSPIRE_CX_UART
4619851ca57SDaniel Tang		bool "Kernel low-level debugging via TI-NSPIRE PL011 UART"
4629851ca57SDaniel Tang		depends on ARCH_NSPIRE
4635c972af4SRussell King		select DEBUG_UART_PL01X
4649851ca57SDaniel Tang		help
4659851ca57SDaniel Tang		  Say Y here if you want kernel low-level debugging support
4669851ca57SDaniel Tang		  on TI-NSPIRE CX models.
4679851ca57SDaniel Tang
468cce278d2SRussell King	config DEBUG_OMAP2UART1
469cce278d2SRussell King		bool "OMAP2/3/4 UART1 (omap2/3 sdp boards and some omap3 boards)"
470808b7e07STony Lindgren		depends on ARCH_OMAP2PLUS
471cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
472808b7e07STony Lindgren		help
473cce278d2SRussell King		  This covers at least h4, 2430sdp, 3430sdp, 3630sdp,
474cce278d2SRussell King		  omap3 torpedo and 3530 lv som.
475cce278d2SRussell King
476cce278d2SRussell King	config DEBUG_OMAP2UART2
477cce278d2SRussell King		bool "Kernel low-level debugging messages via OMAP2/3/4 UART2"
478cce278d2SRussell King		depends on ARCH_OMAP2PLUS
479cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
480cce278d2SRussell King
481cce278d2SRussell King	config DEBUG_OMAP2UART3
482cce278d2SRussell King		bool "Kernel low-level debugging messages via OMAP2 UART3 (n8x0)"
483cce278d2SRussell King		depends on ARCH_OMAP2PLUS
484cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
485cce278d2SRussell King
486cce278d2SRussell King	config DEBUG_OMAP3UART3
487cce278d2SRussell King		bool "Kernel low-level debugging messages via OMAP3 UART3 (most omap3 boards)"
488cce278d2SRussell King		depends on ARCH_OMAP2PLUS
489cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
490cce278d2SRussell King		help
491cce278d2SRussell King		  This covers at least cm_t3x, beagle, crane, devkit8000,
492cce278d2SRussell King		  igep00x0, ldp, n900, n9(50), pandora, overo, touchbook,
493cce278d2SRussell King		  and 3517evm.
494cce278d2SRussell King
495cce278d2SRussell King	config DEBUG_OMAP4UART3
496cce278d2SRussell King		bool "Kernel low-level debugging messages via OMAP4/5 UART3 (omap4 blaze, panda, omap5 sevm)"
497cce278d2SRussell King		depends on ARCH_OMAP2PLUS
498cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
499cce278d2SRussell King
500cce278d2SRussell King	config DEBUG_OMAP3UART4
501cce278d2SRussell King		bool "Kernel low-level debugging messages via OMAP36XX UART4"
502cce278d2SRussell King		depends on ARCH_OMAP2PLUS
503cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
504cce278d2SRussell King
505cce278d2SRussell King	config DEBUG_OMAP4UART4
506cce278d2SRussell King		bool "Kernel low-level debugging messages via OMAP4/5 UART4"
507cce278d2SRussell King		depends on ARCH_OMAP2PLUS
508cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
509cce278d2SRussell King
510cce278d2SRussell King	config DEBUG_TI81XXUART1
511cce278d2SRussell King		bool "Kernel low-level debugging messages via TI81XX UART1 (ti8148evm)"
512cce278d2SRussell King		depends on ARCH_OMAP2PLUS
513cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
514cce278d2SRussell King
515cce278d2SRussell King	config DEBUG_TI81XXUART2
516cce278d2SRussell King		bool "Kernel low-level debugging messages via TI81XX UART2"
517cce278d2SRussell King		depends on ARCH_OMAP2PLUS
518cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
519cce278d2SRussell King
520cce278d2SRussell King	config DEBUG_TI81XXUART3
521cce278d2SRussell King		bool "Kernel low-level debugging messages via TI81XX UART3 (ti8168evm)"
522cce278d2SRussell King		depends on ARCH_OMAP2PLUS
523cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
524cce278d2SRussell King
525cce278d2SRussell King	config DEBUG_AM33XXUART1
526cce278d2SRussell King		bool "Kernel low-level debugging messages via AM33XX UART1"
527cce278d2SRussell King		depends on ARCH_OMAP2PLUS
528cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
529cce278d2SRussell King
530cce278d2SRussell King	config DEBUG_ZOOM_UART
531cce278d2SRussell King		bool "Kernel low-level debugging messages via Zoom2/3 UART"
532cce278d2SRussell King		depends on ARCH_OMAP2PLUS
533cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
534808b7e07STony Lindgren
53559bba2a9SRob Herring	config DEBUG_PICOXCELL_UART
53659bba2a9SRob Herring		depends on ARCH_PICOXCELL
53759bba2a9SRob Herring		bool "Use PicoXcell UART for low-level debug"
5380b4cccbeSRussell King		select DEBUG_UART_8250
53959bba2a9SRob Herring		help
54059bba2a9SRob Herring		  Say Y here if you want kernel low-level debugging support
54159bba2a9SRob Herring		  on PicoXcell based platforms.
54259bba2a9SRob Herring
5430a43cd3bSHaojian Zhuang	config DEBUG_PXA_UART1
5440a43cd3bSHaojian Zhuang		depends on ARCH_PXA
5450a43cd3bSHaojian Zhuang		bool "Use PXA UART1 for low-level debug"
5464a003647SRussell King		select DEBUG_UART_8250
5470a43cd3bSHaojian Zhuang		help
5480a43cd3bSHaojian Zhuang		  Say Y here if you want kernel low-level debugging support
5490a43cd3bSHaojian Zhuang		  on PXA UART1.
5500a43cd3bSHaojian Zhuang
551e76f4750SRussell King	config DEBUG_REALVIEW_STD_PORT
552e76f4750SRussell King		bool "RealView Default UART"
553e76f4750SRussell King		depends on ARCH_REALVIEW
5545c972af4SRussell King		select DEBUG_UART_PL01X
555e76f4750SRussell King		help
556e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
557e76f4750SRussell King		  their output to the serial port on RealView EB, PB11MP, PBA8
558e76f4750SRussell King		  and PBX platforms.
559e76f4750SRussell King
560e76f4750SRussell King	config DEBUG_REALVIEW_PB1176_PORT
561e76f4750SRussell King		bool "RealView PB1176 UART"
562e76f4750SRussell King		depends on MACH_REALVIEW_PB1176
5635c972af4SRussell King		select DEBUG_UART_PL01X
564e76f4750SRussell King		help
565e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
566e76f4750SRussell King		  their output to the standard serial port on the RealView
567e76f4750SRussell King		  PB1176 platform.
568e76f4750SRussell King
569cce278d2SRussell King	config DEBUG_RK29_UART0
570cce278d2SRussell King		bool "Kernel low-level debugging messages via Rockchip RK29 UART0"
57138bd6892SHeiko Stuebner		depends on ARCH_ROCKCHIP
5724a003647SRussell King		select DEBUG_UART_8250
573cce278d2SRussell King		help
574cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
575cce278d2SRussell King		  on Rockchip based platforms.
576cce278d2SRussell King
577cce278d2SRussell King	config DEBUG_RK29_UART1
578cce278d2SRussell King		bool "Kernel low-level debugging messages via Rockchip RK29 UART1"
579cce278d2SRussell King		depends on ARCH_ROCKCHIP
5804a003647SRussell King		select DEBUG_UART_8250
581cce278d2SRussell King		help
582cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
583cce278d2SRussell King		  on Rockchip based platforms.
584cce278d2SRussell King
585cce278d2SRussell King	config DEBUG_RK29_UART2
586cce278d2SRussell King		bool "Kernel low-level debugging messages via Rockchip RK29 UART2"
587cce278d2SRussell King		depends on ARCH_ROCKCHIP
5884a003647SRussell King		select DEBUG_UART_8250
589cce278d2SRussell King		help
590cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
591cce278d2SRussell King		  on Rockchip based platforms.
592cce278d2SRussell King
593cce278d2SRussell King	config DEBUG_RK3X_UART0
594cce278d2SRussell King		bool "Kernel low-level debugging messages via Rockchip RK3X UART0"
595cce278d2SRussell King		depends on ARCH_ROCKCHIP
5964a003647SRussell King		select DEBUG_UART_8250
597cce278d2SRussell King		help
598cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
599cce278d2SRussell King		  on Rockchip based platforms.
600cce278d2SRussell King
601cce278d2SRussell King	config DEBUG_RK3X_UART1
602cce278d2SRussell King		bool "Kernel low-level debugging messages via Rockchip RK3X UART1"
603cce278d2SRussell King		depends on ARCH_ROCKCHIP
6044a003647SRussell King		select DEBUG_UART_8250
605cce278d2SRussell King		help
606cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
607cce278d2SRussell King		  on Rockchip based platforms.
608cce278d2SRussell King
609cce278d2SRussell King	config DEBUG_RK3X_UART2
610cce278d2SRussell King		bool "Kernel low-level debugging messages via Rockchip RK3X UART2"
611cce278d2SRussell King		depends on ARCH_ROCKCHIP
6124a003647SRussell King		select DEBUG_UART_8250
613cce278d2SRussell King		help
614cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
615cce278d2SRussell King		  on Rockchip based platforms.
616cce278d2SRussell King
617cce278d2SRussell King	config DEBUG_RK3X_UART3
618cce278d2SRussell King		bool "Kernel low-level debugging messages via Rockchip RK3X UART3"
619cce278d2SRussell King		depends on ARCH_ROCKCHIP
6204a003647SRussell King		select DEBUG_UART_8250
62138bd6892SHeiko Stuebner		help
62238bd6892SHeiko Stuebner		  Say Y here if you want kernel low-level debugging support
62338bd6892SHeiko Stuebner		  on Rockchip based platforms.
62438bd6892SHeiko Stuebner
625e76f4750SRussell King	config DEBUG_S3C_UART0
626e76f4750SRussell King		depends on PLAT_SAMSUNG
627a2e40710SArnd Bergmann		select DEBUG_EXYNOS_UART if ARCH_EXYNOS
628e76f4750SRussell King		bool "Use S3C UART 0 for low-level debug"
629e76f4750SRussell King		help
630e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
631e76f4750SRussell King		  their output to UART 0. The port must have been initialised
632e76f4750SRussell King		  by the boot-loader before use.
633e76f4750SRussell King
634e76f4750SRussell King		  The uncompressor code port configuration is now handled
635e76f4750SRussell King		  by CONFIG_S3C_LOWLEVEL_UART_PORT.
636e76f4750SRussell King
637e76f4750SRussell King	config DEBUG_S3C_UART1
638e76f4750SRussell King		depends on PLAT_SAMSUNG
639a2e40710SArnd Bergmann		select DEBUG_EXYNOS_UART if ARCH_EXYNOS
640e76f4750SRussell King		bool "Use S3C UART 1 for low-level debug"
641e76f4750SRussell King		help
642e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
643e76f4750SRussell King		  their output to UART 1. The port must have been initialised
644e76f4750SRussell King		  by the boot-loader before use.
645e76f4750SRussell King
646e76f4750SRussell King		  The uncompressor code port configuration is now handled
647e76f4750SRussell King		  by CONFIG_S3C_LOWLEVEL_UART_PORT.
648e76f4750SRussell King
649e76f4750SRussell King	config DEBUG_S3C_UART2
650e76f4750SRussell King		depends on PLAT_SAMSUNG
651a2e40710SArnd Bergmann		select DEBUG_EXYNOS_UART if ARCH_EXYNOS
652e76f4750SRussell King		bool "Use S3C UART 2 for low-level debug"
653e76f4750SRussell King		help
654e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
655e76f4750SRussell King		  their output to UART 2. The port must have been initialised
656e76f4750SRussell King		  by the boot-loader before use.
657e76f4750SRussell King
658e76f4750SRussell King		  The uncompressor code port configuration is now handled
659e76f4750SRussell King		  by CONFIG_S3C_LOWLEVEL_UART_PORT.
660e76f4750SRussell King
6615fa23ddeSOlof Johansson	config DEBUG_S3C_UART3
6625fa23ddeSOlof Johansson		depends on PLAT_SAMSUNG && ARCH_EXYNOS
663a2e40710SArnd Bergmann		select DEBUG_EXYNOS_UART
6645fa23ddeSOlof Johansson		bool "Use S3C UART 3 for low-level debug"
6655fa23ddeSOlof Johansson		help
6665fa23ddeSOlof Johansson		  Say Y here if you want the debug print routines to direct
6675fa23ddeSOlof Johansson		  their output to UART 3. The port must have been initialised
6685fa23ddeSOlof Johansson		  by the boot-loader before use.
6695fa23ddeSOlof Johansson
6705fa23ddeSOlof Johansson		  The uncompressor code port configuration is now handled
6715fa23ddeSOlof Johansson		  by CONFIG_S3C_LOWLEVEL_UART_PORT.
6725fa23ddeSOlof Johansson
6736111bf7cSRob Herring	config DEBUG_SOCFPGA_UART
6746111bf7cSRob Herring		depends on ARCH_SOCFPGA
6756111bf7cSRob Herring		bool "Use SOCFPGA UART for low-level debug"
6760b4cccbeSRussell King		select DEBUG_UART_8250
6776111bf7cSRob Herring		help
6786111bf7cSRob Herring		  Say Y here if you want kernel low-level debugging support
6796111bf7cSRob Herring		  on SOCFPGA based platforms.
6806111bf7cSRob Herring
681aa25115aSStefan Roese	config DEBUG_SUNXI_UART0
682aa25115aSStefan Roese		bool "Kernel low-level debugging messages via sunXi UART0"
683aa25115aSStefan Roese		depends on ARCH_SUNXI
6844a003647SRussell King		select DEBUG_UART_8250
685aa25115aSStefan Roese		help
686aa25115aSStefan Roese		  Say Y here if you want kernel low-level debugging support
687aa25115aSStefan Roese		  on Allwinner A1X based platforms on the UART0.
688aa25115aSStefan Roese
689cb84fa18SMaxime Ripard	config DEBUG_SUNXI_UART1
690cb84fa18SMaxime Ripard		bool "Kernel low-level debugging messages via sunXi UART1"
691cb84fa18SMaxime Ripard		depends on ARCH_SUNXI
6924a003647SRussell King		select DEBUG_UART_8250
693cb84fa18SMaxime Ripard		help
694cb84fa18SMaxime Ripard		  Say Y here if you want kernel low-level debugging support
695cb84fa18SMaxime Ripard		  on Allwinner A1X based platforms on the UART1.
696cb84fa18SMaxime Ripard
697cce278d2SRussell King	config TEGRA_DEBUG_UART_AUTO_ODMDATA
698cce278d2SRussell King		bool "Kernel low-level debugging messages via Tegra UART via ODMDATA"
69946067803SStephen Warren		depends on ARCH_TEGRA
700cce278d2SRussell King		select DEBUG_TEGRA_UART
701cce278d2SRussell King		help
702cce278d2SRussell King		  Automatically determines which UART to use for low-level
703cce278d2SRussell King		  debug based on the ODMDATA value. This value is part of
704cce278d2SRussell King		  the BCT, and is written to the boot memory device using
705cce278d2SRussell King		  nvflash, or other flashing tool.  When bits 19:18 are 3,
706cce278d2SRussell King		  then bits 17:15 indicate which UART to use; 0/1/2/3/4
707cce278d2SRussell King		  are UART A/B/C/D/E.
708cce278d2SRussell King
709cce278d2SRussell King	config TEGRA_DEBUG_UARTA
710cce278d2SRussell King		bool "Kernel low-level debugging messages via Tegra UART A"
711cce278d2SRussell King		depends on ARCH_TEGRA
712cce278d2SRussell King		select DEBUG_TEGRA_UART
713cce278d2SRussell King		help
714cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
715cce278d2SRussell King		  on Tegra based platforms.
716cce278d2SRussell King
717cce278d2SRussell King	config TEGRA_DEBUG_UARTB
718cce278d2SRussell King		bool "Kernel low-level debugging messages via Tegra UART B"
719cce278d2SRussell King		depends on ARCH_TEGRA
720cce278d2SRussell King		select DEBUG_TEGRA_UART
721cce278d2SRussell King		help
722cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
723cce278d2SRussell King		  on Tegra based platforms.
724cce278d2SRussell King
725cce278d2SRussell King	config TEGRA_DEBUG_UARTC
726cce278d2SRussell King		bool "Kernel low-level debugging messages via Tegra UART C"
727cce278d2SRussell King		depends on ARCH_TEGRA
728cce278d2SRussell King		select DEBUG_TEGRA_UART
729cce278d2SRussell King		help
730cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
731cce278d2SRussell King		  on Tegra based platforms.
732cce278d2SRussell King
733cce278d2SRussell King	config TEGRA_DEBUG_UARTD
734cce278d2SRussell King		bool "Kernel low-level debugging messages via Tegra UART D"
735cce278d2SRussell King		depends on ARCH_TEGRA
736cce278d2SRussell King		select DEBUG_TEGRA_UART
737cce278d2SRussell King		help
738cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
739cce278d2SRussell King		  on Tegra based platforms.
740cce278d2SRussell King
741cce278d2SRussell King	config TEGRA_DEBUG_UARTE
742cce278d2SRussell King		bool "Kernel low-level debugging messages via Tegra UART E"
743cce278d2SRussell King		depends on ARCH_TEGRA
744cce278d2SRussell King		select DEBUG_TEGRA_UART
74546067803SStephen Warren		help
74646067803SStephen Warren		  Say Y here if you want kernel low-level debugging support
74746067803SStephen Warren		  on Tegra based platforms.
74846067803SStephen Warren
7497f46a107SBarry Song	config DEBUG_SIRFPRIMA2_UART1
7507f46a107SBarry Song		bool "Kernel low-level debugging messages via SiRFprimaII UART1"
7517f46a107SBarry Song		depends on ARCH_PRIMA2
7527f46a107SBarry Song		help
7537f46a107SBarry Song		  Say Y here if you want the debug print routines to direct
7547f46a107SBarry Song		  their output to the uart1 port on SiRFprimaII devices.
7557f46a107SBarry Song
7567f46a107SBarry Song	config DEBUG_SIRFMARCO_UART1
7577f46a107SBarry Song		bool "Kernel low-level debugging messages via SiRFmarco UART1"
7587f46a107SBarry Song		depends on ARCH_MARCO
7597f46a107SBarry Song		help
7607f46a107SBarry Song		  Say Y here if you want the debug print routines to direct
7617f46a107SBarry Song		  their output to the uart1 port on SiRFmarco devices.
7627f46a107SBarry Song
763cce278d2SRussell King	config STIH41X_DEBUG_ASC2
764cce278d2SRussell King		bool "Use StiH415/416 ASC2 UART for low-level debug"
7655562b800SArnd Bergmann		depends on ARCH_STI
766cce278d2SRussell King		select DEBUG_STI_UART
7675562b800SArnd Bergmann		help
7685562b800SArnd Bergmann		  Say Y here if you want kernel low-level debugging support
769cce278d2SRussell King		  on STiH415/416 based platforms like b2000, which has
770cce278d2SRussell King		  default UART wired up to ASC2.
771cce278d2SRussell King
772cce278d2SRussell King		  If unsure, say N.
773cce278d2SRussell King
774cce278d2SRussell King	config STIH41X_DEBUG_SBC_ASC1
775cce278d2SRussell King		bool "Use StiH415/416 SBC ASC1 UART for low-level debug"
776cce278d2SRussell King		depends on ARCH_STI
777cce278d2SRussell King		select DEBUG_STI_UART
778cce278d2SRussell King		help
779cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
780cce278d2SRussell King		  on STiH415/416 based platforms like b2020. which has
781cce278d2SRussell King		  default UART wired up to SBC ASC1.
7825562b800SArnd Bergmann
7835562b800SArnd Bergmann		  If unsure, say N.
7845562b800SArnd Bergmann
785dd324da7SLinus Walleij	config DEBUG_U300_UART
786dd324da7SLinus Walleij		bool "Kernel low-level debugging messages via U300 UART0"
787dd324da7SLinus Walleij		depends on ARCH_U300
7885c972af4SRussell King		select DEBUG_UART_PL01X
789dd324da7SLinus Walleij		help
790dd324da7SLinus Walleij		  Say Y here if you want the debug print routines to direct
791dd324da7SLinus Walleij		  their output to the uart port on U300 devices.
792dd324da7SLinus Walleij
793f87b95ddSLinus Walleij	config DEBUG_UX500_UART
794f87b95ddSLinus Walleij		depends on ARCH_U8500
795f87b95ddSLinus Walleij		bool "Use Ux500 UART for low-level debug"
796f87b95ddSLinus Walleij		help
797f87b95ddSLinus Walleij		  Say Y here if you want kernel low-level debugging support
798f87b95ddSLinus Walleij		  on Ux500 based platforms.
799f87b95ddSLinus Walleij
8001b820eafSPawel Moll	config DEBUG_VEXPRESS_UART0_DETECT
8011b820eafSPawel Moll		bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
8021b820eafSPawel Moll		depends on ARCH_VEXPRESS && CPU_CP15_MMU
8031b820eafSPawel Moll		help
8041b820eafSPawel Moll		  This option enables a simple heuristic which tries to determine
8051b820eafSPawel Moll		  the motherboard's memory map variant (original or RS1) and then
8061b820eafSPawel Moll		  choose the relevant UART0 base address.
8071b820eafSPawel Moll
8081b820eafSPawel Moll		  Note that this will only work with standard A-class core tiles,
8091b820eafSPawel Moll		  and may fail with non-standard SMM or custom software models.
8101b820eafSPawel Moll
8111b820eafSPawel Moll	config DEBUG_VEXPRESS_UART0_CA9
8121b820eafSPawel Moll		bool "Use PL011 UART0 at 0x10009000 (V2P-CA9 core tile)"
8131b820eafSPawel Moll		depends on ARCH_VEXPRESS
8145c972af4SRussell King		select DEBUG_UART_PL01X
8151b820eafSPawel Moll		help
8161b820eafSPawel Moll		  This option selects UART0 at 0x10009000. Except for custom models,
8171b820eafSPawel Moll		  this applies only to the V2P-CA9 tile.
8181b820eafSPawel Moll
8191b820eafSPawel Moll	config DEBUG_VEXPRESS_UART0_RS1
8201b820eafSPawel Moll		bool "Use PL011 UART0 at 0x1c090000 (RS1 complaint tiles)"
8211b820eafSPawel Moll		depends on ARCH_VEXPRESS
8225c972af4SRussell King		select DEBUG_UART_PL01X
8231b820eafSPawel Moll		help
8241b820eafSPawel Moll		  This option selects UART0 at 0x1c090000. This applies to most
8251b820eafSPawel Moll		  of the tiles using the RS1 memory map, including all new A-class
8261b820eafSPawel Moll		  core tiles, FPGA-based SMMs and software models.
8271b820eafSPawel Moll
828ed18bdc8SJonathan Austin	config DEBUG_VEXPRESS_UART0_CRX
829ed18bdc8SJonathan Austin		bool "Use PL011 UART0 at 0xb0090000 (Cortex-R compliant tiles)"
830ed18bdc8SJonathan Austin		depends on ARCH_VEXPRESS && !MMU
8315c972af4SRussell King		select DEBUG_UART_PL01X
832ed18bdc8SJonathan Austin		help
833ed18bdc8SJonathan Austin		  This option selects UART0 at 0xb0090000. This is appropriate for
834ed18bdc8SJonathan Austin		  Cortex-R series tiles and SMMs, such as Cortex-R5 and Cortex-R7
835ed18bdc8SJonathan Austin
836b61a2722STony Prisk	config DEBUG_VT8500_UART0
837b61a2722STony Prisk		bool "Use UART0 on VIA/Wondermedia SoCs"
838b61a2722STony Prisk		depends on ARCH_VT8500
839b61a2722STony Prisk		help
840b61a2722STony Prisk		  This option selects UART0 on VIA/Wondermedia System-on-a-chip
841b61a2722STony Prisk		  devices, including VT8500, WM8505, WM8650 and WM8850.
842b61a2722STony Prisk
843e76f4750SRussell King	config DEBUG_LL_UART_NONE
844e76f4750SRussell King		bool "No low-level debugging UART"
845387798b3SRob Herring		depends on !ARCH_MULTIPLATFORM
846e76f4750SRussell King		help
847e76f4750SRussell King		  Say Y here if your platform doesn't provide a UART option
848730cc26fSRussell King		  above. This relies on your platform choosing the right UART
849e76f4750SRussell King		  definition internally in order for low-level debugging to
850e76f4750SRussell King		  work.
851e76f4750SRussell King
852e76f4750SRussell King	config DEBUG_ICEDCC
853e76f4750SRussell King		bool "Kernel low-level debugging via EmbeddedICE DCC channel"
854e76f4750SRussell King		help
855e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
856e76f4750SRussell King		  their output to the EmbeddedICE macrocell's DCC channel using
857e76f4750SRussell King		  co-processor 14. This is known to work on the ARM9 style ICE
858e76f4750SRussell King		  channel and on the XScale with the PEEDI.
859e76f4750SRussell King
860e76f4750SRussell King		  Note that the system will appear to hang during boot if there
861e76f4750SRussell King		  is nothing connected to read from the DCC.
862e76f4750SRussell King
863b0df8986SRussell King	config DEBUG_SEMIHOSTING
86462194bdaSStephen Boyd		bool "Kernel low-level debug output via semihosting I/O"
865b0df8986SRussell King		help
866b0df8986SRussell King		  Semihosting enables code running on an ARM target to use
867b0df8986SRussell King		  the I/O facilities on a host debugger/emulator through a
86862194bdaSStephen Boyd		  simple SVC call. The host debugger or emulator must have
869b0df8986SRussell King		  semihosting enabled for the special svc call to be trapped
870b0df8986SRussell King		  otherwise the kernel will crash.
871b0df8986SRussell King
872b0df8986SRussell King		  This is known to work with OpenOCD, as well as
873b0df8986SRussell King		  ARM's Fast Models, or any other controlling environment
874b0df8986SRussell King		  that implements semihosting.
875b0df8986SRussell King
876b0df8986SRussell King		  For more details about semihosting, please see
877b0df8986SRussell King		  chapter 8 of DUI0203I_rvct_developer_guide.pdf from ARM Ltd.
878b0df8986SRussell King
879f8f1279cSRussell King	config DEBUG_LL_UART_8250
880f8f1279cSRussell King		bool "Kernel low-level debugging via 8250 UART"
881f8f1279cSRussell King		help
882f8f1279cSRussell King		  Say Y here if you wish the debug print routes to direct
883f8f1279cSRussell King		  their output to an 8250 UART.  You can use this option
884f8f1279cSRussell King		  to provide the parameters for the 8250 UART rather than
885f8f1279cSRussell King		  selecting one of the platform specific options above if
886f8f1279cSRussell King		  you know the parameters for the port.
887f8f1279cSRussell King
888f8f1279cSRussell King		  This option is preferred over the platform specific
889f8f1279cSRussell King		  options; the platform specific options are deprecated
890f8f1279cSRussell King		  and will be soon removed.
891f8f1279cSRussell King
892494e492dSUwe Kleine-König	config DEBUG_LL_UART_EFM32
893494e492dSUwe Kleine-König		bool "Kernel low-level debugging via efm32 UART"
894494e492dSUwe Kleine-König		depends on ARCH_EFM32
895494e492dSUwe Kleine-König		help
896494e492dSUwe Kleine-König		  Say Y here if you want the debug print routines to direct
897494e492dSUwe Kleine-König		  their output to an UART or USART port on efm32 based
898494e492dSUwe Kleine-König		  machines. Use the following addresses for DEBUG_UART_PHYS:
899494e492dSUwe Kleine-König
900494e492dSUwe Kleine-König		    0x4000c000 | USART0
901494e492dSUwe Kleine-König		    0x4000c400 | USART1
902494e492dSUwe Kleine-König		    0x4000c800 | USART2
903494e492dSUwe Kleine-König		    0x4000e000 | UART0
904494e492dSUwe Kleine-König		    0x4000e400 | UART1
905494e492dSUwe Kleine-König
906f8f1279cSRussell King	config DEBUG_LL_UART_PL01X
907f8f1279cSRussell King		bool "Kernel low-level debugging via ARM Ltd PL01x Primecell UART"
908f8f1279cSRussell King		help
909f8f1279cSRussell King		  Say Y here if you wish the debug print routes to direct
910f8f1279cSRussell King		  their output to a PL01x Primecell UART.  You can use
911f8f1279cSRussell King		  this option to provide the parameters for the UART
912f8f1279cSRussell King		  rather than selecting one of the platform specific
913f8f1279cSRussell King		  options above if you know the parameters for the port.
914f8f1279cSRussell King
915f8f1279cSRussell King		  This option is preferred over the platform specific
916f8f1279cSRussell King		  options; the platform specific options are deprecated
917f8f1279cSRussell King		  and will be soon removed.
918f8f1279cSRussell King
91917916b28SWill Deaconendchoice
92017916b28SWill Deacon
921a2e40710SArnd Bergmannconfig DEBUG_EXYNOS_UART
922a2e40710SArnd Bergmann	bool
923a2e40710SArnd Bergmann
924cce278d2SRussell Kingconfig DEBUG_OMAP2PLUS_UART
925cce278d2SRussell King	bool
926cce278d2SRussell King	depends on ARCH_OMAP2PLUS
927cce278d2SRussell King
928f8c95fe6SShawn Guoconfig DEBUG_IMX_UART_PORT
929f8c95fe6SShawn Guo	int "i.MX Debug UART Port Selection" if DEBUG_IMX1_UART || \
930f8c95fe6SShawn Guo						DEBUG_IMX25_UART || \
931f8c95fe6SShawn Guo						DEBUG_IMX21_IMX27_UART || \
932f8c95fe6SShawn Guo						DEBUG_IMX31_UART || \
933f8c95fe6SShawn Guo						DEBUG_IMX35_UART || \
934ad364a70SGreg Ungerer						DEBUG_IMX50_UART || \
935f8c95fe6SShawn Guo						DEBUG_IMX51_UART || \
9360c52db7eSPaul Bolle						DEBUG_IMX53_UART || \
93734e8a16bSShawn Guo						DEBUG_IMX6Q_UART || \
93834e8a16bSShawn Guo						DEBUG_IMX6SL_UART
93949c9e60eSShawn Guo	default 1
940287939a3SShawn Guo	depends on ARCH_MXC
94149c9e60eSShawn Guo	help
94249c9e60eSShawn Guo	  Choose UART port on which kernel low-level debug messages
94349c9e60eSShawn Guo	  should be output.
94449c9e60eSShawn Guo
945*cfdb7d56SStefan Agnerconfig DEBUG_VF_UART_PORT
946*cfdb7d56SStefan Agner	int "Vybrid Debug UART Port Selection" if DEBUG_VF_UART
947*cfdb7d56SStefan Agner	default 1
948*cfdb7d56SStefan Agner	range 0 3
949*cfdb7d56SStefan Agner	depends on SOC_VF610
950*cfdb7d56SStefan Agner	help
951*cfdb7d56SStefan Agner	  Choose UART port on which kernel low-level debug messages
952*cfdb7d56SStefan Agner	  should be output.
953*cfdb7d56SStefan Agner
954cce278d2SRussell Kingconfig DEBUG_TEGRA_UART
955cce278d2SRussell King	bool
956cce278d2SRussell King	depends on ARCH_TEGRA
957808b7e07STony Lindgren
958cce278d2SRussell Kingconfig DEBUG_STI_UART
959cce278d2SRussell King	bool
960cce278d2SRussell King	depends on ARCH_STI
9615026aecfSSrinivas Kandagatla
962c527c3b9SRohit Vaswaniconfig DEBUG_MSM_UART
963c527c3b9SRohit Vaswani	bool
9648fc1b0f8SKumar Gala	depends on ARCH_MSM || ARCH_QCOM
965c527c3b9SRohit Vaswani
96691a9fec0SRob Herringconfig DEBUG_LL_INCLUDE
96791a9fec0SRob Herring	string
968f8f1279cSRussell King	default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250
969f8f1279cSRussell King	default "debug/pl01x.S" if DEBUG_LL_UART_PL01X || DEBUG_UART_PL01X
970a2e40710SArnd Bergmann	default "debug/exynos.S" if DEBUG_EXYNOS_UART
971494e492dSUwe Kleine-König	default "debug/efm32.S" if DEBUG_LL_UART_EFM32
97291a9fec0SRob Herring	default "debug/icedcc.S" if DEBUG_ICEDCC
9736dde5ac5SShawn Guo	default "debug/imx.S" if DEBUG_IMX1_UART || \
9746dde5ac5SShawn Guo				 DEBUG_IMX25_UART || \
9756dde5ac5SShawn Guo				 DEBUG_IMX21_IMX27_UART || \
9764ad625d4SShawn Guo				 DEBUG_IMX31_UART || \
9774ad625d4SShawn Guo				 DEBUG_IMX35_UART || \
978ad364a70SGreg Ungerer				 DEBUG_IMX50_UART || \
9796dde5ac5SShawn Guo				 DEBUG_IMX51_UART || \
9807356420cSFabio Estevam				 DEBUG_IMX53_UART ||\
98134e8a16bSShawn Guo				 DEBUG_IMX6Q_UART || \
98234e8a16bSShawn Guo				 DEBUG_IMX6SL_UART
983c527c3b9SRohit Vaswani	default "debug/msm.S" if DEBUG_MSM_UART
984808b7e07STony Lindgren	default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART
98567bdb287SArnd Bergmann	default "debug/sirf.S" if DEBUG_SIRFPRIMA2_UART1 || DEBUG_SIRFMARCO_UART1
9865026aecfSSrinivas Kandagatla	default "debug/sti.S" if DEBUG_STI_UART
987150a8dcfSLinus Torvalds	default "debug/tegra.S" if DEBUG_TEGRA_UART
988150a8dcfSLinus Torvalds	default "debug/ux500.S" if DEBUG_UX500_UART
9894e218b99SRussell King	default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT
990c7c3eac6SShawn Guo	default "debug/vf.S" if DEBUG_VF_UART
991b61a2722STony Prisk	default "debug/vt8500.S" if DEBUG_VT8500_UART0
992385f02b1SJosh Cartwright	default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1
99391a9fec0SRob Herring	default "mach/debug-macro.S"
99491a9fec0SRob Herring
995f8f1279cSRussell King# Compatibility options for PL01x
9965c972af4SRussell Kingconfig DEBUG_UART_PL01X
9975c972af4SRussell King	def_bool ARCH_EP93XX || \
9985c972af4SRussell King		ARCH_INTEGRATOR || \
9990dc0e475SRussell King		ARCH_SPEAR3XX || \
10000dc0e475SRussell King		ARCH_SPEAR6XX || \
10010dc0e475SRussell King		ARCH_SPEAR13XX || \
10025c972af4SRussell King		ARCH_VERSATILE
10035c972af4SRussell King
1004f8f1279cSRussell King# Compatibility options for 8250
10057610b607SRussell Kingconfig DEBUG_UART_8250
10064a003647SRussell King	def_bool ARCH_DOVE || ARCH_EBSA110 || \
10074a003647SRussell King		(FOOTBRIDGE && !DEBUG_DC21285_PORT) || \
10084a003647SRussell King		ARCH_GEMINI || ARCH_IOP13XX || ARCH_IOP32X || \
10094a003647SRussell King		ARCH_IOP33X || ARCH_IXP4XX || ARCH_KIRKWOOD || \
10104a003647SRussell King		ARCH_LPC32XX || ARCH_MV78XX0 || ARCH_ORION5X || ARCH_RPC
10114a003647SRussell King
1012c3faa9b7SRussell Kingconfig DEBUG_UART_PHYS
1013c3faa9b7SRussell King	hex "Physical base address of debug UART"
101497bd1a48SRussell King	default 0x01c20000 if DEBUG_DAVINCI_DMx_UART0
1015c3faa9b7SRussell King	default 0x01c28000 if DEBUG_SUNXI_UART0
1016c3faa9b7SRussell King	default 0x01c28400 if DEBUG_SUNXI_UART1
101797bd1a48SRussell King	default 0x01d0c000 if DEBUG_DAVINCI_DA8XX_UART1
101897bd1a48SRussell King	default 0x01d0d000 if DEBUG_DAVINCI_DA8XX_UART2
1019f2acf003SRussell King	default 0x02530c00 if DEBUG_KEYSTONE_UART0
1020f2acf003SRussell King	default 0x02531000 if DEBUG_KEYSTONE_UART1
1021c3faa9b7SRussell King	default 0x03010fe0 if ARCH_RPC
10225c972af4SRussell King	default 0x10009000 if DEBUG_REALVIEW_STD_PORT || DEBUG_CNS3XXX || \
10235c972af4SRussell King				DEBUG_VEXPRESS_UART0_CA9
10245c972af4SRussell King	default 0x1010c000 if DEBUG_REALVIEW_PB1176_PORT
1025c3faa9b7SRussell King	default 0x10124000 if DEBUG_RK3X_UART0
1026c3faa9b7SRussell King	default 0x10126000 if DEBUG_RK3X_UART1
10275c972af4SRussell King	default 0x101f1000 if ARCH_VERSATILE
10285c972af4SRussell King	default 0x101fb000 if DEBUG_NOMADIK_UART
10295c972af4SRussell King	default 0x16000000 if ARCH_INTEGRATOR
103006580275SHauke Mehrtens	default 0x18000300 if DEBUG_BCM_5301X
10315c972af4SRussell King	default 0x1c090000 if DEBUG_VEXPRESS_UART0_RS1
1032c3faa9b7SRussell King	default 0x20060000 if DEBUG_RK29_UART0
1033c3faa9b7SRussell King	default 0x20064000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1034c3faa9b7SRussell King	default 0x20068000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
10355c972af4SRussell King	default 0x20201000 if DEBUG_BCM2835
1036753d1243SChristian Daudt	default 0x3e000000 if DEBUG_BCM_KONA_UART
1037494e492dSUwe Kleine-König	default 0x4000e400 if DEBUG_LL_UART_EFM32
1038c3faa9b7SRussell King	default 0x40090000 if ARCH_LPC32XX
1039c3faa9b7SRussell King	default 0x40100000 if DEBUG_PXA_UART1
1040c3faa9b7SRussell King	default 0x42000000 if ARCH_GEMINI
1041c3faa9b7SRussell King	default 0x7c0003f8 if FOOTBRIDGE
10425c972af4SRussell King	default 0x80070000 if DEBUG_IMX23_UART
10435c972af4SRussell King	default 0x80074000 if DEBUG_IMX28_UART
1044c39e1ef7SAlexander Shiyan	default 0x80230000 if DEBUG_PICOXCELL_UART
10455c972af4SRussell King	default 0x808c0000 if ARCH_EP93XX
10465c972af4SRussell King	default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
10475c972af4SRussell King	default 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX
10485c972af4SRussell King	default 0xc0013000 if DEBUG_U300_UART
1049c3faa9b7SRussell King	default 0xc8000000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1050c3faa9b7SRussell King	default 0xc8000003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
10510dc0e475SRussell King	default 0xd0000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
1052c3faa9b7SRussell King	default 0xd0012000 if DEBUG_MVEBU_UART
1053c3faa9b7SRussell King	default 0xd4017000 if DEBUG_MMP_UART2
1054c3faa9b7SRussell King	default 0xd4018000 if DEBUG_MMP_UART3
10550dc0e475SRussell King	default 0xe0000000 if ARCH_SPEAR13XX
1056c3faa9b7SRussell King	default 0xf0000be0 if ARCH_EBSA110
1057c3faa9b7SRussell King	default 0xf1012000 if DEBUG_MVEBU_UART_ALTERNATE
1058c3faa9b7SRussell King	default 0xf1012000 if ARCH_DOVE || ARCH_KIRKWOOD || ARCH_MV78XX0 || \
1059c3faa9b7SRussell King				ARCH_ORION5X
1060caad0b41SSebastian Hesselbarth	default 0xf7fc9000 if DEBUG_BERLIN_UART
10618d258bebSHaojian Zhuang	default 0xf8b00000 if DEBUG_HI3716_UART
10628d258bebSHaojian Zhuang	default 0xfcb00000 if DEBUG_HI3620_UART
1063c3faa9b7SRussell King	default 0xfe800000 if ARCH_IOP32X
10640b4cccbeSRussell King	default 0xffc02000 if DEBUG_SOCFPGA_UART
1065c3faa9b7SRussell King	default 0xffd82340 if ARCH_IOP13XX
10665c972af4SRussell King	default 0xfff36000 if DEBUG_HIGHBANK_UART
1067c3faa9b7SRussell King	default 0xfffff700 if ARCH_IOP33X
1068f8f1279cSRussell King	depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1069494e492dSUwe Kleine-König		DEBUG_LL_UART_EFM32 || \
1070f8f1279cSRussell King		DEBUG_UART_8250 || DEBUG_UART_PL01X
1071c3faa9b7SRussell King
1072c3faa9b7SRussell Kingconfig DEBUG_UART_VIRT
1073c3faa9b7SRussell King	hex "Virtual base address of debug UART"
1074c3faa9b7SRussell King	default 0xe0010fe0 if ARCH_RPC
1075c3faa9b7SRussell King	default 0xf0000be0 if ARCH_EBSA110
10765c972af4SRussell King	default 0xf0009000 if DEBUG_CNS3XXX
10775c972af4SRussell King	default 0xf01fb000 if DEBUG_NOMADIK_UART
10785c972af4SRussell King	default 0xf0201000 if DEBUG_BCM2835
107906580275SHauke Mehrtens	default 0xf1000300 if DEBUG_BCM_5301X
10805c972af4SRussell King	default 0xf11f1000 if ARCH_VERSATILE
10815c972af4SRussell King	default 0xf1600000 if ARCH_INTEGRATOR
1082c3faa9b7SRussell King	default 0xf1c28000 if DEBUG_SUNXI_UART0
1083c3faa9b7SRussell King	default 0xf1c28400 if DEBUG_SUNXI_UART1
1084c3faa9b7SRussell King	default 0xf2100000 if DEBUG_PXA_UART1
1085c3faa9b7SRussell King	default 0xf4090000 if ARCH_LPC32XX
1086c3faa9b7SRussell King	default 0xf4200000 if ARCH_GEMINI
1087caad0b41SSebastian Hesselbarth	default 0xf7fc9000 if DEBUG_BERLIN_UART
10885c972af4SRussell King	default 0xf8009000 if DEBUG_VEXPRESS_UART0_CA9
10895c972af4SRussell King	default 0xf8090000 if DEBUG_VEXPRESS_UART0_RS1
10905c972af4SRussell King	default 0xfb009000 if DEBUG_REALVIEW_STD_PORT
10915c972af4SRussell King	default 0xfb10c000 if DEBUG_REALVIEW_PB1176_PORT
10920dc0e475SRussell King	default 0xfd000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
10930dc0e475SRussell King	default 0xfd000000 if ARCH_SPEAR13XX
1094c3faa9b7SRussell King	default 0xfd012000 if ARCH_MV78XX0
1095c3faa9b7SRussell King	default 0xfde12000 if ARCH_DOVE
1096c3faa9b7SRussell King	default 0xfe012000 if ARCH_ORION5X
1097c3faa9b7SRussell King	default 0xfe017000 if DEBUG_MMP_UART2
1098c3faa9b7SRussell King	default 0xfe018000 if DEBUG_MMP_UART3
10995c972af4SRussell King	default 0xfe100000 if DEBUG_IMX23_UART || DEBUG_IMX28_UART
11000b4cccbeSRussell King	default 0xfe230000 if DEBUG_PICOXCELL_UART
1101753d1243SChristian Daudt	default 0xfe300000 if DEBUG_BCM_KONA_UART
1102c3faa9b7SRussell King	default 0xfe800000 if ARCH_IOP32X
11038d258bebSHaojian Zhuang	default 0xfeb00000 if DEBUG_HI3620_UART || DEBUG_HI3716_UART
1104c3faa9b7SRussell King	default 0xfeb24000 if DEBUG_RK3X_UART0
1105c3faa9b7SRussell King	default 0xfeb26000 if DEBUG_RK3X_UART1
1106f2acf003SRussell King	default 0xfeb30c00 if DEBUG_KEYSTONE_UART0
1107f2acf003SRussell King	default 0xfeb31000 if DEBUG_KEYSTONE_UART1
11080b4cccbeSRussell King	default 0xfec02000 if DEBUG_SOCFPGA_UART
1109c39e1ef7SAlexander Shiyan	default 0xfec12000 if DEBUG_MVEBU_UART || DEBUG_MVEBU_UART_ALTERNATE
111097bd1a48SRussell King	default 0xfec20000 if DEBUG_DAVINCI_DMx_UART0
111197bd1a48SRussell King	default 0xfed0c000 if DEBUG_DAVINCI_DA8XX_UART1
111297bd1a48SRussell King	default 0xfed0d000 if DEBUG_DAVINCI_DA8XX_UART2
1113c3faa9b7SRussell King	default 0xfed12000 if ARCH_KIRKWOOD
1114c39e1ef7SAlexander Shiyan	default 0xfed60000 if DEBUG_RK29_UART0
1115c39e1ef7SAlexander Shiyan	default 0xfed64000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1116c39e1ef7SAlexander Shiyan	default 0xfed68000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
11175c972af4SRussell King	default 0xfedc0000 if ARCH_EP93XX
1118c3faa9b7SRussell King	default 0xfee003f8 if FOOTBRIDGE
11195c972af4SRussell King	default 0xfee20000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
1120c3faa9b7SRussell King	default 0xfee82340 if ARCH_IOP13XX
1121c3faa9b7SRussell King	default 0xfef00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1122c3faa9b7SRussell King	default 0xfef00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
1123c39e1ef7SAlexander Shiyan	default 0xfef36000 if DEBUG_HIGHBANK_UART
1124c3faa9b7SRussell King	default 0xfefff700 if ARCH_IOP33X
11255c972af4SRussell King	default 0xff003000 if DEBUG_U300_UART
11265c972af4SRussell King	default DEBUG_UART_PHYS if !MMU
1127f8f1279cSRussell King	depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1128f8f1279cSRussell King		DEBUG_UART_8250 || DEBUG_UART_PL01X
1129c3faa9b7SRussell King
11304a003647SRussell Kingconfig DEBUG_UART_8250_SHIFT
11314a003647SRussell King	int "Register offset shift for the 8250 debug UART"
1132f8f1279cSRussell King	depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
11334a003647SRussell King	default 0 if FOOTBRIDGE || ARCH_IOP32X
11344a003647SRussell King	default 2
11357610b607SRussell King
11360b4cccbeSRussell Kingconfig DEBUG_UART_8250_WORD
11370b4cccbeSRussell King	bool "Use 32-bit accesses for 8250 UART"
1138f8f1279cSRussell King	depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
11390b4cccbeSRussell King	depends on DEBUG_UART_8250_SHIFT >= 2
1140f2acf003SRussell King	default y if DEBUG_PICOXCELL_UART || DEBUG_SOCFPGA_UART || \
114197bd1a48SRussell King		ARCH_KEYSTONE || \
114297bd1a48SRussell King		DEBUG_DAVINCI_DMx_UART0 || DEBUG_DAVINCI_DA8XX_UART1 || \
11439d6eccb9SArnd Bergmann		DEBUG_DAVINCI_DA8XX_UART2 || \
1144753d1243SChristian Daudt		DEBUG_BCM_KONA_UART
11450b4cccbeSRussell King
11467610b607SRussell Kingconfig DEBUG_UART_8250_FLOW_CONTROL
11477610b607SRussell King	bool "Enable flow control for 8250 UART"
1148f8f1279cSRussell King	depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
11497610b607SRussell King	default y if ARCH_EBSA110 || FOOTBRIDGE || ARCH_GEMINI || ARCH_RPC
11507610b607SRussell King
11513b4af9bcSShawn Guoconfig DEBUG_UNCOMPRESS
11523b4af9bcSShawn Guo	bool
115390266754SHeiko Stuebner	depends on ARCH_MULTIPLATFORM || ARCH_MSM || PLAT_SAMSUNG
1154b6992fa9SRussell King	default y if DEBUG_LL && !DEBUG_OMAP2PLUS_UART && \
1155ae3c99a2SStephen Warren		     (!DEBUG_TEGRA_UART || !ZBOOT_ROM)
1156b6992fa9SRussell King	help
1157b6992fa9SRussell King	  This option influences the normal decompressor output for
1158b6992fa9SRussell King	  multiplatform kernels.  Normally, multiplatform kernels disable
1159b6992fa9SRussell King	  decompressor output because it is not possible to know where to
1160b6992fa9SRussell King	  send the decompressor output.
1161b6992fa9SRussell King
1162b6992fa9SRussell King	  When this option is set, the selected DEBUG_LL output method
1163b6992fa9SRussell King	  will be re-used for normal decompressor output on multiplatform
1164b6992fa9SRussell King	  kernels.
1165b6992fa9SRussell King
11663b4af9bcSShawn Guo
1167615967b0SShawn Guoconfig UNCOMPRESS_INCLUDE
1168615967b0SShawn Guo	string
1169ffd80eccSSachin Kamat	default "debug/uncompress.h" if ARCH_MULTIPLATFORM || ARCH_MSM || \
11702bf73dd6SLinus Torvalds					PLAT_SAMSUNG || ARCH_EFM32
1171615967b0SShawn Guo	default "mach/uncompress.h"
1172615967b0SShawn Guo
117393fd03a8SCatalin Marinasconfig EARLY_PRINTK
117493fd03a8SCatalin Marinas	bool "Early printk"
117593fd03a8SCatalin Marinas	depends on DEBUG_LL
117693fd03a8SCatalin Marinas	help
117793fd03a8SCatalin Marinas	  Say Y here if you want to have an early console using the
117893fd03a8SCatalin Marinas	  kernel low-level debugging functions. Add earlyprintk to your
117993fd03a8SCatalin Marinas	  kernel parameters to enable this console.
118093fd03a8SCatalin Marinas
1181c5d6c770SAlexander Shishkinconfig OC_ETM
1182c5d6c770SAlexander Shishkin	bool "On-chip ETM and ETB"
118353eebb0dSArnd Bergmann	depends on ARM_AMBA
1184c5d6c770SAlexander Shishkin	help
1185c5d6c770SAlexander Shishkin	  Enables the on-chip embedded trace macrocell and embedded trace
1186c5d6c770SAlexander Shishkin	  buffer driver that will allow you to collect traces of the
1187c5d6c770SAlexander Shishkin	  kernel code.
1188c5d6c770SAlexander Shishkin
11894189bc71SJon Medhurstconfig ARM_KPROBES_TEST
11904189bc71SJon Medhurst	tristate "Kprobes test module"
11914189bc71SJon Medhurst	depends on KPROBES && MODULES
11924189bc71SJon Medhurst	help
11934189bc71SJon Medhurst	  Perform tests of kprobes API and instruction set simulation.
11944189bc71SJon Medhurst
1195575320d6SWill Deaconconfig PID_IN_CONTEXTIDR
1196575320d6SWill Deacon	bool "Write the current PID to the CONTEXTIDR register"
1197575320d6SWill Deacon	depends on CPU_COPY_V6
1198575320d6SWill Deacon	help
1199575320d6SWill Deacon	  Enabling this option causes the kernel to write the current PID to
1200575320d6SWill Deacon	  the PROCID field of the CONTEXTIDR register, at the expense of some
1201575320d6SWill Deacon	  additional instructions during context switch. Say Y here only if you
1202575320d6SWill Deacon	  are planning to use hardware trace tools with this kernel.
1203575320d6SWill Deacon
1204dca9aa92SLaura Abbottconfig DEBUG_SET_MODULE_RONX
1205dca9aa92SLaura Abbott	bool "Set loadable kernel module data as NX and text as RO"
1206dca9aa92SLaura Abbott	depends on MODULES
1207dca9aa92SLaura Abbott	---help---
1208dca9aa92SLaura Abbott	  This option helps catch unintended modifications to loadable
1209dca9aa92SLaura Abbott	  kernel module's text and read-only data. It also prevents execution
1210dca9aa92SLaura Abbott	  of module data. Such protection may interfere with run-time code
1211dca9aa92SLaura Abbott	  patching and dynamic kernel tracing - and they might also protect
1212dca9aa92SLaura Abbott	  against certain classes of kernel exploits.
1213dca9aa92SLaura Abbott	  If in doubt, say "N".
1214dca9aa92SLaura Abbott
12151da177e4SLinus Torvaldsendmenu
1216