Commit graph

85,247 commits

Author SHA1 Message Date
Emil Obalski
557b12f2c6 CODEOWNERS: Adding myself for icmsg backend for IPC service
Adding myself as a code owner for icmsg backend in
IPC-service.

Signed-off-by: Emil Obalski <Emil.Obalski@nordicsemi.no>
2023-04-03 11:29:08 +02:00
Emil Obalski
baf758dd52 samples: ipc: Remove shared memory clear
Clearing the shared memory is no longer required
after bounding functionality was reworked and an attempt
to read the magic numer is no longer the case.

Signed-off-by: Emil Obalski <Emil.Obalski@nordicsemi.no>
2023-04-03 11:29:08 +02:00
Emil Obalski
5143db540c ipc: Fix icmsg deregister functionality
This change fixes the deregister functionality for
icmsg backend. There are two changes:

Memory access layer was not initialized properly
when the endpoint was registered again. This lead to
memory fault when attepmt to write to the buffer was
done.

Mbox driver was initialized before memory access layer
was initialized. This could lead to race condition
where immediately after the mbox driver was initialized,
the receiving work is scheduled due to pending interrupt.
In that case an attempt to read from garbage address will
occur.

Signed-off-by: Emil Obalski <Emil.Obalski@nordicsemi.no>
2023-04-03 11:29:08 +02:00
Krzysztof Chruscinski
fc4606da02 tests: drivers: counter: nrf_rtc: Add delay in the test
Some Nordic platforms start counter with the delay and
test_short_relative_alarm test expects very early alarm,
just after starting the counter. Adding the delay which
is applicable only for counter based on Nordic RTC peripheral.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2023-04-03 11:28:59 +02:00
Krzysztof Chruscinski
3b5c059cf4 Revert "tests: drivers: counter: Relax timing requirement"
This reverts commit 51f452bbf0.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2023-04-03 11:28:59 +02:00
Tom Burdick
06aa17f716 tests: SPI loopback with RTIO
Adds the equivalent spi loopback tests using RTIO and a testplan that
uses it. Adds a tdk robokit1 overlay to enable the NOCACHE option so
that DMA transfers correctly work.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2023-04-03 09:51:02 +02:00
Tom Burdick
dcd9322d43 spi: SAM add RTIO support
Implements the SPI RTIO API. Refactors many of the internal transfer
functions to work on simple types to allow for both the RTIO and existing
SPI API functions to co-exist.

Removes the unneeded shift_master specialization. Either a polling or DMA
transfer flow is used when used with RTIO as all operations are normalized.

When SPI_RTIO is enabled the spi_transceive blocking call translates
the request into an RTIO transaction placed in the queue of transactions
the device is meant to do.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2023-04-03 09:51:02 +02:00
Tom Burdick
d9d24b4d65 spi: Add RTIO support to SPI
Provides a macro and submit API for SPI drivers to support RTIO.

A copy function enables compatibility with the existing blocking API
and very easily the existing async API as well.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2023-04-03 09:51:02 +02:00
Tom Burdick
a539d9c904 rtio: Add transceive op
Adds the transceive op which is needed for full SPI support. Notably
in RTIO transceive is expected to be a balanced buffer pair of the same
length and have non-null tx/rx bufs.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2023-04-03 09:51:02 +02:00
Tom Burdick
912e7ff863 rtio: Add callback op
Adds a callback op to RTIO enabling C logic to be interspersed with
I/O operations. This is not safe from userspace but allowable in kernel
space.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2023-04-03 09:51:02 +02:00
Tom Burdick
bb72809326 rtio: Add tiny write op
When sending small buffers out it makes sense to copy rather than
reference to avoid having to keep the small buffer around for the
lifetime of the write request.

Adjusts the op numbers to always be +1 from the previously defined op
id making it easier to re-arrange if needed in the future.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2023-04-03 09:51:02 +02:00
Przemyslaw Bida
172da307d6 net: openthread: Fix OPENTHREAD_CSL_RECEIVE_TIME_AHEAD.
This commit fixed Openthread kconfig option to use correct value and
description of units.

