1# SPDX-License-Identifier: GPL-2.0
2
3config EARLY_PRINTK
4	bool "Early printk" if EXPERT
5	depends on SYS_HAS_EARLY_PRINTK
6	default y
7	help
8	  This option enables special console drivers which allow the kernel
9	  to print messages very early in the bootup process.
10
11	  This is useful for kernel debugging when your machine crashes very
12	  early before the console code is initialized. For normal operation,
13	  it is not recommended because it looks ugly on some machines and
14	  doesn't cooperate with an X server. You should normally say N here,
15	  unless you want to debug such a crash.
16
17config EARLY_PRINTK_8250
18	bool
19	depends on EARLY_PRINTK && USE_GENERIC_EARLY_PRINTK_8250
20	default y
21	help
22	  "8250/16550 and compatible serial early printk driver"
23	  If you say Y here, it will be possible to use a 8250/16550 serial
24	  port as the boot console.
25
26config USE_GENERIC_EARLY_PRINTK_8250
27	bool
28
29config CMDLINE_BOOL
30	bool "Built-in kernel command line"
31	help
32	  For most systems, it is firmware or second stage bootloader that
33	  by default specifies the kernel command line options.  However,
34	  it might be necessary or advantageous to either override the
35	  default kernel command line or add a few extra options to it.
36	  For such cases, this option allows you to hardcode your own
37	  command line options directly into the kernel.  For that, you
38	  should choose 'Y' here, and fill in the extra boot arguments
39	  in CONFIG_CMDLINE.
40
41	  The built-in options will be concatenated to the default command
42	  line if CMDLINE_OVERRIDE is set to 'N'. Otherwise, the default
43	  command line will be ignored and replaced by the built-in string.
44
45	  Most MIPS systems will normally expect 'N' here and rely upon
46	  the command line from the firmware or the second-stage bootloader.
47
48config CMDLINE
49	string "Default kernel command string"
50	depends on CMDLINE_BOOL
51	help
52	  On some platforms, there is currently no way for the boot loader to
53	  pass arguments to the kernel.  For these platforms, and for the cases
54	  when you want to add some extra options to the command line or ignore
55	  the default command line, you can supply some command-line options at
56	  build time by entering them here.  In other cases you can specify
57	  kernel args so that you don't have to set them up in board prom
58	  initialization routines.
59
60	  For more information, see the CMDLINE_BOOL and CMDLINE_OVERRIDE
61	  options.
62
63config CMDLINE_OVERRIDE
64	bool "Built-in command line overrides firmware arguments"
65	depends on CMDLINE_BOOL
66	help
67	  By setting this option to 'Y' you will have your kernel ignore
68	  command line arguments from firmware or second stage bootloader.
69	  Instead, the built-in command line will be used exclusively.
70
71	  Normally, you will choose 'N' here.
72
73config SB1XXX_CORELIS
74	bool "Corelis Debugger"
75	depends on SIBYTE_SB1xxx_SOC
76	select DEBUG_KERNEL if !COMPILE_TEST
77	select DEBUG_INFO if !COMPILE_TEST
78	help
79	  Select compile flags that produce code that can be processed by the
80	  Corelis mksym utility and UDB Emulator.
81
82config DEBUG_ZBOOT
83	bool "Enable compressed kernel support debugging"
84	depends on DEBUG_KERNEL && SYS_SUPPORTS_ZBOOT
85	default n
86	help
87	  If you want to add compressed kernel support to a new board, and the
88	  board supports uart16550 compatible serial port, please select
89	  SYS_SUPPORTS_ZBOOT_UART16550 for your board and enable this option to
90	  debug it.
91
92	  If your board doesn't support uart16550 compatible serial port, you
93	  can try to select SYS_SUPPORTS_ZBOOT and use the other methods to
94	  debug it. for example, add a new serial port support just as
95	  arch/mips/boot/compressed/uart-16550.c does.
96
97	  After the compressed kernel support works, please disable this option
98	  to reduce the kernel image size and speed up the booting procedure a
99	  little.
100
101config ZBOOT_INGENIC_UART
102	int "UART to use for compressed kernel debugging"
103	depends on DEBUG_ZBOOT && MACH_INGENIC_SOC
104	default 0
105	range 0 4
106	help
107	  Specify the UART that should be used for compressed kernel debugging.
108
109config SPINLOCK_TEST
110	bool "Enable spinlock timing tests in debugfs"
111	depends on DEBUG_FS
112	default n
113	help
114	  Add several files to the debugfs to test spinlock speed.
115
116config SCACHE_DEBUGFS
117	bool "L2 cache debugfs entries"
118	depends on DEBUG_FS
119	help
120	  Enable this to allow parts of the L2 cache configuration, such as
121	  whether or not prefetching is enabled, to be exposed to userland
122	  via debugfs.
123
124	  If unsure, say N.
125
126menuconfig MIPS_CPS_NS16550_BOOL
127	bool "CPS SMP NS16550 UART output"
128	depends on MIPS_CPS
129	help
130	  Output debug information via an ns16550 compatible UART if exceptions
131	  occur early in the boot process of a secondary core.
132
133if MIPS_CPS_NS16550_BOOL
134
135config MIPS_CPS_NS16550
136	def_bool MIPS_CPS_NS16550_BASE != 0
137
138config MIPS_CPS_NS16550_BASE
139	hex "UART Base Address"
140	default 0x1b0003f8 if MIPS_MALTA
141	default 0
142	help
143	  The base address of the ns16550 compatible UART on which to output
144	  debug information from the early stages of core startup.
145
146	  This is only used if non-zero.
147
148config MIPS_CPS_NS16550_SHIFT
149	int "UART Register Shift"
150	default 0
151	help
152	  The number of bits to shift ns16550 register indices by in order to
153	  form their addresses. That is, log base 2 of the span between
154	  adjacent ns16550 registers in the system.
155
156config MIPS_CPS_NS16550_WIDTH
157	int "UART Register Width"
158	default 1
159	help
160	  ns16550 registers width. UART registers IO access methods will be
161	  selected in accordance with this parameter. By setting it to 1, 2 or
162	  4 UART registers will be accessed by means of lb/sb, lh/sh or lw/sw
163	  instructions respectively. Any value not from that set activates
164	  lb/sb instructions.
165
166endif # MIPS_CPS_NS16550_BOOL
167