Commit graph

52954 commits

Author SHA1 Message Date
Henning Fleddermann
32989a38f0 lwm2m: use asynchronous socket io
This restructures the lwm2m_engine to use a non-blocking socket access
instead of the previously used blocking style, and eliminates any
socket-access from outside of the main work loop.

The main motivation behind this is an issue within nordics
nrf_modem_lib/modem-fw on nrf9160, that leads to socket send() calls to
block indefinitely when the shared memory used for
rpc-communication with the modem is already exhausted because of
incoming data.

This lead to the lwm2m_engine locking up on send calls when there is
also a large amount of incoming data.

This works around this issue, by only issuing send calls when poll
reports the socket to be ready for sending, and (more importantly) by
always receiving all buffered incoming data before sending anything.

There might still be a (perhaps academic) possibility where this
situation might be triggered, when  the scheduler interrupts the lwm2m
thread in-between receiving and sending, but for now we have not yet
observed this.

Besides working around the aforementioned issue, this also simplifies
the way resends are handled as they are no longer send from the main
system-workqueue, and limits all interaction with the sockets to a
single thread.

Signed-off-by: Henning Fleddermann <henning.fleddermann@grandcentrix.net>
2021-06-07 10:39:37 +03:00
Hubert Miś
b39537d151 drivers: ieee802154: make keys management API generic
Keys management API for IEEE 802.15.4 drivers was specific for Thread
protocol. With this change API is more generic and aligned with Thread
needs.

Signed-off-by: Hubert Miś <hubert.mis@nordicsemi.no>
2021-06-07 10:39:14 +03:00
Jukka Rissanen
0106e83c74 tests: net: socket: Add userspace tests to SO_BINDTODEVICE
Change the SO_BINDTODEVICE tests so that we test also userspace
mode.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2021-06-07 10:37:22 +03:00
Andreas Vibeto
75dccbbbc7 samples: tfm: Add PSA Protected Storage sample
Add sample showing PSA Protected Storage API usage

Signed-off-by: Andreas Vibeto <andreas.vibeto@nordicsemi.no>
2021-06-07 09:27:08 +02:00
Anas Nashif
9143f4fd8c fdtable: remove remains of switch
a switch was converted to an if statement and still had a default,
something went really wrong here.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-06-05 10:38:04 -04:00
Anas Nashif
d4ea2261e0 version: add EXTRAVERSION to VERSION file
Re-add EXTRAVERSION to version file.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-06-05 07:07:01 -04:00
Dino Li
2bf63134e8 arch: riscv: linker script: add support for rom_start section
With this change, we can put contents into rom_start section
by calling zephyr_linker_sources(ROM_START ...)

Signed-off-by: Dino Li <Dino.Li@ite.com.tw>
Co-authored-by: Torsten Tejlmand Rasmussen
Change-Id: If1169423b013d3e4df52d91cdb2fbdddc3bace7b
2021-06-04 16:31:00 -05:00
Tim Lin
958c79ea5a ite: drivers/i2c: it8xxx2: Don't check bus busy during repeat start
If the transaction of write to read is divided into two transfers,
the second transfer will go to check bus busy and cause i2c reset.
This change adds flag to eliminate this situation.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2021-06-04 16:30:45 -05:00
Armando Visconti
fcb0953309 drivers/sensor: lis2mdl: Add multi-instance support
Add multi-instance support and make use of the stmemsc i2c/spi
read/write routine that has been introduced to simplify the ST
sensor drivers code.

Moreover, move spi-full-duplex property from Kconfig inside Device
Tree, so that each LIS2MDL instance can be configured selectively
in accordance to how it is used in h/w.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2021-06-04 16:29:45 -05:00
Robert Lubos
34fb892fb5 net: sockets: tls: Use secure random generator from Zephyr
Zephyr has introduced secure random generator API after the TLS sockets
were implemented. Use this new API in TLS sockets implementation,
instead of implementing secure RNG with mbedTLS in the module itself.
This facilitates integration of the HW RNG accelerators with the TLS
sockets module.

