Kconfig.debug 41 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260
  1. menu "Kernel hacking"
  2. source "lib/Kconfig.debug"
  3. config ARM_PTDUMP
  4. bool "Export kernel pagetable layout to userspace via debugfs"
  5. depends on DEBUG_KERNEL
  6. select DEBUG_FS
  7. ---help---
  8. Say Y here if you want to show the kernel pagetable layout in a
  9. debugfs file. This information is only useful for kernel developers
  10. who are working in architecture specific areas of the kernel.
  11. It is probably not a good idea to enable this feature in a production
  12. kernel.
  13. If in doubt, say "N"
  14. config STRICT_DEVMEM
  15. bool "Filter access to /dev/mem"
  16. depends on MMU
  17. ---help---
  18. If this option is disabled, you allow userspace (root) access to all
  19. of memory, including kernel and userspace memory. Accidental
  20. access to this is obviously disastrous, but specific access can
  21. be used by people debugging the kernel.
  22. If this option is switched on, the /dev/mem file only allows
  23. userspace access to memory mapped peripherals.
  24. If in doubt, say Y.
  25. # RMK wants arm kernels compiled with frame pointers or stack unwinding.
  26. # If you know what you are doing and are willing to live without stack
  27. # traces, you can get a slightly smaller kernel by setting this option to
  28. # n, but then RMK will have to kill you ;).
  29. config FRAME_POINTER
  30. bool
  31. depends on !THUMB2_KERNEL
  32. default y if !ARM_UNWIND || FUNCTION_GRAPH_TRACER
  33. help
  34. If you say N here, the resulting kernel will be slightly smaller and
  35. faster. However, if neither FRAME_POINTER nor ARM_UNWIND are enabled,
  36. when a problem occurs with the kernel, the information that is
  37. reported is severely limited.
  38. config ARM_UNWIND
  39. bool "Enable stack unwinding support (EXPERIMENTAL)"
  40. depends on AEABI
  41. default y
  42. help
  43. This option enables stack unwinding support in the kernel
  44. using the information automatically generated by the
  45. compiler. The resulting kernel image is slightly bigger but
  46. the performance is not affected. Currently, this feature
  47. only works with EABI compilers. If unsure say Y.
  48. config OLD_MCOUNT
  49. bool
  50. depends on FUNCTION_TRACER && FRAME_POINTER
  51. default y
  52. config DEBUG_USER
  53. bool "Verbose user fault messages"
  54. help
  55. When a user program crashes due to an exception, the kernel can
  56. print a brief message explaining what the problem was. This is
  57. sometimes helpful for debugging but serves no purpose on a
  58. production system. Most people should say N here.
  59. In addition, you need to pass user_debug=N on the kernel command
  60. line to enable this feature. N consists of the sum of:
  61. 1 - undefined instruction events
  62. 2 - system calls
  63. 4 - invalid data aborts
  64. 8 - SIGSEGV faults
  65. 16 - SIGBUS faults
  66. # These options are only for real kernel hackers who want to get their hands dirty.
  67. config DEBUG_LL
  68. bool "Kernel low-level debugging functions (read help!)"
  69. depends on DEBUG_KERNEL
  70. help
  71. Say Y here to include definitions of printascii, printch, printhex
  72. in the kernel. This is helpful if you are debugging code that
  73. executes before the console is initialized.
  74. Note that selecting this option will limit the kernel to a single
  75. UART definition, as specified below. Attempting to boot the kernel
  76. image on a different platform *will not work*, so this option should
  77. not be enabled for kernels that are intended to be portable.
  78. choice
  79. prompt "Kernel low-level debugging port"
  80. depends on DEBUG_LL
  81. config AT91_DEBUG_LL_DBGU0
  82. bool "Kernel low-level debugging on rm9200, 9260/9g20, 9261/9g10 and 9rl"
  83. depends on HAVE_AT91_DBGU0
  84. config AT91_DEBUG_LL_DBGU1
  85. bool "Kernel low-level debugging on 9263 and 9g45"
  86. depends on HAVE_AT91_DBGU1
  87. config DEBUG_BCM2835
  88. bool "Kernel low-level debugging on BCM2835 PL011 UART"
  89. depends on ARCH_BCM2835
  90. select DEBUG_UART_PL01X
  91. config DEBUG_BCM_5301X
  92. bool "Kernel low-level debugging on BCM5301X UART1"
  93. depends on ARCH_BCM_5301X
  94. select DEBUG_UART_PL01X
  95. config DEBUG_BCM_KONA_UART
  96. bool "Kernel low-level debugging messages via BCM KONA UART"
  97. depends on ARCH_BCM_MOBILE
  98. select DEBUG_UART_8250
  99. help
  100. Say Y here if you want kernel low-level debugging support
  101. on Broadcom SoC platforms.
  102. This low level debug works for Broadcom
  103. mobile SoCs in the Kona family of chips (e.g. bcm28155,
  104. bcm11351, etc...)
  105. config DEBUG_BERLIN_UART
  106. bool "Marvell Berlin SoC Debug UART"
  107. depends on ARCH_BERLIN
  108. select DEBUG_UART_8250
  109. help
  110. Say Y here if you want kernel low-level debugging support
  111. on Marvell Berlin SoC based platforms.
  112. config DEBUG_CLPS711X_UART1
  113. bool "Kernel low-level debugging messages via UART1"
  114. depends on ARCH_CLPS711X
  115. help
  116. Say Y here if you want the debug print routines to direct
  117. their output to the first serial port on these devices.
  118. config DEBUG_CLPS711X_UART2
  119. bool "Kernel low-level debugging messages via UART2"
  120. depends on ARCH_CLPS711X
  121. help
  122. Say Y here if you want the debug print routines to direct
  123. their output to the second serial port on these devices.
  124. config DEBUG_CNS3XXX
  125. bool "Kernel Kernel low-level debugging on Cavium Networks CNS3xxx"
  126. depends on ARCH_CNS3XXX
  127. select DEBUG_UART_PL01X
  128. help
  129. Say Y here if you want the debug print routines to direct
  130. their output to the CNS3xxx UART0.
  131. config DEBUG_DAVINCI_DA8XX_UART1
  132. bool "Kernel low-level debugging on DaVinci DA8XX using UART1"
  133. depends on ARCH_DAVINCI_DA8XX
  134. select DEBUG_UART_8250
  135. help
  136. Say Y here if you want the debug print routines to direct
  137. their output to UART1 serial port on DaVinci DA8XX devices.
  138. config DEBUG_DAVINCI_DA8XX_UART2
  139. bool "Kernel low-level debugging on DaVinci DA8XX using UART2"
  140. depends on ARCH_DAVINCI_DA8XX
  141. select DEBUG_UART_8250
  142. help
  143. Say Y here if you want the debug print routines to direct
  144. their output to UART2 serial port on DaVinci DA8XX devices.
  145. config DEBUG_DAVINCI_DMx_UART0
  146. bool "Kernel low-level debugging on DaVinci DMx using UART0"
  147. depends on ARCH_DAVINCI_DMx
  148. select DEBUG_UART_8250
  149. help
  150. Say Y here if you want the debug print routines to direct
  151. their output to UART0 serial port on DaVinci DMx devices.
  152. config DEBUG_ZYNQ_UART0
  153. bool "Kernel low-level debugging on Xilinx Zynq using UART0"
  154. depends on ARCH_ZYNQ
  155. help
  156. Say Y here if you want the debug print routines to direct
  157. their output to UART0 on the Zynq platform.
  158. config DEBUG_ZYNQ_UART1
  159. bool "Kernel low-level debugging on Xilinx Zynq using UART1"
  160. depends on ARCH_ZYNQ
  161. help
  162. Say Y here if you want the debug print routines to direct
  163. their output to UART1 on the Zynq platform.
  164. If you have a ZC702 board and want early boot messages to
  165. appear on the USB serial adaptor, select this option.
  166. config DEBUG_DC21285_PORT
  167. bool "Kernel low-level debugging messages via footbridge serial port"
  168. depends on FOOTBRIDGE
  169. help
  170. Say Y here if you want the debug print routines to direct
  171. their output to the serial port in the DC21285 (Footbridge).
  172. config DEBUG_FOOTBRIDGE_COM1
  173. bool "Kernel low-level debugging messages via footbridge 8250 at PCI COM1"
  174. depends on FOOTBRIDGE
  175. help
  176. Say Y here if you want the debug print routines to direct
  177. their output to the 8250 at PCI COM1.
  178. config DEBUG_HI3620_UART
  179. bool "Hisilicon HI3620 Debug UART"
  180. depends on ARCH_HI3xxx
  181. select DEBUG_UART_PL01X
  182. help
  183. Say Y here if you want kernel low-level debugging support
  184. on HI3620 UART.
  185. config DEBUG_HI3716_UART
  186. bool "Hisilicon Hi3716 Debug UART"
  187. depends on ARCH_HI3xxx
  188. select DEBUG_UART_PL01X
  189. help
  190. Say Y here if you want kernel low-level debugging support
  191. on HI3716 UART.
  192. config DEBUG_HIGHBANK_UART
  193. bool "Kernel low-level debugging messages via Highbank UART"
  194. depends on ARCH_HIGHBANK
  195. select DEBUG_UART_PL01X
  196. help
  197. Say Y here if you want the debug print routines to direct
  198. their output to the UART on Highbank based devices.
  199. config DEBUG_IMX1_UART
  200. bool "i.MX1 Debug UART"
  201. depends on SOC_IMX1
  202. help
  203. Say Y here if you want kernel low-level debugging support
  204. on i.MX1.
  205. config DEBUG_IMX23_UART
  206. bool "i.MX23 Debug UART"
  207. depends on SOC_IMX23
  208. select DEBUG_UART_PL01X
  209. help
  210. Say Y here if you want kernel low-level debugging support
  211. on i.MX23.
  212. config DEBUG_IMX25_UART
  213. bool "i.MX25 Debug UART"
  214. depends on SOC_IMX25
  215. help
  216. Say Y here if you want kernel low-level debugging support
  217. on i.MX25.
  218. config DEBUG_IMX21_IMX27_UART
  219. bool "i.MX21 and i.MX27 Debug UART"
  220. depends on SOC_IMX21 || SOC_IMX27
  221. help
  222. Say Y here if you want kernel low-level debugging support
  223. on i.MX21 or i.MX27.
  224. config DEBUG_IMX28_UART
  225. bool "i.MX28 Debug UART"
  226. depends on SOC_IMX28
  227. select DEBUG_UART_PL01X
  228. help
  229. Say Y here if you want kernel low-level debugging support
  230. on i.MX28.
  231. config DEBUG_IMX31_UART
  232. bool "i.MX31 Debug UART"
  233. depends on SOC_IMX31
  234. help
  235. Say Y here if you want kernel low-level debugging support
  236. on i.MX31.
  237. config DEBUG_IMX35_UART
  238. bool "i.MX35 Debug UART"
  239. depends on SOC_IMX35
  240. help
  241. Say Y here if you want kernel low-level debugging support
  242. on i.MX35.
  243. config DEBUG_IMX50_UART
  244. bool "i.MX50 Debug UART"
  245. depends on SOC_IMX50
  246. help
  247. Say Y here if you want kernel low-level debugging support
  248. on i.MX50.
  249. config DEBUG_IMX51_UART
  250. bool "i.MX51 Debug UART"
  251. depends on SOC_IMX51
  252. help
  253. Say Y here if you want kernel low-level debugging support
  254. on i.MX51.
  255. config DEBUG_IMX53_UART
  256. bool "i.MX53 Debug UART"
  257. depends on SOC_IMX53
  258. help
  259. Say Y here if you want kernel low-level debugging support
  260. on i.MX53.
  261. config DEBUG_IMX6Q_UART
  262. bool "i.MX6Q/DL Debug UART"
  263. depends on SOC_IMX6Q
  264. help
  265. Say Y here if you want kernel low-level debugging support
  266. on i.MX6Q/DL.
  267. config DEBUG_IMX6SL_UART
  268. bool "i.MX6SL Debug UART"
  269. depends on SOC_IMX6SL
  270. help
  271. Say Y here if you want kernel low-level debugging support
  272. on i.MX6SL.
  273. config DEBUG_IMX6SX_UART
  274. bool "i.MX6SX Debug UART"
  275. depends on SOC_IMX6SX
  276. help
  277. Say Y here if you want kernel low-level debugging support
  278. on i.MX6SX.
  279. config DEBUG_KEYSTONE_UART0
  280. bool "Kernel low-level debugging on KEYSTONE2 using UART0"
  281. depends on ARCH_KEYSTONE
  282. select DEBUG_UART_8250
  283. help
  284. Say Y here if you want the debug print routines to direct
  285. their output to UART0 serial port on KEYSTONE2 devices.
  286. config DEBUG_KEYSTONE_UART1
  287. bool "Kernel low-level debugging on KEYSTONE2 using UART1"
  288. depends on ARCH_KEYSTONE
  289. select DEBUG_UART_8250
  290. help
  291. Say Y here if you want the debug print routines to direct
  292. their output to UART1 serial port on KEYSTONE2 devices.
  293. config DEBUG_MMP_UART2
  294. bool "Kernel low-level debugging message via MMP UART2"
  295. depends on ARCH_MMP
  296. select DEBUG_UART_8250
  297. help
  298. Say Y here if you want kernel low-level debugging support
  299. on MMP UART2.
  300. config DEBUG_MMP_UART3
  301. bool "Kernel low-level debugging message via MMP UART3"
  302. depends on ARCH_MMP
  303. select DEBUG_UART_8250
  304. help
  305. Say Y here if you want kernel low-level debugging support
  306. on MMP UART3.
  307. config DEBUG_MSM_UART
  308. bool "Kernel low-level debugging messages via MSM UART"
  309. depends on ARCH_MSM
  310. help
  311. Say Y here if you want the debug print routines to direct
  312. their output to the serial port on MSM devices.
  313. ARCH DEBUG_UART_PHYS DEBUG_UART_BASE #
  314. MSM7X00A, QSD8X50 0xa9a00000 0xe1000000 UART1
  315. MSM7X00A, QSD8X50 0xa9b00000 0xe1000000 UART2
  316. MSM7X00A, QSD8X50 0xa9c00000 0xe1000000 UART3
  317. MSM7X30 0xaca00000 0xe1000000 UART1
  318. MSM7X30 0xacb00000 0xe1000000 UART2
  319. MSM7X30 0xacc00000 0xe1000000 UART3
  320. Please adjust DEBUG_UART_PHYS and DEBUG_UART_BASE configuration
  321. options based on your needs.
  322. config DEBUG_QCOM_UARTDM
  323. bool "Kernel low-level debugging messages via QCOM UARTDM"
  324. depends on ARCH_QCOM
  325. help
  326. Say Y here if you want the debug print routines to direct
  327. their output to the serial port on Qualcomm devices.
  328. ARCH DEBUG_UART_PHYS DEBUG_UART_BASE
  329. APQ8084 0xf995e000 0xfa75e000
  330. MSM8X60 0x19c40000 0xf0040000
  331. MSM8960 0x16440000 0xf0040000
  332. MSM8974 0xf991e000 0xfa71e000
  333. Please adjust DEBUG_UART_PHYS and DEBUG_UART_BASE configuration
  334. options based on your needs.
  335. config DEBUG_MVEBU_UART
  336. bool "Kernel low-level debugging messages via MVEBU UART (old bootloaders)"
  337. depends on ARCH_MVEBU
  338. select DEBUG_UART_8250
  339. help
  340. Say Y here if you want kernel low-level debugging support
  341. on MVEBU based platforms.
  342. This option should be used with the old bootloaders
  343. that left the internal registers mapped at
  344. 0xd0000000. As of today, this is the case on
  345. platforms such as the Globalscale Mirabox or the
  346. Plathome OpenBlocks AX3, when using the original
  347. bootloader.
  348. If the wrong DEBUG_MVEBU_UART* option is selected,
  349. when u-boot hands over to the kernel, the system
  350. silently crashes, with no serial output at all.
  351. config DEBUG_MVEBU_UART_ALTERNATE
  352. bool "Kernel low-level debugging messages via MVEBU UART (new bootloaders)"
  353. depends on ARCH_MVEBU
  354. select DEBUG_UART_8250
  355. help
  356. Say Y here if you want kernel low-level debugging support
  357. on MVEBU based platforms.
  358. This option should be used with the new bootloaders
  359. that remap the internal registers at 0xf1000000.
  360. If the wrong DEBUG_MVEBU_UART* option is selected,
  361. when u-boot hands over to the kernel, the system
  362. silently crashes, with no serial output at all.
  363. config DEBUG_VF_UART
  364. bool "Vybrid UART"
  365. depends on SOC_VF610
  366. help
  367. Say Y here if you want kernel low-level debugging support
  368. on Vybrid based platforms.
  369. config DEBUG_NOMADIK_UART
  370. bool "Kernel low-level debugging messages via NOMADIK UART"
  371. depends on ARCH_NOMADIK
  372. select DEBUG_UART_PL01X
  373. help
  374. Say Y here if you want kernel low-level debugging support
  375. on NOMADIK based platforms.
  376. config DEBUG_NSPIRE_CLASSIC_UART
  377. bool "Kernel low-level debugging via TI-NSPIRE 8250 UART"
  378. depends on ARCH_NSPIRE
  379. select DEBUG_UART_8250
  380. help
  381. Say Y here if you want kernel low-level debugging support
  382. on TI-NSPIRE classic models.
  383. config DEBUG_NSPIRE_CX_UART
  384. bool "Kernel low-level debugging via TI-NSPIRE PL011 UART"
  385. depends on ARCH_NSPIRE
  386. select DEBUG_UART_PL01X
  387. help
  388. Say Y here if you want kernel low-level debugging support
  389. on TI-NSPIRE CX models.
  390. config DEBUG_OMAP2UART1
  391. bool "OMAP2/3/4 UART1 (omap2/3 sdp boards and some omap3 boards)"
  392. depends on ARCH_OMAP2PLUS
  393. select DEBUG_OMAP2PLUS_UART
  394. help
  395. This covers at least h4, 2430sdp, 3430sdp, 3630sdp,
  396. omap3 torpedo and 3530 lv som.
  397. config DEBUG_OMAP2UART2
  398. bool "Kernel low-level debugging messages via OMAP2/3/4 UART2"
  399. depends on ARCH_OMAP2PLUS
  400. select DEBUG_OMAP2PLUS_UART
  401. config DEBUG_OMAP2UART3
  402. bool "Kernel low-level debugging messages via OMAP2 UART3 (n8x0)"
  403. depends on ARCH_OMAP2PLUS
  404. select DEBUG_OMAP2PLUS_UART
  405. config DEBUG_OMAP3UART3
  406. bool "Kernel low-level debugging messages via OMAP3 UART3 (most omap3 boards)"
  407. depends on ARCH_OMAP2PLUS
  408. select DEBUG_OMAP2PLUS_UART
  409. help
  410. This covers at least cm_t3x, beagle, crane, devkit8000,
  411. igep00x0, ldp, n900, n9(50), pandora, overo, touchbook,
  412. and 3517evm.
  413. config DEBUG_OMAP4UART3
  414. bool "Kernel low-level debugging messages via OMAP4/5 UART3 (omap4 blaze, panda, omap5 sevm)"
  415. depends on ARCH_OMAP2PLUS
  416. select DEBUG_OMAP2PLUS_UART
  417. config DEBUG_OMAP3UART4
  418. bool "Kernel low-level debugging messages via OMAP36XX UART4"
  419. depends on ARCH_OMAP2PLUS
  420. select DEBUG_OMAP2PLUS_UART
  421. config DEBUG_OMAP4UART4
  422. bool "Kernel low-level debugging messages via OMAP4/5 UART4"
  423. depends on ARCH_OMAP2PLUS
  424. select DEBUG_OMAP2PLUS_UART
  425. config DEBUG_TI81XXUART1
  426. bool "Kernel low-level debugging messages via TI81XX UART1 (ti8148evm)"
  427. depends on ARCH_OMAP2PLUS
  428. select DEBUG_OMAP2PLUS_UART
  429. config DEBUG_TI81XXUART2
  430. bool "Kernel low-level debugging messages via TI81XX UART2"
  431. depends on ARCH_OMAP2PLUS
  432. select DEBUG_OMAP2PLUS_UART
  433. config DEBUG_TI81XXUART3
  434. bool "Kernel low-level debugging messages via TI81XX UART3 (ti8168evm)"
  435. depends on ARCH_OMAP2PLUS
  436. select DEBUG_OMAP2PLUS_UART
  437. config DEBUG_AM33XXUART1
  438. bool "Kernel low-level debugging messages via AM33XX UART1"
  439. depends on ARCH_OMAP2PLUS
  440. select DEBUG_OMAP2PLUS_UART
  441. config DEBUG_ZOOM_UART
  442. bool "Kernel low-level debugging messages via Zoom2/3 UART"
  443. depends on ARCH_OMAP2PLUS
  444. select DEBUG_OMAP2PLUS_UART
  445. config DEBUG_PICOXCELL_UART
  446. depends on ARCH_PICOXCELL
  447. bool "Use PicoXcell UART for low-level debug"
  448. select DEBUG_UART_8250
  449. help
  450. Say Y here if you want kernel low-level debugging support
  451. on PicoXcell based platforms.
  452. config DEBUG_PXA_UART1
  453. depends on ARCH_PXA
  454. bool "Use PXA UART1 for low-level debug"
  455. select DEBUG_UART_8250
  456. help
  457. Say Y here if you want kernel low-level debugging support
  458. on PXA UART1.
  459. config DEBUG_REALVIEW_STD_PORT
  460. bool "RealView Default UART"
  461. depends on ARCH_REALVIEW
  462. select DEBUG_UART_PL01X
  463. help
  464. Say Y here if you want the debug print routines to direct
  465. their output to the serial port on RealView EB, PB11MP, PBA8
  466. and PBX platforms.
  467. config DEBUG_REALVIEW_PB1176_PORT
  468. bool "RealView PB1176 UART"
  469. depends on MACH_REALVIEW_PB1176
  470. select DEBUG_UART_PL01X
  471. help
  472. Say Y here if you want the debug print routines to direct
  473. their output to the standard serial port on the RealView
  474. PB1176 platform.
  475. config DEBUG_RK29_UART0
  476. bool "Kernel low-level debugging messages via Rockchip RK29 UART0"
  477. depends on ARCH_ROCKCHIP
  478. select DEBUG_UART_8250
  479. help
  480. Say Y here if you want kernel low-level debugging support
  481. on Rockchip based platforms.
  482. config DEBUG_RK29_UART1
  483. bool "Kernel low-level debugging messages via Rockchip RK29 UART1"
  484. depends on ARCH_ROCKCHIP
  485. select DEBUG_UART_8250
  486. help
  487. Say Y here if you want kernel low-level debugging support
  488. on Rockchip based platforms.
  489. config DEBUG_RK29_UART2
  490. bool "Kernel low-level debugging messages via Rockchip RK29 UART2"
  491. depends on ARCH_ROCKCHIP
  492. select DEBUG_UART_8250
  493. help
  494. Say Y here if you want kernel low-level debugging support
  495. on Rockchip based platforms.
  496. config DEBUG_RK3X_UART0
  497. bool "Kernel low-level debugging messages via Rockchip RK3X UART0"
  498. depends on ARCH_ROCKCHIP
  499. select DEBUG_UART_8250
  500. help
  501. Say Y here if you want kernel low-level debugging support
  502. on Rockchip based platforms.
  503. config DEBUG_RK3X_UART1
  504. bool "Kernel low-level debugging messages via Rockchip RK3X UART1"
  505. depends on ARCH_ROCKCHIP
  506. select DEBUG_UART_8250
  507. help
  508. Say Y here if you want kernel low-level debugging support
  509. on Rockchip based platforms.
  510. config DEBUG_RK3X_UART2
  511. bool "Kernel low-level debugging messages via Rockchip RK3X UART2"
  512. depends on ARCH_ROCKCHIP
  513. select DEBUG_UART_8250
  514. help
  515. Say Y here if you want kernel low-level debugging support
  516. on Rockchip based platforms.
  517. config DEBUG_RK3X_UART3
  518. bool "Kernel low-level debugging messages via Rockchip RK3X UART3"
  519. depends on ARCH_ROCKCHIP
  520. select DEBUG_UART_8250
  521. help
  522. Say Y here if you want kernel low-level debugging support
  523. on Rockchip based platforms.
  524. config DEBUG_S3C_UART0
  525. depends on PLAT_SAMSUNG
  526. select DEBUG_EXYNOS_UART if ARCH_EXYNOS
  527. select DEBUG_S3C24XX_UART if ARCH_S3C24XX
  528. bool "Use S3C UART 0 for low-level debug"
  529. help
  530. Say Y here if you want the debug print routines to direct
  531. their output to UART 0. The port must have been initialised
  532. by the boot-loader before use.
  533. The uncompressor code port configuration is now handled
  534. by CONFIG_S3C_LOWLEVEL_UART_PORT.
  535. config DEBUG_S3C_UART1
  536. depends on PLAT_SAMSUNG
  537. select DEBUG_EXYNOS_UART if ARCH_EXYNOS
  538. select DEBUG_S3C24XX_UART if ARCH_S3C24XX
  539. bool "Use S3C UART 1 for low-level debug"
  540. help
  541. Say Y here if you want the debug print routines to direct
  542. their output to UART 1. The port must have been initialised
  543. by the boot-loader before use.
  544. The uncompressor code port configuration is now handled
  545. by CONFIG_S3C_LOWLEVEL_UART_PORT.
  546. config DEBUG_S3C_UART2
  547. depends on PLAT_SAMSUNG
  548. select DEBUG_EXYNOS_UART if ARCH_EXYNOS
  549. select DEBUG_S3C24XX_UART if ARCH_S3C24XX
  550. bool "Use S3C UART 2 for low-level debug"
  551. help
  552. Say Y here if you want the debug print routines to direct
  553. their output to UART 2. The port must have been initialised
  554. by the boot-loader before use.
  555. The uncompressor code port configuration is now handled
  556. by CONFIG_S3C_LOWLEVEL_UART_PORT.
  557. config DEBUG_S3C_UART3
  558. depends on PLAT_SAMSUNG && ARCH_EXYNOS
  559. select DEBUG_EXYNOS_UART
  560. bool "Use S3C UART 3 for low-level debug"
  561. help
  562. Say Y here if you want the debug print routines to direct
  563. their output to UART 3. The port must have been initialised
  564. by the boot-loader before use.
  565. The uncompressor code port configuration is now handled
  566. by CONFIG_S3C_LOWLEVEL_UART_PORT.
  567. config DEBUG_S3C2410_UART0
  568. depends on ARCH_S3C24XX
  569. select DEBUG_S3C2410_UART
  570. bool "Use S3C2410/S3C2412 UART 0 for low-level debug"
  571. help
  572. Say Y here if you want the debug print routines to direct
  573. their output to UART 0. The port must have been initialised
  574. by the boot-loader before use.
  575. config DEBUG_S3C2410_UART1
  576. depends on ARCH_S3C24XX
  577. select DEBUG_S3C2410_UART
  578. bool "Use S3C2410/S3C2412 UART 1 for low-level debug"
  579. help
  580. Say Y here if you want the debug print routines to direct
  581. their output to UART 1. The port must have been initialised
  582. by the boot-loader before use.
  583. config DEBUG_S3C2410_UART2
  584. depends on ARCH_S3C24XX
  585. select DEBUG_S3C2410_UART
  586. bool "Use S3C2410/S3C2412 UART 2 for low-level debug"
  587. help
  588. Say Y here if you want the debug print routines to direct
  589. their output to UART 2. The port must have been initialised
  590. by the boot-loader before use.
  591. config DEBUG_SOCFPGA_UART
  592. depends on ARCH_SOCFPGA
  593. bool "Use SOCFPGA UART for low-level debug"
  594. select DEBUG_UART_8250
  595. help
  596. Say Y here if you want kernel low-level debugging support
  597. on SOCFPGA based platforms.
  598. config DEBUG_SUNXI_UART0
  599. bool "Kernel low-level debugging messages via sunXi UART0"
  600. depends on ARCH_SUNXI
  601. select DEBUG_UART_8250
  602. help
  603. Say Y here if you want kernel low-level debugging support
  604. on Allwinner A1X based platforms on the UART0.
  605. config DEBUG_SUNXI_UART1
  606. bool "Kernel low-level debugging messages via sunXi UART1"
  607. depends on ARCH_SUNXI
  608. select DEBUG_UART_8250
  609. help
  610. Say Y here if you want kernel low-level debugging support
  611. on Allwinner A1X based platforms on the UART1.
  612. config TEGRA_DEBUG_UART_AUTO_ODMDATA
  613. bool "Kernel low-level debugging messages via Tegra UART via ODMDATA"
  614. depends on ARCH_TEGRA
  615. select DEBUG_TEGRA_UART
  616. help
  617. Automatically determines which UART to use for low-level
  618. debug based on the ODMDATA value. This value is part of
  619. the BCT, and is written to the boot memory device using
  620. nvflash, or other flashing tool. When bits 19:18 are 3,
  621. then bits 17:15 indicate which UART to use; 0/1/2/3/4
  622. are UART A/B/C/D/E.
  623. config TEGRA_DEBUG_UARTA
  624. bool "Kernel low-level debugging messages via Tegra UART A"
  625. depends on ARCH_TEGRA
  626. select DEBUG_TEGRA_UART
  627. help
  628. Say Y here if you want kernel low-level debugging support
  629. on Tegra based platforms.
  630. config TEGRA_DEBUG_UARTB
  631. bool "Kernel low-level debugging messages via Tegra UART B"
  632. depends on ARCH_TEGRA
  633. select DEBUG_TEGRA_UART
  634. help
  635. Say Y here if you want kernel low-level debugging support
  636. on Tegra based platforms.
  637. config TEGRA_DEBUG_UARTC
  638. bool "Kernel low-level debugging messages via Tegra UART C"
  639. depends on ARCH_TEGRA
  640. select DEBUG_TEGRA_UART
  641. help
  642. Say Y here if you want kernel low-level debugging support
  643. on Tegra based platforms.
  644. config TEGRA_DEBUG_UARTD
  645. bool "Kernel low-level debugging messages via Tegra UART D"
  646. depends on ARCH_TEGRA
  647. select DEBUG_TEGRA_UART
  648. help
  649. Say Y here if you want kernel low-level debugging support
  650. on Tegra based platforms.
  651. config TEGRA_DEBUG_UARTE
  652. bool "Kernel low-level debugging messages via Tegra UART E"
  653. depends on ARCH_TEGRA
  654. select DEBUG_TEGRA_UART
  655. help
  656. Say Y here if you want kernel low-level debugging support
  657. on Tegra based platforms.
  658. config DEBUG_SIRFPRIMA2_UART1
  659. bool "Kernel low-level debugging messages via SiRFprimaII UART1"
  660. depends on ARCH_PRIMA2
  661. help
  662. Say Y here if you want the debug print routines to direct
  663. their output to the uart1 port on SiRFprimaII devices.
  664. config DEBUG_SIRFMARCO_UART1
  665. bool "Kernel low-level debugging messages via SiRFmarco UART1"
  666. depends on ARCH_MARCO
  667. help
  668. Say Y here if you want the debug print routines to direct
  669. their output to the uart1 port on SiRFmarco devices.
  670. config STIH41X_DEBUG_ASC2
  671. bool "Use StiH415/416 ASC2 UART for low-level debug"
  672. depends on ARCH_STI
  673. select DEBUG_STI_UART
  674. help
  675. Say Y here if you want kernel low-level debugging support
  676. on STiH415/416 based platforms like b2000, which has
  677. default UART wired up to ASC2.
  678. If unsure, say N.
  679. config STIH41X_DEBUG_SBC_ASC1
  680. bool "Use StiH415/416 SBC ASC1 UART for low-level debug"
  681. depends on ARCH_STI
  682. select DEBUG_STI_UART
  683. help
  684. Say Y here if you want kernel low-level debugging support
  685. on STiH415/416 based platforms like b2020. which has
  686. default UART wired up to SBC ASC1.
  687. If unsure, say N.
  688. config DEBUG_U300_UART
  689. bool "Kernel low-level debugging messages via U300 UART0"
  690. depends on ARCH_U300
  691. select DEBUG_UART_PL01X
  692. help
  693. Say Y here if you want the debug print routines to direct
  694. their output to the uart port on U300 devices.
  695. config DEBUG_UX500_UART
  696. depends on ARCH_U8500
  697. bool "Use Ux500 UART for low-level debug"
  698. help
  699. Say Y here if you want kernel low-level debugging support
  700. on Ux500 based platforms.
  701. config DEBUG_VEXPRESS_UART0_DETECT
  702. bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
  703. depends on ARCH_VEXPRESS && CPU_CP15_MMU
  704. help
  705. This option enables a simple heuristic which tries to determine
  706. the motherboard's memory map variant (original or RS1) and then
  707. choose the relevant UART0 base address.
  708. Note that this will only work with standard A-class core tiles,
  709. and may fail with non-standard SMM or custom software models.
  710. config DEBUG_VEXPRESS_UART0_CA9
  711. bool "Use PL011 UART0 at 0x10009000 (V2P-CA9 core tile)"
  712. depends on ARCH_VEXPRESS
  713. select DEBUG_UART_PL01X
  714. help
  715. This option selects UART0 at 0x10009000. Except for custom models,
  716. this applies only to the V2P-CA9 tile.
  717. config DEBUG_VEXPRESS_UART0_RS1
  718. bool "Use PL011 UART0 at 0x1c090000 (RS1 complaint tiles)"
  719. depends on ARCH_VEXPRESS
  720. select DEBUG_UART_PL01X
  721. help
  722. This option selects UART0 at 0x1c090000. This applies to most
  723. of the tiles using the RS1 memory map, including all new A-class
  724. core tiles, FPGA-based SMMs and software models.
  725. config DEBUG_VEXPRESS_UART0_CRX
  726. bool "Use PL011 UART0 at 0xb0090000 (Cortex-R compliant tiles)"
  727. depends on ARCH_VEXPRESS && !MMU
  728. select DEBUG_UART_PL01X
  729. help
  730. This option selects UART0 at 0xb0090000. This is appropriate for
  731. Cortex-R series tiles and SMMs, such as Cortex-R5 and Cortex-R7
  732. config DEBUG_VT8500_UART0
  733. bool "Use UART0 on VIA/Wondermedia SoCs"
  734. depends on ARCH_VT8500
  735. help
  736. This option selects UART0 on VIA/Wondermedia System-on-a-chip
  737. devices, including VT8500, WM8505, WM8650 and WM8850.
  738. config DEBUG_LL_UART_NONE
  739. bool "No low-level debugging UART"
  740. depends on !ARCH_MULTIPLATFORM
  741. help
  742. Say Y here if your platform doesn't provide a UART option
  743. above. This relies on your platform choosing the right UART
  744. definition internally in order for low-level debugging to
  745. work.
  746. config DEBUG_ICEDCC
  747. bool "Kernel low-level debugging via EmbeddedICE DCC channel"
  748. help
  749. Say Y here if you want the debug print routines to direct
  750. their output to the EmbeddedICE macrocell's DCC channel using
  751. co-processor 14. This is known to work on the ARM9 style ICE
  752. channel and on the XScale with the PEEDI.
  753. Note that the system will appear to hang during boot if there
  754. is nothing connected to read from the DCC.
  755. config DEBUG_SEMIHOSTING
  756. bool "Kernel low-level debug output via semihosting I/O"
  757. help
  758. Semihosting enables code running on an ARM target to use
  759. the I/O facilities on a host debugger/emulator through a
  760. simple SVC call. The host debugger or emulator must have
  761. semihosting enabled for the special svc call to be trapped
  762. otherwise the kernel will crash.
  763. This is known to work with OpenOCD, as well as
  764. ARM's Fast Models, or any other controlling environment
  765. that implements semihosting.
  766. For more details about semihosting, please see
  767. chapter 8 of DUI0203I_rvct_developer_guide.pdf from ARM Ltd.
  768. config DEBUG_LL_UART_8250
  769. bool "Kernel low-level debugging via 8250 UART"
  770. help
  771. Say Y here if you wish the debug print routes to direct
  772. their output to an 8250 UART. You can use this option
  773. to provide the parameters for the 8250 UART rather than
  774. selecting one of the platform specific options above if
  775. you know the parameters for the port.
  776. This option is preferred over the platform specific
  777. options; the platform specific options are deprecated
  778. and will be soon removed.
  779. config DEBUG_LL_UART_EFM32
  780. bool "Kernel low-level debugging via efm32 UART"
  781. depends on ARCH_EFM32
  782. help
  783. Say Y here if you want the debug print routines to direct
  784. their output to an UART or USART port on efm32 based
  785. machines. Use the following addresses for DEBUG_UART_PHYS:
  786. 0x4000c000 | USART0
  787. 0x4000c400 | USART1
  788. 0x4000c800 | USART2
  789. 0x4000e000 | UART0
  790. 0x4000e400 | UART1
  791. config DEBUG_LL_UART_PL01X
  792. bool "Kernel low-level debugging via ARM Ltd PL01x Primecell UART"
  793. help
  794. Say Y here if you wish the debug print routes to direct
  795. their output to a PL01x Primecell UART. You can use
  796. this option to provide the parameters for the UART
  797. rather than selecting one of the platform specific
  798. options above if you know the parameters for the port.
  799. This option is preferred over the platform specific
  800. options; the platform specific options are deprecated
  801. and will be soon removed.
  802. endchoice
  803. config DEBUG_EXYNOS_UART
  804. bool
  805. config DEBUG_S3C2410_UART
  806. bool
  807. select DEBUG_S3C24XX_UART
  808. config DEBUG_S3C24XX_UART
  809. bool
  810. config DEBUG_OMAP2PLUS_UART
  811. bool
  812. depends on ARCH_OMAP2PLUS
  813. config DEBUG_IMX_UART_PORT
  814. int "i.MX Debug UART Port Selection" if DEBUG_IMX1_UART || \
  815. DEBUG_IMX25_UART || \
  816. DEBUG_IMX21_IMX27_UART || \
  817. DEBUG_IMX31_UART || \
  818. DEBUG_IMX35_UART || \
  819. DEBUG_IMX50_UART || \
  820. DEBUG_IMX51_UART || \
  821. DEBUG_IMX53_UART || \
  822. DEBUG_IMX6Q_UART || \
  823. DEBUG_IMX6SL_UART || \
  824. DEBUG_IMX6SX_UART
  825. default 1
  826. depends on ARCH_MXC
  827. help
  828. Choose UART port on which kernel low-level debug messages
  829. should be output.
  830. config DEBUG_VF_UART_PORT
  831. int "Vybrid Debug UART Port Selection" if DEBUG_VF_UART
  832. default 1
  833. range 0 3
  834. depends on SOC_VF610
  835. help
  836. Choose UART port on which kernel low-level debug messages
  837. should be output.
  838. config DEBUG_TEGRA_UART
  839. bool
  840. depends on ARCH_TEGRA
  841. config DEBUG_STI_UART
  842. bool
  843. depends on ARCH_STI
  844. config DEBUG_LL_INCLUDE
  845. string
  846. default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250
  847. default "debug/pl01x.S" if DEBUG_LL_UART_PL01X || DEBUG_UART_PL01X
  848. default "debug/exynos.S" if DEBUG_EXYNOS_UART
  849. default "debug/efm32.S" if DEBUG_LL_UART_EFM32
  850. default "debug/icedcc.S" if DEBUG_ICEDCC
  851. default "debug/imx.S" if DEBUG_IMX1_UART || \
  852. DEBUG_IMX25_UART || \
  853. DEBUG_IMX21_IMX27_UART || \
  854. DEBUG_IMX31_UART || \
  855. DEBUG_IMX35_UART || \
  856. DEBUG_IMX50_UART || \
  857. DEBUG_IMX51_UART || \
  858. DEBUG_IMX53_UART ||\
  859. DEBUG_IMX6Q_UART || \
  860. DEBUG_IMX6SL_UART || \
  861. DEBUG_IMX6SX_UART
  862. default "debug/msm.S" if DEBUG_MSM_UART || DEBUG_QCOM_UARTDM
  863. default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART
  864. default "debug/s3c24xx.S" if DEBUG_S3C24XX_UART
  865. default "debug/sirf.S" if DEBUG_SIRFPRIMA2_UART1 || DEBUG_SIRFMARCO_UART1
  866. default "debug/sti.S" if DEBUG_STI_UART
  867. default "debug/tegra.S" if DEBUG_TEGRA_UART
  868. default "debug/ux500.S" if DEBUG_UX500_UART
  869. default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT
  870. default "debug/vf.S" if DEBUG_VF_UART
  871. default "debug/vt8500.S" if DEBUG_VT8500_UART0
  872. default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1
  873. default "mach/debug-macro.S"
  874. # Compatibility options for PL01x
  875. config DEBUG_UART_PL01X
  876. def_bool ARCH_EP93XX || \
  877. ARCH_INTEGRATOR || \
  878. ARCH_SPEAR3XX || \
  879. ARCH_SPEAR6XX || \
  880. ARCH_SPEAR13XX || \
  881. ARCH_VERSATILE
  882. # Compatibility options for 8250
  883. config DEBUG_UART_8250
  884. def_bool ARCH_DOVE || ARCH_EBSA110 || \
  885. (FOOTBRIDGE && !DEBUG_DC21285_PORT) || \
  886. ARCH_GEMINI || ARCH_IOP13XX || ARCH_IOP32X || \
  887. ARCH_IOP33X || ARCH_IXP4XX || ARCH_KIRKWOOD || \
  888. ARCH_LPC32XX || ARCH_MV78XX0 || ARCH_ORION5X || ARCH_RPC
  889. config DEBUG_UART_PHYS
  890. hex "Physical base address of debug UART"
  891. default 0x01c20000 if DEBUG_DAVINCI_DMx_UART0
  892. default 0x01c28000 if DEBUG_SUNXI_UART0
  893. default 0x01c28400 if DEBUG_SUNXI_UART1
  894. default 0x01d0c000 if DEBUG_DAVINCI_DA8XX_UART1
  895. default 0x01d0d000 if DEBUG_DAVINCI_DA8XX_UART2
  896. default 0x02530c00 if DEBUG_KEYSTONE_UART0
  897. default 0x02531000 if DEBUG_KEYSTONE_UART1
  898. default 0x03010fe0 if ARCH_RPC
  899. default 0x10009000 if DEBUG_REALVIEW_STD_PORT || DEBUG_CNS3XXX || \
  900. DEBUG_VEXPRESS_UART0_CA9
  901. default 0x1010c000 if DEBUG_REALVIEW_PB1176_PORT
  902. default 0x10124000 if DEBUG_RK3X_UART0
  903. default 0x10126000 if DEBUG_RK3X_UART1
  904. default 0x101f1000 if ARCH_VERSATILE
  905. default 0x101fb000 if DEBUG_NOMADIK_UART
  906. default 0x16000000 if ARCH_INTEGRATOR
  907. default 0x18000300 if DEBUG_BCM_5301X
  908. default 0x1c090000 if DEBUG_VEXPRESS_UART0_RS1
  909. default 0x20060000 if DEBUG_RK29_UART0
  910. default 0x20064000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
  911. default 0x20068000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
  912. default 0x20201000 if DEBUG_BCM2835
  913. default 0x3e000000 if DEBUG_BCM_KONA_UART
  914. default 0x4000e400 if DEBUG_LL_UART_EFM32
  915. default 0x40090000 if ARCH_LPC32XX
  916. default 0x40100000 if DEBUG_PXA_UART1
  917. default 0x42000000 if ARCH_GEMINI
  918. default 0x50000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
  919. DEBUG_S3C2410_UART0)
  920. default 0x50004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
  921. DEBUG_S3C2410_UART1)
  922. default 0x50008000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART2 || \
  923. DEBUG_S3C2410_UART2)
  924. default 0x7c0003f8 if FOOTBRIDGE
  925. default 0x80070000 if DEBUG_IMX23_UART
  926. default 0x80074000 if DEBUG_IMX28_UART
  927. default 0x80230000 if DEBUG_PICOXCELL_UART
  928. default 0x808c0000 if ARCH_EP93XX
  929. default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
  930. default 0xa9a00000 if DEBUG_MSM_UART
  931. default 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX
  932. default 0xc0013000 if DEBUG_U300_UART
  933. default 0xc8000000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
  934. default 0xc8000003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
  935. default 0xd0000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
  936. default 0xd0012000 if DEBUG_MVEBU_UART
  937. default 0xd4017000 if DEBUG_MMP_UART2
  938. default 0xd4018000 if DEBUG_MMP_UART3
  939. default 0xe0000000 if ARCH_SPEAR13XX
  940. default 0xf0000be0 if ARCH_EBSA110
  941. default 0xf1012000 if DEBUG_MVEBU_UART_ALTERNATE
  942. default 0xf1012000 if ARCH_DOVE || ARCH_KIRKWOOD || ARCH_MV78XX0 || \
  943. ARCH_ORION5X
  944. default 0xf7fc9000 if DEBUG_BERLIN_UART
  945. default 0xf8b00000 if DEBUG_HI3716_UART
  946. default 0xf991e000 if DEBUG_QCOM_UARTDM
  947. default 0xfcb00000 if DEBUG_HI3620_UART
  948. default 0xfe800000 if ARCH_IOP32X
  949. default 0xffc02000 if DEBUG_SOCFPGA_UART
  950. default 0xffd82340 if ARCH_IOP13XX
  951. default 0xfff36000 if DEBUG_HIGHBANK_UART
  952. default 0xfffff700 if ARCH_IOP33X
  953. depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
  954. DEBUG_LL_UART_EFM32 || \
  955. DEBUG_UART_8250 || DEBUG_UART_PL01X || \
  956. DEBUG_MSM_UART || DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART
  957. config DEBUG_UART_VIRT
  958. hex "Virtual base address of debug UART"
  959. default 0xe0010fe0 if ARCH_RPC
  960. default 0xe1000000 if DEBUG_MSM_UART
  961. default 0xf0000be0 if ARCH_EBSA110
  962. default 0xf0009000 if DEBUG_CNS3XXX
  963. default 0xf01fb000 if DEBUG_NOMADIK_UART
  964. default 0xf0201000 if DEBUG_BCM2835
  965. default 0xf1000300 if DEBUG_BCM_5301X
  966. default 0xf11f1000 if ARCH_VERSATILE
  967. default 0xf1600000 if ARCH_INTEGRATOR
  968. default 0xf1c28000 if DEBUG_SUNXI_UART0
  969. default 0xf1c28400 if DEBUG_SUNXI_UART1
  970. default 0xf2100000 if DEBUG_PXA_UART1
  971. default 0xf4090000 if ARCH_LPC32XX
  972. default 0xf4200000 if ARCH_GEMINI
  973. default 0xf7000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
  974. DEBUG_S3C2410_UART0)
  975. default 0xf7004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
  976. DEBUG_S3C2410_UART1)
  977. default 0xf7008000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART2 || \
  978. DEBUG_S3C2410_UART2)
  979. default 0xf7fc9000 if DEBUG_BERLIN_UART
  980. default 0xf8009000 if DEBUG_VEXPRESS_UART0_CA9
  981. default 0xf8090000 if DEBUG_VEXPRESS_UART0_RS1
  982. default 0xfa71e000 if DEBUG_QCOM_UARTDM
  983. default 0xfb009000 if DEBUG_REALVIEW_STD_PORT
  984. default 0xfb10c000 if DEBUG_REALVIEW_PB1176_PORT
  985. default 0xfd000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
  986. default 0xfd000000 if ARCH_SPEAR13XX
  987. default 0xfd012000 if ARCH_MV78XX0
  988. default 0xfde12000 if ARCH_DOVE
  989. default 0xfe012000 if ARCH_ORION5X
  990. default 0xfe017000 if DEBUG_MMP_UART2
  991. default 0xfe018000 if DEBUG_MMP_UART3
  992. default 0xfe100000 if DEBUG_IMX23_UART || DEBUG_IMX28_UART
  993. default 0xfe230000 if DEBUG_PICOXCELL_UART
  994. default 0xfe300000 if DEBUG_BCM_KONA_UART
  995. default 0xfe800000 if ARCH_IOP32X
  996. default 0xfeb00000 if DEBUG_HI3620_UART || DEBUG_HI3716_UART
  997. default 0xfeb24000 if DEBUG_RK3X_UART0
  998. default 0xfeb26000 if DEBUG_RK3X_UART1
  999. default 0xfeb30c00 if DEBUG_KEYSTONE_UART0
  1000. default 0xfeb31000 if DEBUG_KEYSTONE_UART1
  1001. default 0xfec02000 if DEBUG_SOCFPGA_UART
  1002. default 0xfec12000 if DEBUG_MVEBU_UART || DEBUG_MVEBU_UART_ALTERNATE
  1003. default 0xfec20000 if DEBUG_DAVINCI_DMx_UART0
  1004. default 0xfed0c000 if DEBUG_DAVINCI_DA8XX_UART1
  1005. default 0xfed0d000 if DEBUG_DAVINCI_DA8XX_UART2
  1006. default 0xfed12000 if ARCH_KIRKWOOD
  1007. default 0xfed60000 if DEBUG_RK29_UART0
  1008. default 0xfed64000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
  1009. default 0xfed68000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
  1010. default 0xfedc0000 if ARCH_EP93XX
  1011. default 0xfee003f8 if FOOTBRIDGE
  1012. default 0xfee20000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
  1013. default 0xfee82340 if ARCH_IOP13XX
  1014. default 0xfef00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
  1015. default 0xfef00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
  1016. default 0xfef36000 if DEBUG_HIGHBANK_UART
  1017. default 0xfefff700 if ARCH_IOP33X
  1018. default 0xff003000 if DEBUG_U300_UART
  1019. default DEBUG_UART_PHYS if !MMU
  1020. depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
  1021. DEBUG_UART_8250 || DEBUG_UART_PL01X || \
  1022. DEBUG_MSM_UART || DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART
  1023. config DEBUG_UART_8250_SHIFT
  1024. int "Register offset shift for the 8250 debug UART"
  1025. depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
  1026. default 0 if FOOTBRIDGE || ARCH_IOP32X
  1027. default 2
  1028. config DEBUG_UART_8250_WORD
  1029. bool "Use 32-bit accesses for 8250 UART"
  1030. depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
  1031. depends on DEBUG_UART_8250_SHIFT >= 2
  1032. default y if DEBUG_PICOXCELL_UART || DEBUG_SOCFPGA_UART || \
  1033. ARCH_KEYSTONE || \
  1034. DEBUG_DAVINCI_DMx_UART0 || DEBUG_DAVINCI_DA8XX_UART1 || \
  1035. DEBUG_DAVINCI_DA8XX_UART2 || \
  1036. DEBUG_BCM_KONA_UART
  1037. config DEBUG_UART_8250_FLOW_CONTROL
  1038. bool "Enable flow control for 8250 UART"
  1039. depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
  1040. default y if ARCH_EBSA110 || FOOTBRIDGE || ARCH_GEMINI || ARCH_RPC
  1041. config DEBUG_UNCOMPRESS
  1042. bool
  1043. depends on ARCH_MULTIPLATFORM || ARCH_MSM || PLAT_SAMSUNG
  1044. default y if DEBUG_LL && !DEBUG_OMAP2PLUS_UART && \
  1045. (!DEBUG_TEGRA_UART || !ZBOOT_ROM)
  1046. help
  1047. This option influences the normal decompressor output for
  1048. multiplatform kernels. Normally, multiplatform kernels disable
  1049. decompressor output because it is not possible to know where to
  1050. send the decompressor output.
  1051. When this option is set, the selected DEBUG_LL output method
  1052. will be re-used for normal decompressor output on multiplatform
  1053. kernels.
  1054. config UNCOMPRESS_INCLUDE
  1055. string
  1056. default "debug/uncompress.h" if ARCH_MULTIPLATFORM || ARCH_MSM || \
  1057. PLAT_SAMSUNG || ARCH_EFM32
  1058. default "mach/uncompress.h"
  1059. config EARLY_PRINTK
  1060. bool "Early printk"
  1061. depends on DEBUG_LL
  1062. help
  1063. Say Y here if you want to have an early console using the
  1064. kernel low-level debugging functions. Add earlyprintk to your
  1065. kernel parameters to enable this console.
  1066. config OC_ETM
  1067. bool "On-chip ETM and ETB"
  1068. depends on ARM_AMBA
  1069. help
  1070. Enables the on-chip embedded trace macrocell and embedded trace
  1071. buffer driver that will allow you to collect traces of the
  1072. kernel code.
  1073. config ARM_KPROBES_TEST
  1074. tristate "Kprobes test module"
  1075. depends on KPROBES && MODULES
  1076. help
  1077. Perform tests of kprobes API and instruction set simulation.
  1078. config PID_IN_CONTEXTIDR
  1079. bool "Write the current PID to the CONTEXTIDR register"
  1080. depends on CPU_COPY_V6
  1081. help
  1082. Enabling this option causes the kernel to write the current PID to
  1083. the PROCID field of the CONTEXTIDR register, at the expense of some
  1084. additional instructions during context switch. Say Y here only if you
  1085. are planning to use hardware trace tools with this kernel.
  1086. config DEBUG_SET_MODULE_RONX
  1087. bool "Set loadable kernel module data as NX and text as RO"
  1088. depends on MODULES
  1089. ---help---
  1090. This option helps catch unintended modifications to loadable
  1091. kernel module's text and read-only data. It also prevents execution
  1092. of module data. Such protection may interfere with run-time code
  1093. patching and dynamic kernel tracing - and they might also protect
  1094. against certain classes of kernel exploits.
  1095. If in doubt, say "N".
  1096. endmenu