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