Commit graph

45128 commits

Author SHA1 Message Date
Erwan Gouriou
f44e931b0c drivers/pinmux: stm32: Get remap functions visible across family
Move pinctrl remap functions out of stm32f1 definition in order
to get it available to all series.
Allows use of more IS_ENABLED macros in calling drivers and make
code more readable.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2020-10-20 09:09:29 -05:00
Erwan Gouriou
0143b5e3de drivers/pinctrl: stm32f1: Provide a function which centralize remap
Centralize AFIO remapping into one single function.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2020-10-20 09:09:29 -05:00
Damian Krolik
62a5179b7b openthread: add openthread_api_mutex_try_lock()
Existing openthread_api_mutex_lock()/unlock() functions are
crucial to assure thread safety of an application which
needs to use OT API directly, but some applications may also
require a non-blocking version of the former for less critical
OT-related tasks.

Add openthread_api_mutex_try_lock() which never waits and
exits immediately if the mutex is held by another thread.

Signed-off-by: Damian Krolik <damian.krolik@nordicsemi.no>
2020-10-20 16:39:22 +03:00
Marcin Niestroj
668cbe19a3 drivers: wifi: esp: support power-gpios to enable ESP module
Add power-gpios device-tree binding property to power on module before
communicating with it. This pin is called CHIP_PU in case of ESP32{,-S2}
and CHIP_EN in case of ESP8266. Dedicated reset pin is available only on
the latter, however Espressif recommends (in ESP8266 Hardware Design
Guidelines) to use CHIP_EN instead. Follow those recommendations and use
power-gpios to reset chip if that is provided over device-tree.

Configure power-gpios and reset-gpios as inactive by default, so that
chip becomes ready after executing esp_reset() function, either if one
or both are provided over device-tree.

Signed-off-by: Marcin Niestroj <m.niestroj@grinn-global.com>
2020-10-20 07:32:01 -05:00
Marcin Niestroj
2e648d4872 drivers: wifi: esp: rename wifi-reset-gpios to reset-gpios
Most DT bindings use reset-gpios name when there is a pin to reset whole
chip. Rename wifi-reset-gpios to reset-gpios to be more consistent
between various drivers. Additionally this prevents confusion, as
somebody might think that this pin resets only WiFi, which is not true.

Signed-off-by: Marcin Niestroj <m.niestroj@grinn-global.com>
2020-10-20 07:32:01 -05:00
Kumar Gala
b2c07e439e sanitycheck: sanitize paths for device testing artifacts
To make the artifacts we keep around for --device-testing -M re-usable
we need to sanitize any aboslute build paths that might exist in
CMakeCache.txt or zephyr/runners.yaml.

This allows us to build the tests to run on one CI system and run the
tests on another system that has the board(s) connected to it.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-10-20 07:24:30 -05:00
Kumar Gala
1285c1f80a sanitycheck: make artifact cleanup for device-testing usable
If we specify --device-testing and -M make it so that the resulting
artifacts are usable to run with device-testing again.  This means
keeping around the zephyr binary images (zephyr.{bin, hex, elf}) and
a few files so 'west' can function for flashing (CMakeCache.txt and
zephyr/runners.yaml).

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-10-20 07:24:30 -05:00
Kumar Gala
037e1274d0 sanitycheck: qualify device testing output
If --device-testing and --build-only are specified surpress some board
related output

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-10-20 07:24:30 -05:00
Nicholas Lowell
c0d156cf73 driver: gpio: proper Kconfig shell dependency
make gpio shell depend on main shell to prevent misconfigurations

Signed-off-by: Nicholas Lowell <nlowell@lexmark.com>
2020-10-20 07:23:55 -05:00
Øyvind Rønningstad
22eb8f496a nrf53: soc.c: Replace bespoke nrf53_has_erratum19() with MDK variant
Use nrf53_errata_19() from nrf_erratas.h, which is more robust

