Linux Audio

Check our new training course

Embedded Linux Audio

Check our new training course
with Creative Commons CC-BY-SA
lecture materials

Bootlin logo

Elixir Cross Referencer

Loading...
# SPDX-License-Identifier: Apache-2.0

config BOARD
	string
	# When using hw model v2, then the board is inherited from CMake.
	default "$(BOARD)" if "$(HWM_SCHEME)" = "v2"
	help
	  This option holds the name of the board and is used to locate the files
	  related to the board in the source tree (under boards/).
	  The Board is the first location where we search for a linker.ld file,
	  if not found we look for the linker file in
	  soc/<arch>/<family>/<series>

config BOARD_REVISION
	def_string "$(BOARD_REVISION)"
	help
	  If the BOARD has a revision field set, this is the revision.
	  Otherwise, it is the empty string. For example, if BOARD is
	  "plank@foo", this option will be "foo". If BOARD is "plank",
	  this option will be the empty string.

config BOARD_TARGET
	string
	default "$(BOARD)@$(BOARD_REVISION)$(BOARD_QUALIFIERS)" if "$(BOARD_REVISION)" != ""
	default "$(BOARD)$(BOARD_QUALIFIERS)"
	help
	  Contains the board target (full string including name, revision, soc, cluster and
	  variant) of the board being used.

	  For example, if building for ``nrf5340dk/nrf5340/cpuapp`` then this will contain the
	  value ``nrf5340dk/nrf5340/cpuapp``.

config BOARD_DEPRECATED_RELEASE
	string
	help
	  This hidden option is set in the board configuration and indicates
	  the Zephyr release that the board configuration will be removed.
	  When set, any build for that board will generate a clearly visible
	  deprecation warning.

config QEMU_TARGET
	bool
	help
	  Mark all QEMU targets with this variable for checking whether we are
	  running in an emulated environment.

config NET_DRIVERS
	bool
	default y if QEMU_TARGET && NETWORKING
	help
	  When building for a qemu target then NET_DRIVERS will be default
	  enabled to allow for easy use of SLIP or PPP

rsource "Kconfig.$(HWM_SCHEME)"

# Parse shields references
# Don't do it as a menuconfig, as shield selection is a CMake feature.
# This loads custom shields Kconfig (from BOARD_ROOT)
osource "$(KCONFIG_BINARY_DIR)/Kconfig.shield"
# This loads Zephyr base shield defconfigs
rsource "shields/*/Kconfig.shield"

menu "Board Options"
config QEMU_ICOUNT
	bool "QEMU icount mode"
	depends on QEMU_TARGET
	default y if !NETWORKING && !BT
	help
	  Enable QEMU virtual instruction counter. The virtual cpu will
	  execute one instruction every 2^N ns of virtual time. This will
	  give deterministic execution times from the guest point of view.

config QEMU_ICOUNT_SHIFT
	int "QEMU icount shift value"
	depends on QEMU_ICOUNT
	help
	  The virtual CPU will execute one instruction every 2^N nanoseconds
	  of virtual time, where N is the value provided here.

config QEMU_ICOUNT_SLEEP
	bool "QEMU icount sleep mode enable"
	depends on QEMU_ICOUNT
	help
	  When the virtual CPU is sleeping, the virtual time will advance
	  at default speed unless this option is set. With this option set,
	  the virtual time will jump to the next timer deadline instantly
	  whenever the virtual CPU goes to sleep mode and will not advance
	  if no timer is enabled. This behavior gives deterministic execution
	  times from the guest point of view.

config QEMU_IVSHMEM_PLAIN_MEM_SIZE
	int "QEMU ivshmem-plain shared memory size in mega-bytes"
	default 1
	depends on QEMU_TARGET && IVSHMEM && !IVSHMEM_DOORBELL
	help
	  This sets the size of the shared memory when using ivshmem-plain
	  device in Qemu. Note that it's in mega-bytes, so 1 means 1M for Qemu
	  etc..

config QEMU_UEFI_BOOT
	bool "QEMU uses UEFI to boot up"
	default n
	depends on BUILD_OUTPUT_EFI && QEMU_TARGET && X86_64
	help
	  This option indicates that QEMU will use UEFI bootable method
	  to boot up.

config QEMU_GDBSERVER_LISTEN_DEV
	string "QEMU gdbserver listen device"
	default "tcp::1234"
	depends on QEMU_TARGET
	help
	  This options is passed onto QEMU as a parameter to `-gdb` option.
	  The default value is equivalent to `-s` which is a shorthand for
	  `-gdb tcp::1234`. An empty value omits the `-gdb` parameter altogether.
	  This allows the injection of `-gdb` parameter from other sources such
	  as the `QEMU_EXTRA_FLAGS` environment variable. Refer to application
	  development doc and/or QEMU invocation doc for more info.

config QEMU_EXTRA_FLAGS
	string "QEMU extra flags"
	depends on QEMU_TARGET
	default ""
	help
	  This option is to pass onto QEMU an extra list of parameters
	  to setup devices, for example to allocate interface for Zephyr
	  GDBstub over serial with `-serial tcp:127.0.0.1:5678,server`

# There might not be any board options, hence the optional source
osource "$(BOARD_DIR)/Kconfig"
endmenu

config BOARD_HAS_TIMING_FUNCTIONS
	bool
	help
	  Should be selected if board provides custom method for retrieving
	  timestamps and cycle count.