Signed-off-by: Frank Audun Kvamtrø <frank.kvamtro@nordicsemi.no>
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2021-06-04 16:27:17 -05:00
Marcin Jeliński
02e8bb805b samples: bluetooth: periperal_hr: create minimal configuration
Create minimal configuration for the peripheral_hr. Which can
be used to build this sample for nRF52810 and nRF52811 targets.

Signed-off-by: Marcin Jeliński <marcin.jelinski@nordicsemi.no>
2021-06-04 16:26:56 -05:00
Robert Szczepanski
ba56d751c0 drivers: gpio_litex: add support for changing IRQ type
LiteX GPIOIn module provides possibility to change IRQ mode
and edge via CSRs. This commit adds support for that feature.

Signed-off-by: Robert Szczepanski <rszczepanski@internships.antmicro.com>
2021-06-04 16:24:52 -05:00
Robert Szczepanski
639e1d1b36 drivers: gpio_litex: add support for disabling IRQs and update devicetree
This adds missing option to disable IRQs.
Devicetree is modified to match previous commit with custom IRQ CSR
addresses.

Signed-off-by: Robert Szczepanski <rszczepanski@internships.antmicro.com>
2021-06-04 16:24:52 -05:00
Raptor Engineering Development Team
0061a61f14 drivers: gpio_litex: make IRQ CSR addresses adjustable for user
This adds an option to set IRQ pending and IRQ enabled CSR adresses
in devicetree since these can be custom in LiteX.

Signed-off-by: Raptor Engineering Development Team <support@raptorengineering.com>
2021-06-04 16:24:52 -05:00
Robert Szczepanski
cf385b0a15 drivers: gpio_litex: add support for litex_vexriscv GPIO interrupts
This commit adds support for GPIO interrupts in GPIO driver for Litex
SoC Builder.

Signed-off-by: Robert Szczepanski <rszczepanski@internships.antmicro.com>
2021-06-04 16:24:52 -05:00
Jennifer Williams
ae85da1c90 kernel: poll: fix coding guideline 15.7 missing comment
The final else {} in the if...else if is missing required
comment (non-empty, ';' is not sufficient). This adds a comment
to comply with CG 15.7.

Signed-off-by: Jennifer Williams <jennifer.m.williams@intel.com>
2021-06-04 16:22:50 -05:00
Maksim Masalski
9eab89ff20 lib: replace one case switch with if operator
Current "switch" operator with one case replace with the "if"
operator, because every switch statement shall have at least
two case-clauses.

Found as a coding guideline violation (MISRA R16.1) by static
coding scanning tool.

Signed-off-by: Maksim Masalski <maksim.masalski@intel.com>
2021-06-04 16:22:38 -05:00
Maksim Masalski
a61edd480d lib: add default labels and comments to switch statements
According to the Zephyr Coding Guideline all switch statements
shall be well-formed.
Added a default labels to switch-clauses without them.
Added comments to the empty default cases.

Found as a coding guideline violation (MISRA R16.1) by static
coding scanning tool.

Signed-off-by: Maksim Masalski <maksim.masalski@intel.com>
2021-06-04 16:22:23 -05:00
Daniel Leung
82ec1c0e88 kernel: ignore array bound warnings for generated syscall funcs
Compilers and static code analyzers do not understand Zephyr's
syscall mechanism so they always complain about out of bound
array access inside the generated syscall header functions.
So add a flag for GCC to ignore this type of warning for these
functions.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2021-06-04 16:22:03 -05:00
Daniel Leung
72c2f182bc cmake: force GCC to emit DWARF version 4
GCC 11 defaults to output DWARF version 5 which pyelftools cannot
currently parse. So keep output at version 4 for the time being.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2021-06-04 16:22:03 -05:00
Ioannis Glaropoulos
bf87f98fa4 modules: tf-m: fix NS image selection for regression tests
When running with TFM Regression option set, but without
BL2 (MCUboot) we need to use the TF-M's NS binary, and not
the Zephyr application. This was selected properly for the
case with MCUboot boot already, but not when running the
regression tests without MCUboot.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2021-06-04 16:21:42 -05:00
Håkon Øye Amundsen
f8a9e0019c modules: tfm: add option for selecting crypto modules
These are needed to disable not needed crypto modules in
the trusted-firmware-m module.