Signed-off-by: Øyvind Rønningstad <oyvind.ronningstad@nordicsemi.no>
2020-10-20 12:28:54 +02:00
Jukka Rissanen
00f0d5729a net: tc: Make thread name unique
If there are more than one RX or TX threads, then make the name
of each of them unique so that it is easier to figure them out
in "kernel stacks" command.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2020-10-20 12:47:40 +03:00
Jukka Rissanen
25b924e45b net: conn_mgr: Change the name of the handler thread
The name of the connection manager thread (conn_mgr_thread) was
unnecessarily long in "kernel stacks" command. So make the name
to "conn_mgr" which fits nicely to the output of that command.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2020-10-20 12:47:40 +03:00
Joakim Andersson
d1e5802167 Bluetooth: kconfig: Remove the range on BT_RX_STACK_SIZE
Remove the range on the setting the bluetooth BT_RX_STACK_SIZE.
This range prevents setting the RX stack size lower than 1024,
which depending on the application is too high.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2020-10-20 12:22:38 +03:00
Mikkel Jakobsen
8f2d69c4a3 arch: posix: add missing include for cpuhalt.c
Add posix_board_if.h which declares posix_exit().

This fixes implicit declaration of function errors when running
sanitycheck on samples for native_posix that calls sys_reboot().

Signed-off-by: Mikkel Jakobsen <mikkel.aunsbjerg@prevas.dk>
2020-10-20 08:54:59 +02:00
Ioannis Glaropoulos
966015f503 samples: tfm_integration: tfm_ipc: add nucleo_l552ze_q_ns to the list
Add nucleo_l552ze_q_ns board to the allowed list of platforms
for the tfm_ipc sample. This allows the sample to be built for
the nucleo_l552ze_q_ns platform by sanity check.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-10-19 21:08:34 +02:00
Ioannis Glaropoulos
a19fbca4aa samples: tfm_integration: psa_level_1: fix sample name in .yaml
Fix the name of the sample in the .yaml file so it matches
the sample directory, and does not collide with tfm_ipc.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-10-19 21:08:34 +02:00
Ioannis Glaropoulos
7fdea78d75 samples: tfm_integration: fix requirements for building TFM binaries
In the samples' documentation we update the requirements
for building TF-M binaries according to the latest upstream
TF-M documentation.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-10-19 21:08:34 +02:00
Ioannis Glaropoulos
4ea11f80e9 .buildkite: temporary fix to manually install imgtool
Force CI to manually install imgtool, which is needed
for sanitycheck to build and run the TF-M integration
samples with MCUboot (where MCUboot is built from the
TF-M external project).

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-10-19 21:08:34 +02:00
Ioannis Glaropoulos
a814f47c0c samples: tfm_integration: fix build & flash guides for all platforms
Add documentation on how to build and run the TF-M integration
samples on nRF platforms.

The arm-none-eabi-gcc does not need to be on the PATH anymore
for building and running the tfm_ipc sample on nucleo so remove
the note from the sample docs.

