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