Signed-off-by: Håkon Øye Amundsen <haakon.amundsen@nordicsemi.no>
Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2021-06-04 16:21:24 -05:00
Maksim Masalski
e9600a75fc kernel: thread: add default case, remove unused break
According to the Zephyr Coding Guideline all switch statements
shall be well-formed. Add a default case with break and comment
to avoid static analysis tool to raise a violation that there is no
default case.
Also, I think, in all cases above no need to use "break",
because they already are using "return".

Found as a coding guideline violation (MISRA R16.1) by static
coding scanning tool.

Signed-off-by: Maksim Masalski <maksim.masalski@intel.com>
2021-06-04 16:21:01 -05:00
Maksim Masalski
3960d413db lib: os: add braces to 'if' statements
An 'if' (expression) construct shall be followed by a compound
statement.
Add braces to improve readability and maintainability.

Found as a coding guideline violation (MISRA R15.6) by static
coding scanning tool.

Signed-off-by: Maksim Masalski <maksim.masalski@intel.com>
2021-06-04 16:20:44 -05:00
Rafał Kuźnia
9f3d34169f samples: net: Increase stack sizes for echo client/server
The echo client/server samples may require more stack
capacity on some platforms.

Signed-off-by: Rafał Kuźnia <rafal.kuznia@nordicsemi.no>
2021-06-04 16:20:27 -05:00
Maksim Masalski
78ba2ec830 coding guidelines: add to function prototypes form named parameters
Function types shall be in prototype form with named parameters

Found as a coding guideline violation (MISRA R8.2) by static
coding scanning tool.

Signed-off-by: Maksim Masalski <maksim.masalski@intel.com>
2021-06-04 16:20:06 -05:00
Maksim Masalski
366de7a890 logging: z_vrfy_log_filter_set: remove extra check
Variable "level" in function z_vrfy_log_filter_set() has type unsigned.
But it is been checked if "level >=LOG_LEVEL_NONE" and
LOG_LEVEL_NONE is 0. It means check if unsigned is ">= 0" in Z_OOPS().
That is logically wrong, because unsigned is ">=0" by default.
Remove that check, to avoid static analysis tool raise
violation

Found as a coding guideline violation (MISRA R14.3) by static
coding scanning tool.

Signed-off-by: Maksim Masalski <maksim.masalski@intel.com>
2021-06-04 16:19:49 -05:00
Lukasz Maciejonczyk
8b12311bdf net: openthread: add option to configure software transmission security
If radio driver supports transmission security we need an option
to disable transmission security which by default is done by OT stack
for Thread v1.2

Signed-off-by: Lukasz Maciejonczyk <lukasz.maciejonczyk@nordicsemi.no>
2021-06-04 16:19:16 -05:00
Henrik Brix Andersen
2dc90a0825 drivers: adc: mcp320x: convert to new DT helper macros
Simplify the the MCP320x instance initialization macro a bit by
converting it to use the new DT helper macros for SPI.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2021-06-04 16:19:01 -05:00
Henrik Brix Andersen
7c6c65e384 drivers: gpio: lmp90xxx: convert to new DT helper macros
Convert from using device_get_binding() to DEVICE_DT_GET().

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2021-06-04 16:18:51 -05:00
Henrik Brix Andersen
31fc67d9ae drivers: adc: lmp90xxx: convert to new DT helper macros
Simplify the LMP90xxx instance initialization macro a bit by converting
it to use the new DT helper macros for SPI and GPIO.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2021-06-04 16:18:51 -05:00
Guillaume Lager
42835a780a drivers: sensor: tmp116: Check that a new value is available
Add a check to ensure that the conversion is complete before reading