Fix some paths for TFM binaries for the LPC board as well.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-10-19 21:08:34 +02:00
Ioannis Glaropoulos
5e4902d505 samples: tfm_integration: tfm_ipc: adapt nucleo_l552ze_q_ns overlay
This commit adapts the DTS overlay for nucleo_l552ze_q_ns
board, to comply with the changes applied in the flash
layout of the TF-M build.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-10-19 21:08:34 +02:00
Ioannis Glaropoulos
7e82dba130 samples: tfm_integration: adapt CMakeLists.txt to new TF-M build system
Changes required in TF-M integration samples CMakeLists.txt
files due to the new upstream TF-M build system. In brief,
configuration related to PSA API (IPC), Regression, and
Isolation level needs to be passed, now, directly, not
via invoking a given TF-M CMake configuration.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-10-19 21:08:34 +02:00
Ioannis Glaropoulos
53c7c42cca manifest: update trusted-firmware-m to latest revision
Update manifest file for tf-m to get the latest
revision in Zephyr.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-10-19 21:08:34 +02:00
Ioannis Glaropoulos
d3a8aba3dd CODEOWNERS: add code owners for the TF-M integration samples
Adding code owners for the TF-M integration samples.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-10-19 21:08:34 +02:00
Ioannis Glaropoulos
49c56b4071 boards: nucleo_l552ze_q_ns: pass compiler name to the post-build script
Pass the compiler name and path to the TF-M post-build
script as an argument, so the TF-M build can work with
the Zephyr SDK as well (not only with the GNU ARM embedded
toolchain.)

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-10-19 21:08:34 +02:00
Ioannis Glaropoulos
a152e82f4a boards: arm: add documentation for integrating TF-M on nRF platforms
Add the required documentation extensions for the nRF5340
and the nRF9160 DKs that explains how to build and run
Zephyr with TF-M as the Secure firmware image counterpart.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-10-19 21:08:34 +02:00
Ioannis Glaropoulos
eea78b1ea9 boards: arm: Add support for TF-M in nRF9160 DK
Adding support for TF-M in the Nordic nRF9160 DK.
Allow the TF-M integration samples to be built and
executed for nRF9160 DK.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-10-19 21:08:34 +02:00
Ioannis Glaropoulos
e2dc8982be boards: arm: Add support for TF-M in nRF5340 PDK
Adding support for TF-M in the Nordic nRF5340
Application MCU.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-10-19 21:08:34 +02:00
Ioannis Glaropoulos
310999da5b boards: arm: update tfm post-build scripts after upmerge
Update the TF-M post-build scripts in the relevant
ARM platforms in the wake of updating TF-M to the
latest upstream.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-10-19 21:08:34 +02:00
Ioannis Glaropoulos
c9fd62a2ea boards: arm: update board definitions due to new TF-M build system
TF-M related information in the relevant board definitions
needs to be updated in the wake of the new TF-M Build
system.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-10-19 21:08:34 +02:00
Ioannis Glaropoulos
64ecac692c modules: trusted-firmware-m: update default RSA keys
Update the default paths to private keys used
for signing the Secure and the Non-Secure firmware,
when building Zephyr together with TF-M. The update
is done to match the default configuration in
the upstream TF-M project.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-10-19 21:08:34 +02:00
Watson Zeng
2354f055ec toolchain: arcmwdt: add compile options: -Wno-typedef-redefinition
Without the -Wno-typedef-redefinition option, arcmwdt (clang based)
complains if a typedef gets redefined in gnu99  mode (since this is
officially a C11 feature). While new versions of GCC do not seem to
issue this warning in gnu99 mode anymore. So some existing code
with typedef redefined which works well with GCC will issue this
warning. As this warning is not fatal, so simply shut it off for good.

Signed-off-by: Watson Zeng <zhiwei@synopsys.com>
2020-10-19 14:06:07 -05:00
Jedrzej Ciupis
5e93790dae modules: nordic: various 802.15.4 fixes
Update hal_nordic revision to include latest nRF 802.15.4 fixes.

Signed-off-by: Jedrzej Ciupis <jedrzej.ciupis@nordicsemi.no>
2020-10-19 14:02:24 -05:00
Emil Gydesen
1f23e30b48 Bluetooth: controller: Adds kconfig for BIG commands
Guards the BIG command functions with advertiser and sync
Kconfigs.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2020-10-19 18:59:49 +02:00
Emil Gydesen
68153f048d Bluetooth: controller: HCI stubs for BIG commands
Adds initial HCI stubs for the BIG commands to be used for
broadcast isochronous channels.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2020-10-19 18:59:49 +02:00
Vinayak Kariappa Chettimada
07009701c4 Bluetooth: controller: Minor re-arrange in order of assigning handle
Minor re-arrange in the order of assigning handle after
Node Rx Type.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-10-19 18:54:59 +02:00
Vinayak Kariappa Chettimada
9c91344bbd Bluetooth: controller: Fix missing handle in ext adv terminate
Fix missing advertising handle value in the extended
advertising terminate event.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-10-19 18:54:59 +02:00
Marco Peter
493a6d8a78 drivers: ssd1306: remove SPI operation flags
Remove two operation flags in the SPI configuration
instance, which disturb software controlled chip select
lines (CS never gets released).

Signed-off-by: Marco Peter <marco@peter-net.ch>
2020-10-19 18:49:29 +02:00
Marco Peter
aff97fe7f6 driver: ssd1306: Add chip select flags for SPI
This adds the chip select device tree flags to the
spi_cs_control instance.

