Not all boards that provide a Arduino pin layout break out all GPIOs. A good example are Adafruit `feather-m0` boards. GPIOs that are not broken out have to be defined as `GPIO_UNDEF` to preserve the Arduino pin layout. However, GPIO functions lead to a complete system lock on `feather-m0` boards if a pin is used that is defined as `GPIO_UNDEF`. Therefore, at least an assert should blow up in this case.
All derived `feather-m0-*` boards have all features of the `feather-m0` board and `Makefile.features` of derived `feather-m0-`*` boards just include `Makefile.features` of the `feather-m0` base board. Therefore a base board definition is used in Kconfig for all `feather-m0*` boards.
With PR #17401 the Arduino feature was introduced for the `feather-m0` base board. Since all derived `feather-m0-*` boards with additional hardware modules simply include `Makefile.features` of the `feather-m0` base board, they also have this feature. However, the `Kconfig` file is defined separately for each of these boards. In PR 17401, it was forgotten to include the Arduino feature in the `Kconfig` file for the derived boards. This was not noticed because the CI did not trigger an error message.
If the WiFi interface is enabled by module `esp_wifi_any`, binary SDK libraries use the RTT. Therefore, `ztimer` must not use `periph_rtt`as backend, if the WiFi interface is enabled by module `esp_wifi_any`.
`ztimer_core` functions have to reside in IRAM for timing reasons and to be available also when the IROM cache is disabled. Although the module is called `ztimer`, its object files are generated in directory `ztimer_core`.
Previously, a default value for ESP_WIFI_PASS was intentionally defined only if DOXYGEN was also defined, to allow ESP_WIFI_PASS to be left undefined for using APs without authentication. With PR #17415 the definition was changed to always define a default value for EPS_WIFI_PASS. This made it impossible to use APs without authentication. The commit reverts this change.