Signed-off-by: Guillaume Lager <g.lager@innoseis.com>
2021-06-04 16:18:33 -05:00
Guillaume Lager
c40f0ec108 drivers: sensor: tmp116: Fix compilation error
commit d31ed3be04 enabled multiple
instances but when multiple instances are actually used the code does
not compile

Signed-off-by: Guillaume Lager <g.lager@innoseis.com>
2021-06-04 16:18:33 -05:00
Bradley Bolen
131af7648f arch: arm: cortex_r: Use assembler macros for exceptions
Most of the code for the three exception functions is identical so use
macros to make things easier to read.

Signed-off-by: Bradley Bolen <bbolen@lexmark.com>
2021-06-04 16:18:01 -05:00
Bradley Bolen
90e76bd891 arch: arm: cortex_r: Use macro for svc call
Use the context switch macro for z_arm_cortex_r_svc to be more clear
about the svc call being executed.

Signed-off-by: Bradley Bolen <bbolen@lexmark.com>
2021-06-04 16:18:01 -05:00
Alexandre Bourdiol
b317ef89b1 sample: drivers: led_ws2812: support nucleo_l476rg
Support nucleo_l476rg

Signed-off-by: Alexandre Bourdiol <alexandre.bourdiol@st.com>
2021-06-04 16:17:38 -05:00
Ruibin Chang
8482b9a1a8 ITE dts/riscv/it8xxx2.dtsi: add ecpm node for it8xxx2
Add EC clock and power management (ecpm) node for it8xxx2.

Signed-off-by: Ruibin Chang <ruibin.chang@ite.com.tw>
2021-06-04 16:16:57 -05:00
Devaraj Ranganna
7273603707 modules: tf-m: Add Crosstool-NG toolchain support
Zephyr SDK is not supported on OS X, however, Zephyr toolchain can be
built on OS X using Crosstool-NG.

Currently, trusted-firmware-m CMakeLists.txt only supports `zephyr` and
`gnuarmemb` toolchains which prohibits building TF-M on OS X using
Zephyr toolchain built with Crosstool-NG.

docs:
https://docs.zephyrproject.org/latest/getting_started/toolchain_3rd_party_x_compilers.html#crosstool-ng

Signed-off-by: Devaraj Ranganna <devaraj.ranganna@linaro.org>
2021-06-04 16:16:05 -05:00
Fabio Baltieri
ab46307552 boards: stm32f429i_disc1 remove usart2 node
On the STM32F429I-DISC1 PA2 is used for MEMS_INT2, which is driven low
by U3 by default. Connecting it to USART2 TX causes the MCU to try and
drive it high at the same time, causing excessive power consumption.

Dropping the usart2 node since the USART2 alternate pins are also used
for other things, and no other UARTs of the device has a pair of TX/RX
pins available on this reference board in its default configuration.

Signed-off-by: Fabio Baltieri <fabio.baltieri@gmail.com>
2021-06-04 16:15:12 -05:00
Mulin Chao
d8e5da00d0 dts: npcx: add device-tree files of npcx9 series.
Add device-tree files for npcx9 series such as npcx7m3f and npcx7m6f in
the following folder chart.

dts/arm/nuvoton
    |--npcx
    |    |--npcx7
    |    |    |--npcx7-miwus-wui-map.dtsi
    |    |    |--npcx7-alts-map.dtsi
    |    |    |--.....
    |    +--npcx9
    |    |    |--npcx9-miwus-wui-map.dtsi
    |    |    |--npcx9-alts-map.dtsi
    |    |    +--.....
    |    |--npcx-miwus-wui-map.dtsi
    |    |--npcx-alts-map.dtsi
    |    |--.....
    |
    |--npcx.dtsi
    |--npcx7.dtsi
    +--npcx9.dtsi

Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
Signed-off-by: Mulin Chao <mlchao@nuvoton.com>
2021-06-04 16:14:48 -05:00
Mulin Chao
a9366c76e8 dts: npcx: arrange device-tree files of npcx7 series.
Arrange device-tree files of npcx7 series by following steps:

