1# SPDX-License-Identifier: Apache-2.0
2
3config BOARD
4	string
5	help
6	  This option holds the name of the board and is used to locate the files
7	  related to the board in the source tree (under boards/).
8	  The Board is the first location where we search for a linker.ld file,
9	  if not found we look for the linker file in
10	  soc/<arch>/<family>/<series>
11
12config BOARD_REVISION
13	def_string "$BOARD_REVISION"
14	help
15	  If the BOARD has a revision field set, this is the revision.
16	  Otherwise, it is the empty string. For example, if BOARD is
17	  "plank@foo", this option will be "foo". If BOARD is "plank",
18	  this option will be the empty string.
19
20config BOARD_DEPRECATED_RELEASE
21	string
22	help
23	  This hidden option is set in the board configuration and indicates
24	  the Zephyr release that the board configuration will be removed.
25	  When set, any build for that board will generate a clearly visible
26	  deprecation warning.
27
28config QEMU_TARGET
29	bool
30	help
31	  Mark all QEMU targets with this variable for checking whether we are
32	  running in an emulated environment.
33
34config NET_DRIVERS
35	bool
36	default y if QEMU_TARGET && NETWORKING
37	help
38	  When building for a qemu target then NET_DRIVERS will be default
39	  enabled to allow for easy use of SLIP or PPP
40
41# Note: $BOARD_DIR might be a glob pattern
42
43choice
44	prompt "Board Selection"
45
46source "$(BOARD_DIR)/Kconfig.board"
47
48endchoice
49
50# Parse shields references
51# Don't do it as a menuconfig, as shield selection is a CMake feature.
52# This loads custom shields Kconfig (from BOARD_ROOT)
53osource "$(KCONFIG_BINARY_DIR)/Kconfig.shield"
54# This loads Zephyr base shield defconfigs
55rsource "shields/*/Kconfig.shield"
56
57menu "Board Options"
58config QEMU_ICOUNT
59	bool "QEMU icount mode"
60	depends on QEMU_TARGET
61	default y if !NETWORKING && !BT
62	help
63	  Enable QEMU virtual instruction counter. The virtual cpu will
64	  execute one instruction every 2^N ns of virtual time. This will
65	  give deterministic execution times from the guest point of view.
66
67config QEMU_ICOUNT_SHIFT
68	int "QEMU icount shift value"
69	depends on QEMU_ICOUNT
70	help
71	  The virtual CPU will execute one instruction every 2^N nanoseconds
72	  of virtual time, where N is the value provided here.
73
74config QEMU_ICOUNT_SLEEP
75	bool "QEMU icount sleep mode enable"
76	depends on QEMU_ICOUNT
77	help
78	  When the virtual CPU is sleeping, the virtual time will advance
79	  at default speed unless this option is set. With this option set,
80	  the virtual time will jump to the next timer deadline instantly
81	  whenever the virtual CPU goes to sleep mode and will not advance
82	  if no timer is enabled. This behavior gives deterministic execution
83	  times from the guest point of view.
84
85config QEMU_IVSHMEM_PLAIN_MEM_SIZE
86	int "QEMU ivshmem-plain shared memory size in mega-bytes"
87	default 1
88	depends on QEMU_TARGET && IVSHMEM && !IVSHMEM_DOORBELL
89	help
90	  This sets the size of the shared memory when using ivshmem-plain
91	  device in Qemu. Note that it's in mega-bytes, so 1 means 1M for Qemu
92	  etc..
93
94config QEMU_UEFI_BOOT
95	bool "QEMU uses UEFI to boot up"
96	default n
97	depends on BUILD_OUTPUT_EFI && QEMU_TARGET && X86_64
98	help
99	  This option indicates that QEMU will use UEFI bootable method
100	  to boot up.
101
102config QEMU_GDBSERVER_LISTEN_DEV
103	string "QEMU gdbserver listen device"
104	default "tcp::1234"
105	depends on QEMU_TARGET
106	help
107	  This options is passed onto QEMU as a parameter to `-gdb` option.
108	  The default value is equivalent to `-s` which is a shorthand for
109	  `-gdb tcp::1234`. An empty value omits the `-gdb` parameter altogether.
110	  This allows the injection of `-gdb` parameter from other sources such
111	  as the `QEMU_EXTRA_FLAGS` environment variable. Refer to application
112	  development doc and/or QEMU invocation doc for more info.
113
114# There might not be any board options, hence the optional source
115osource "$(BOARD_DIR)/Kconfig"
116endmenu
117
118config BOARD_HAS_TIMING_FUNCTIONS
119	bool
120	help
121	  Should be selected if board provides custom method for retrieving
122	  timestamps and cycle count.
123