Signed-off-by: Marco Peter <marco@peter-net.ch>
2020-10-19 18:49:29 +02:00
Emil Gydesen
54fe453b7a Bluetooth: controller: Adds definitions for ISO PDUs
Adds the CIS, BIS and BIG Control PDU definitions.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2020-10-19 18:49:07 +02:00
Jukka Rissanen
cc230815cb drivers: gsm: Add GSM modem device name
Application might need to know the GSM modem device name so
provide it in the header file.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2020-10-19 18:29:02 +02:00
Benjamin Lindqvist
c7b6706b42 net: ppp: Ensure IPCP address is always removed
If an address was obtained by IPCP, it should always be removed in
ipcp_down(). This commit replaces the predicate with something slightly
more robust.

Signed-off-by: Benjamin Lindqvist <benjamin.lindqvist@endian.se>
2020-10-19 18:29:02 +02:00
Benjamin Lindqvist
449fc7bb1c net: ppp: Avoid wrapping each byte in muxing headers
When PPP is muxed, using uart_poll_out resulted in each byte getting
wrapped in a muxing header. This led to UART bombardment which
can quickly cause some modems to hang and panic. This was observed
regularly using a SIMCOM7600E modem.

A perfect fix would involve rewriting ppp.c, uart_mux.c and
modem_iface_uart.c to all use another UART API, but that would be more
invasive by several orders of magnitude than this one, which utilizes
the fact that the uart_mux implementation of uart_fifo_fill does NOT
require ISR context. Since the Zephyr UART API states that the behavior
of uart_fifo_fill outside of ISR context is implementation defined, this
should be kosher.

Signed-off-by: Benjamin Lindqvist <benjamin.lindqvist@endian.se>
2020-10-19 18:29:02 +02:00
Benjamin Lindqvist
54cb2bcd41 drivers: modem: gsm_ppp: Enable start/stop
These changes enable applications to restart the networking stack which
was previously not possible without rebooting the device. This was a
major show-stopper because it made power management impossible, and
furthermore made it impossible to recover from a bad modem state without
rebooting.

This has been verified to work on a SIMCOM7600E modem, both with and
without CONFIG_GSM_MUX enabled.

Signed-off-by: Benjamin Lindqvist <benjamin.lindqvist@endian.se>
2020-10-19 18:29:02 +02:00
Benjamin Lindqvist
966932a033 drivers: modem: add forgotten log_strdup call
The char pointer that is logged could get scoped out and so should be
strduped before logging.

Signed-off-by: Benjamin Lindqvist <benjamin.lindqvist@endian.se>
2020-10-19 18:29:02 +02:00
Peter Bigot
327afd2c56 devicetree: add a name for an invalid node identifier
This can be used in factored code to determine that no devicetree node
was available.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-10-19 18:14:11 +02:00
Peter Bigot
3dd804fe91 sys: util: add identity macro
Several utility macros must be given the name of a macro to apply to
every element in a sequence to transform it.  When no transformation
is necessary a macro still needs to be provided.  That macro is
IDENTITY.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-10-19 18:14:11 +02:00
Rubin Gerritsen
71ee632e94 bluetooth: controller: Allow CTLR_PRIVACY and EXT_SCAN_FP when CONN=n
These options are not dependent on the connection state.

Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
2020-10-19 17:54:32 +02:00
Rubin Gerritsen
63733d840d bluetooth: controller: All controllers can use BT_CTLR_FILTER
This option is generic enough to be used for all controllers.

Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
2020-10-19 17:54:32 +02:00
Anas Nashif
5d0cf010e2 doc: use latest label instead of version in docs
Instead of having a .99 version, use latest and link to the lates
documentation on the left side bar.

The version number has been confusing users where it was difficult to
determine if they were looking at the development tree or some released
version.

Fixes #24453

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2020-10-19 11:52:40 -04:00
Ioannis Glaropoulos
4932925fde doc: modules: rework content describing submitting changes to modules
We rework the titles and headers of the section where we
describe the process for submitting new module and changes
to existing modules. Move the 'requirements' section at the
top of the page.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-10-19 17:51:19 +02:00