1. Move device-tree declarations of npcx family to npcx.dtsi.
2. Leave specific device declarations of npcx7 series to npcx7.dtsi.
3. Move chip series related mapping tables such as
   npcx7-miwus-wui-map.dtsi and so on to npcx/npcx7 folder.
4. Move common device-tree declarations used in each npcx series to
   npcx-miwus-wui-map.dtsi and so on to npcx folder.

Then, the npcx device-tree folders are arranged to:

dts/arm/nuvoton
    |--npcx
    |    |--npcx7
    |    |    |--npcx7-miwus-wui-map.dtsi
    |    |    |--npcx7-alts-map.dtsi
    |    |    |--.....
    |    |--npcx-miwus-wui-map.dtsi
    |    |--npcx-alts-map.dtsi
    |    |--.....
    |
    |--npcx.dtsi
    |--npcx7.dtsi

Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
Signed-off-by: Mulin Chao <mlchao@nuvoton.com>
2021-06-04 16:14:48 -05:00
Mulin Chao
a8a217f22d dts: npcx: replace series-prefix 'npcx7-' with famliy-prefix 'npcx-'
This CL replaces series-prefix "npcx7-" with family-"npcx-" for npcx dts
nodes such as 'espi-vws-map' and 'miwus-int-map'. Since we plan to
introduce the npcx9 and later series, adding a new node such as
npcx9-espi-vws-map for each series is more complicated and not
necessary.

Signed-off-by: Mulin Chao <mlchao@nuvoton.com>
2021-06-04 16:14:48 -05:00
Tim Schumann
854bdf56b4 boards: frdm_k82f: Add arduino_i2c and arduino_spi support
* Tested with adafruit_2_8_tft_touch_v2 shield
* Shield uses GPIO Chip Select

Signed-off-by: Tim Schumann <TimSchumann@gmail.com>
2021-06-04 16:13:43 -05:00
Alexander Kozhinov
1de0b49212 dts: arm: st: f4: stm32f4: dtsi: add gpio ports f and g
add additional gpio ports according to RM0390 Rev 6 p.58

Co-authored-by: Erwan Gouriou <erwan.gouriou@linaro.org>

Signed-off-by: Alexander Kozhinov <AlexanderKozhinov@yandex.com>
2021-06-04 16:12:24 -05:00
Kumar Gala
9bbbc927d1 release: Update patch level to 99 after the 2.6.0 release
Sets the patch level to 99 for the 2.7 development cycle.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2021-06-04 16:10:13 -05:00
Kumar Gala
79a6c07536 release: Updates for v2.6.0
VERSION and conf.py updates for v2.6.0 release

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2021-06-04 16:07:47 -05:00
Kumar Gala
93ccb58997 doc/releases: v2.6.0: Updates for release
* Fix header for release
* Update issues before release

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2021-06-04 16:07:47 -05:00
Kumar Gala
36a24329f8 doc/ref/api: Update API Version Modified
Update API Version Modified field for things that changed
for the 2.6.0 release.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2021-06-04 15:04:53 -05:00
David Brown
f6b22ecc74 doc: security: Add CVE-2021-3581 to docs
Update release notes for 2.6, and the vulnerabilities page to mention
CVE-2021-3581.  This CVE is under embargo until Sept 4, 2021.

Signed-off-by: David Brown <david.brown@linaro.org>
2021-06-04 13:57:40 -05:00
Gerard Marull-Paretas
b1aefca2d3 doc: add example application to the release notes
Mention the example application as a major enhancement and provide a
link to its repository.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-06-04 12:50:41 -05:00