Signed-off-by: Przemyslaw Bida <przemyslaw.bida@nordicsemi.no>
2023-04-03 09:50:53 +02:00
Francois Ramu
cef8c3fdd1 samples: drivers: adc for the stm32h5 boards
Add the new nucleo_h503rb board for testing the adc_api driver
on the ADC1 channel6 (pf12). Read the analog value of the ADC1
input on A5 of the arduino connector (CN16).

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-04-03 09:50:43 +02:00
Francois Ramu
0b422ed02e tests: drivers: adc for the stm32h573 board
Conifgures the new h573i disco kit board for testing the adc_api driver
on the ADC1 channel0 (on pa0).

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-04-03 09:50:43 +02:00
Francois Ramu
6e5ee26eb9 tests: drivers: dac api testing on the stm32h573_dk
Run the tests/drivers/dac/dac_api on the stm32h573_dk disco board
The DAC channel1 is used for testing

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-04-03 09:50:43 +02:00
Francois Ramu
9e2553e5b4 boards: arm: stm32h5 disco kit stm32h573i_dk enables ADC and DAC
Add all DAC and ADC peripherals for the stm32h573i_dk disco kit
ADC1 channel 6 is available on pin PF12
DAC1 channel 1 is available on pin PA4

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-04-03 09:50:43 +02:00
Francois Ramu
3f6a3d6031 drivers: adc stm32adc driver for the new stm32h5 serie
Add the support of the new stm32h5 to the stm32 ADC driver
Note : LL_ADC_CLOCK_ASYNC_DIV6 is the value for getting the
expected results of ADC.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-04-03 09:50:43 +02:00
Francois Ramu
716892e510 dts: arm: stm32h5 adds the ADC and DAC nodes
Defines the ADC1 and DAC1 nodes of the stm32h5 serie.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-04-03 09:50:43 +02:00
Alberto Escolar Piedras
03db441d3d tests bsim: Remove unnecessary BT_TINYCRYPT_ECC selection
There is no need to select BT_TINYCRYPT_ECC as it will
be selected by default if the controller does not
provide BT_CTLR_ECDH[_SUPPORT].
But setting it in the prj.conf will break
for controllers that provide it,
as both host and controller will provide the same APIs.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-04-03 09:50:30 +02:00
Alberto Escolar Piedras
271fea3386 tests bsim: Remove unnecessary controller selection
There is only one controller in upstream Zephyr,
there is no need to explicitly select it, as it
will default to it.
But selecting it prevents other controllers from being
used downstream or with other targets => remove it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-04-03 09:50:30 +02:00
Lucas Tamborrino
6ee9e72909 tests: drivers: pwm: pwm_loopback: add esp32s3 overlay
Add esp32s3 overlay to pwm_loopback test using mcpwm
peripheral.

Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
2023-04-02 22:08:57 -04:00
Lucas Tamborrino
1b2ec541ce dts: esp32s3: add MCPWM device
Add MCPWM device node to esp32s3

Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
2023-04-02 22:08:57 -04:00
Evgeniy Paltsev
319619b5ee ARC: MWDT: fix build with cpp98 standard
cpp98 doesn't support static_assert, so we shouldn't use it.

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Evgeniy Paltsev <PaltsevEvgeniy@gmail.com>
2023-04-02 22:08:09 -04:00
Lucas Tamborrino
b100ffb1df drivers: spi: esp32xx: Fix word size issue
This commit fixes the word size configuration issue
described in #54746 by considering the data frame size
when trasmitting in case the configuration is applied.

It also fixes an heap corruption problem when using
SPI DMA with a buffer that is not multiple of 32 bits
in lenght and GDMA instance in initialization.

Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
2023-04-02 22:07:55 -04:00
Fabio Baltieri
08d1b33d07 doc: troubleshooting: update the save-temps instructions
Update the save-temps instruction to mention the new kconfig option
instead of setting EXTRA_CFLAGS directly.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-04-02 22:07:22 -04:00
Fabio Baltieri
3f8f7130e7 kconfig,toolchain: add an option for compiler save-temps
Add a Kconfig option to set the compiler save-temps flag and set the GCC
implementation. This is very useful for troubleshooting macro expansion
issues, having an option allows a user to set it like any other config
option.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-04-02 22:07:22 -04:00
Kumar Gala
d82175eadd gpio: fix armclang compiler warnings with is*() functions
We get compile warnings of the form:

error: converting the result of
'<<' to a boolean; did you mean
'((__aeabi_ctype_table_ + 1)[(byte)] << 28) != 0'?
 [-Werror,-Wint-in-bool-context]
                if (!isprint(byte)) {
                     ^

Since isprint (and the other is* functions) return an int, change check
to an explicit test against the return value.

Signed-off-by: Kumar Gala <kumar.gala@intel.com>
2023-04-01 12:31:58 -04:00
Ryan McClelland
28bb21cfe6 drivers: i3c: cdns: set tx fifo threshold interrupt to half the fifo
When a controller is running at full SDR speed at 12.5MHz, there needs
to be enough time for the processor get around to writing more data in
the fifo. Previously at -1 the size, this was enough for 1MHz with a
decent processor, but not enough at a 12.5MHz SCL.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2023-04-01 07:37:03 -04:00
Flavio Ceolin
3db1e550c8 pm: device_runtime: Fix documentation
pm_device_runtime_enable and pm_device_runtime_disable
no longer return -ENOSYS.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-03-31 16:16:43 -04:00
Daniel Leung
8dda1fe154 pm: mark pm_device_runtime_auto_enable as boot function
When demand paging is enabled, only a minimal set of functions
are available at boot. Anything not marked as boot functions
would not be loading in memory at boot which would result in
page faults when jumping to those functions. However, at early
boot, demand paging has not been enabled yet. So we need to
mark necessary functions as boot functions so they are placed
in the correct linker section where they are loaded at boot.

Fixes #56414

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-03-31 14:31:52 -04:00
Henrik Brix Andersen
4f0cfdda80 drivers: can: document return value of 0 for can_get_max_bitrate()
Explicitly document that a return value of 0 from can_get_max_bitrate()
indicates success.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-03-31 16:22:16 +00:00
Kotaro SHIOTA
23e764958e boards: arm: nucleo_l152re: Add die-temp0 alias
Add die-temp0 alias to die_temp node.
The die_temp_polling sample uses this alias.

Signed-off-by: Kotaro SHIOTA <shiota.kotaro@fujitsu.com>
2023-03-31 16:21:24 +00:00
Kumar Gala
14d59b3b56 cortex_m: tz_ns.h: Fix compiling with arm-clang
We get the following error when building with arm-clang:

error: non-ASM statement in naked function is not supported
        __TZ_WRAP_FUNC(preface, foo1, postface);
        ^
tests/arch/arm/arm_tz_wrap_func/src/main.c:69:25: note: attribute is here
uint32_t __attribute__((naked)) wrap_foo1(uint32_t arg1, uint32_t arg2,
                        ^
1 error generated.

Remove the do/while wrapper to make this a true naked function.

Signed-off-by: Kumar Gala <kumar.gala@intel.com>
2023-03-31 08:43:18 -05:00
Lauren Murphy
fb9aefca1f boards: intel_adsp: unify and update docs
Unifies docs into one updated guide with stubs for each platform.

Signed-off-by: Lauren Murphy <lauren.murphy@intel.com>
2023-03-31 14:54:12 +02:00
Francois Ramu
c36622daa5 tests: drivers: dma testing on the stm32h573i_dk board
Configure the tests/drivers/dma/loop_transfer
and the tests/drivers/dma//chan_blen_transfer
to run on the stm32h573i_dk : use gpdma1 or gpdma2.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-03-31 14:02:15 +02:00
Francois Ramu
170e1a364c boards: arm: stm32h5 disco kit stm32h573i_dk enables dma
Add the DMA instance for the stm32h573i_dk disco kit
from STMicroelectronics.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-03-31 14:02:15 +02:00
Francois Ramu
93a1b61684 drivers: dma: stm32u5 dma driver with two dma instances
Add a second instance of DMA to the stm32 dma driver from the DTS
That can be found in the stm32H5 serie, where 2 GPDMA with 8 channels
are available. Rebuilding with Macro.
Use the dma_channels property of the dedive tree to count the nb
of dma channels: 16 or 8 (like in stm32h5).

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-03-31 14:02:15 +02:00
Francois Ramu
a6ffea0720 dts: arm: stm32h5 serie adds nodes for GP DMA
Adds the nodes for the GPDMA 1 & 2  peripherals
to the stm32h5 serie.
Each instance has 8 channels and 140 DMA requests.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-03-31 14:02:15 +02:00
Alberto Escolar Piedras
5a8897adbc nrf52_bsim: Default 15.4 driver encryption to n
The driver Tx encryption does not work yet in simulation.
Let's disable it by default.
(Encryption at Openthread can be used instead).

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-03-31 14:01:42 +02:00
Théo Battrel
ff10a9cf23 Bluetooth: Host: Remove unnecessary guarding
Remove unnecessary guarding. With `BT_DEBUG` removed, those conditions
were not needed anymore.

Signed-off-by: Théo Battrel <theo.battrel@nordicsemi.no>
2023-03-31 14:01:33 +02:00
Kumar Gala
b9a63b805e lwm2m: fix armclang compiler warnings with is*() functions
We get compile warnings of the form:

error: converting the result of
'<<' to a boolean; did you mean
'((__aeabi_ctype_table_ + 1)[(byte)] << 28) != 0'?
 [-Werror,-Wint-in-bool-context]
                if (!isprint(byte)) {
                     ^

Since isprint (and the other is* functions) return an int, change check
to an explicit test against the return value.

Signed-off-by: Kumar Gala <kumar.gala@intel.com>
2023-03-31 14:01:24 +02:00
Keith Packard
812187a87f west.yml: update hal_atmel to include picolibc compat fix
This update removes the LITTLE_ENDIAN/__LITTLE_ENDIAN defines in all of the
chip-specific headers as those conflict with usage of these macros in
picolibc.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-03-31 14:01:12 +02:00
Szymon Janc
aa861727e8 bluetooth: tester: Use fixed value for BT_BUF_ACL_RX_SIZE
Default BT_BUF_ACL_RX_SIZE value varies based on selected host options.
Many buffers size (L2CAP COC MPS in particular) depends on that value
and those may affect qualification test cases steps.

To make core tests more predictable just use fixed values big enough to
comply with all configurations requirements.

This was affecting L2CAP/COS/ECFC/BV-04-C.

Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
2023-03-31 14:00:48 +02:00
Shawn Nematbakhsh
bf46f73510 tests: Remove references to deleted board "beaglev_starlight_jh7100".
beaglev_starlight_jh7100 board was deleted so remove references to it in
tests/.

fixes: #56398

Signed-off-by: Shawn Nematbakhsh <shawn@rivosinc.com>
2023-03-31 07:13:24 -04:00
Kumar Gala
8d5392513e console: fix armclang compiler warnings with is*() functions
We get compile warnings of the form:

error: converting the result of
'<<' to a boolean; did you mean
'((__aeabi_ctype_table_ + 1)[(byte)] << 28) != 0'?
 [-Werror,-Wint-in-bool-context]
                if (!isprint(byte)) {
                     ^

Since isprint (and the other is* functions) return an int, change check
to an explicit test against the return value.

Signed-off-by: Kumar Gala <kumar.gala@intel.com>
2023-03-31 07:05:07 -04:00
Dominik Ermel
0e6c306dce west.yaml: MCUboot synchronization from upstream
Update Zephyr fork of MCUboot to revision:
 143485e35b8da7d234677d8920a28f5ea03f6d09

Brings following Zephyr relevant fixes:
 143485e3 zephyr: Add missing Kconfig dependencies for USB DFU
 16f3de56 imgtool: fix boot_magic when -e big and max-align > 8
 259d989f bootutil: Fix erase of trailer when located in scratch area
 e8294b2a boot_serial: Add packed to struct
 68dcc0ee zephyr: single_loader: Switch to flash_area_get_sector
 069aea48 zephry: Add flash_area_get_sector
 9551b6ef boot: zephyr: Remove deprecated GPIO Kconfig entries
 dc8ef879 zephyr: serial_recovery: Use Zephyr manifest zcbor files
 e026c367 imgtool: sign: allow using 16-bit custom TLVs from valid range

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2023-03-31 10:42:14 +02:00
Peter Fecher
a95862bcdc samples: sensor: Add proximity sensor sample
Adds generic sample for proximity sensors.

Signed-off-by: Peter Fecher <p.fecher@phytec.de>
2023-03-31 09:20:36 +02:00
Peter Fecher
924ac2265d drivers: sensor: Add tmd2620 driver
Adds tmd2620 driver and devicetree bindings to work in
trigger and polling mode supporting Power management.

Signed-off-by: Peter Fecher <p.fecher@phytec.de>
2023-03-31 09:20:36 +02:00
Ravi Dondaputi
546abe778d net: wifi_shell: Display correct security type in scan results
In status output, algos like WPA, WEP etc. are not being identified
in the scan results. Instead security mode is being displayed as
"UNKNOWN" for APs using these security modes.
Identify all such modes and display the security mode correctly.

Signed-off-by: Ravi Dondaputi <ravi.dondaputi@nordicsemi.no>
2023-03-31 09:20:29 +02:00
Jordan Yates
41d83d7ea2 lora: compile drivers based on devicetree
Similar to the changes made in #48048, compile in the appropriate lora
modem driver when `CONFIG_LORA=y`. The `LORA_SX12XX` symbol has no
use now so remove. LoRa and LoRaWAN subsystems are still marked as
unstable so no additional deprecation cycle is needed.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2023-03-31 09:20:22 +02:00