Commit graph

85,247 commits

Author SHA1 Message Date
Henrik Brix Andersen
d4d85803ea boards: shields: add adafruit data logger shield
Add definition for the Adafruit Data Logger Shield. This shield is
equipped with a PCF8523 RTC, an SD card slot, a couple of user LEDs
and a prototyping area.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2023-04-27 09:51:42 +02:00
Henrik Brix Andersen
11fc5d03d1 drivers: rtc: add driver for the nxp pcf8523 rtc
Add RTC device driver for the NXP PCF8523 Real-Time Clock (RTC) and
calendar.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2023-04-27 09:51:42 +02:00
Henrik Brix Andersen
51ba050b4d dts: bindings: add binding for the NXP PCF8523 RTC
Add a device tree binding for the NXP PCF8523 Real-Time Clock (RTC)
and calendar.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2023-04-27 09:51:42 +02:00
Henrik Brix Andersen
8640f7be8b drivers: rtc: add RTC driver log level configuration
Add Kconfig for setting the RTC driver log level.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2023-04-27 09:51:42 +02:00
Henrik Brix Andersen
29d112c0ff drivers: rtc: allow configuring the RTC initialization priority
Add Kconfig to allow configuring the RTC device driver initialization
priority.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2023-04-27 09:51:42 +02:00
TOKITA Hiroshi
70677fe392 boards: arm: nucleo_f030r8: Enabling the die temperature sensor
Enable the `die_temp` sensor.
And add an alias named `die-temp0` that points to the `die_temp` node.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2023-04-27 09:51:32 +02:00
TOKITA Hiroshi
0a24c4c869 tests: driver: adc: adc_api: add nucleo_f030r8 config
Add adc_api test configuration for nucleo_f303r8

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2023-04-27 09:51:32 +02:00
TOKITA Hiroshi
47831343fe boards: arm: nucleo_f030r8: doc: Update document about ADC
Add ADC as supported feature.
Also describe it is defaulty bind to PA0.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2023-04-27 09:51:32 +02:00
TOKITA Hiroshi
4497b413de boards: arm: nucleo_f030r8: Add ADC as supported features
Add adc for supported features list.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2023-04-27 09:51:32 +02:00
TOKITA Hiroshi
a398bce2c3 boards: arm: nucleo_f030r8: Add adc1 node
Add adc1 node to enable ADC defaultly.
It uses PA0 pin.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2023-04-27 09:51:32 +02:00
Wojciech Slenska
7271c3926f drivers: clock_control: stm32h5: Set HSI divider
By default HSIDIV is set to 0x01, so default frequency is 32 MHz.
This register should be always set based on dts value.

Signed-off-by: Wojciech Slenska <wsl@trackunit.com>
2023-04-27 09:51:00 +02:00
Carles Cufi
0ebc37a972 scripts: runners: nrf: Fix the formatting of the old --nrf-family
The now legacy --nrf-family parameter takes the "raw" family name as
nrfjprog accepts it. But now we use an intermediate representation with
{FAMILY}_FAMILY as the format, so covert to it as required.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2023-04-27 09:50:48 +02:00
Brandon Del Bel
83fc732019 drivers: ethernet: sam0: Increase RX buffer count by one
The SAM GMAC driver is not able to use all of the receive buffers
concurrently. Frames larger than (buffer size) * (buffer count - 1) are
silently dropped. Fix it by adding one to MAIN_QUEUE_RX_DESC_COUNT.

Fixes #55701

Signed-off-by: Brandon Del Bel <delbel@umn.edu>
2023-04-27 09:50:39 +02:00
Ryan McClelland
19a4602312 tests: lib: hash_function: fix double-promotion warnings
Fix double promotion warnings with -Wdouble-promotion

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2023-04-26 15:11:36 -07:00
Chris Friedt
7212792295 drivers: pcie_ep: iproc: ensure config and api are const
The `config` and `api` members of `struct device` are expected
to be `const`. This also improves reliability, as `config`
and `api` are stored in rom rather than ram, which has the
potential to be corrupted at runtime in the absense of an MMU.

Signed-off-by: Chris Friedt <cfriedt@meta.com>
2023-04-26 17:54:59 -04:00
Tarun Karuturi
9d95f69a87 drivers: pcie_ep: iproc: enable based on device tree specs
There are use cases for the pcie_ep driver where we don't
necessarily need the dma functionality. Added ifdef's around
the dma functionality so that it's only available if we
specify the dma engines in the device tree similar to

```
dmas = <&pl330 0>, <&pl330 1>;
dma-names = "txdma", "rxdma";
```

Signed-off-by: Tarun Karuturi <tkaruturi@meta.com>
Signed-off-by: Chris Friedt <cfriedt@meta.com>
2023-04-26 17:54:59 -04:00
Herman Berget
e745439c40 Bluetooth: Host: Fix periodic sync reassembly
The reassembly buffer for periodic sync was not initialized
if the sync was established via PAST.

Move the initialization of the reassembly buffer to a common place.

Signed-off-by: Herman Berget <herman.berget@nordicsemi.no>
2023-04-26 20:08:16 +02:00
Herman Berget
627b340780 Samples: Bluetooth: Add samples for PAwR
Adds samples for both advertiser and sync.

Signed-off-by: Herman Berget <herman.berget@nordicsemi.no>
2023-04-26 20:08:16 +02:00
Herman Berget
95bc5cf8e5 Bluetooth: Host: Add support for PAwR Sync
Adds API for Periodic Advertising with Responses - Scanner:
 - Synchronize to a PAwR train
 - Choose which subevents to synchronize to
 - Receive advertising reports from subevents
 - Send responses

The support is enabled by CONFIG_BT_PER_ADV_SYNC_RSP, and requires
a controller that selects CONFIG_BT_CTLR_SYNC_PERIODIC_RSP_SUPPORT.

Signed-off-by: Herman Berget <herman.berget@nordicsemi.no>
2023-04-26 20:08:16 +02:00
Herman Berget
9021e2f438 Bluetooth: Host: Add support for PAwR Advertiser
Adds API for Periodic Advertising with Responses - Advertiser:
 - Configure parameters
 - Receive subevent data requests
 - Set subevent data
 - Receive response reports

The support is enabled by CONFIG_BT_PER_ADV_RSP, and requires
a controller that selects CONFIG_BT_CTLR_ADV_PERIODIC_RSP_SUPPORT.

Signed-off-by: Herman Berget <herman.berget@nordicsemi.no>
2023-04-26 20:08:16 +02:00
Maximilian Deubel
3746074073 drivers: sensor: Add driver for TI INA3221
This patch adds support for the TI INA3221 current monitor.
This is the datasheet used for reference:
https://www.ti.com/lit/gpn/ina3221

Since this device has three channels, there is a custom attribute to
select which channel is to be used when getting a sample.
Measurements are done on all enabled channels.

Signed-off-by: Maximilian Deubel <maximilian.deubel@nordicsemi.no>
2023-04-26 20:08:04 +02:00
Łukasz Hejnak (LeHack)
1929eb3af7 drivers: sdhc: add support for using CPOL/CPHA SPI clock modes
Make it possible to use CPOL/CPHA SPI clock modes with the SDHC driver.
Some cards require the clock to switch to low when not active.

Signed-off-by: Łukasz Hejnak (LeHack) <lehack-ghub@lehack.pl>
2023-04-26 20:07:53 +02:00
Tim Lin
79510788b4 ITE: boards: it82xx2_evb: Correct the pinctrl setting of UART2
The RX and TX of UART2 have been changed from GPH1 and GPH2
of it81xx2x to GPF0 and GPF1 of it82xx2.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2023-04-26 20:07:23 +02:00
Tim Lin
3a55454be4 ITE: dts: it8xxx2: Reduce the min-residency-us
The current configuration is too long and will block soc from
entering sleep mode. This change was made to get better power
number on EVB.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2023-04-26 20:07:23 +02:00
Jonathan Rico
249741b6c4 tests: Bluetooth: change ifdef in host/adv/periodic
The host APIs shouldn't be gated by controller ifdefs.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2023-04-26 20:07:14 +02:00
Dmitrii Golovanov
560b777fa8 net: dhcpv4: Fix NULL dereference at dhcpv4_create_message()
Fix dhcpv4_create_message() dereferenced NULL return value from
net_pkt_alloc_with_buffer() in case of no memory available.

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2023-04-26 20:07:04 +02:00
Jonathan Rico
1bf036536b tests: Bluetooth: remove sleeps from host/att/eatt/reconfigure
Since the test didn't get deleted after #55976 as expected, use
backchannels to sync both sides instead of finicky sleeps.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2023-04-26 20:06:55 +02:00
Dominik Ermel
00f1639e38 mgmt/mcumgr: Fix image erase returning MGMT_ERR_EMSGSIZE
In case when CONFIG_MCUMGR_SMP_LEGACY_RC_BEHAVIOUR=n then
the image erase command would incorrectly return MGMT_ERR_EMSGSIZE,
even though no such error occurred.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2023-04-26 18:15:40 +02:00
Dominik Ermel
af2576a127 west.yaml: MCUboot synchronization from upstream
Update Zephyr fork of MCUboot to revision:
  1558e7ab0aadb4eac11f03befb5ccd3fa3f0aafe

Brings following Zephyr relevant fixes:
 - 1558e7ab boot: zephyr: remove stm32 watchdog defines
 - 4420bb66 boot: zephyr: setup watchdog
 - 393af79e boot_serial: Update zcbor files from zcbor 0.7.0
 - a95a41b3 boot: bootutil: loader: Let image version comparison use
           build number
 - f7d8660e boot_serial: Fix include paths for zephyr builds
 - c7835371 bootutil: Add FIH for ED25519 sig verification
 - 186ac885 bootutil: Fix FIH return type for EC256
 - 5397c13d zephyr: serial_recovery: Fix broken CDC device selection
 - 918da26a bootutil: Provide boot_set_next function

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2023-04-26 16:06:12 +02:00
Dmitrii Golovanov
f7331e0d66 net: ipv4: Fix fragmented packet NULL dereference possible
Fix net_ipv4_send_fragmented_pkt() dereference of NULL return value
from net_pkt_get_data() possible with non contiguous packet data.

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2023-04-26 14:34:23 +02:00
Jonathan Rico
ece481d560 Bluetooth: host: att: clear ATT_PENDING_SENT
The ATT_PENDING_SENT flag was still not being cleared in all cases.

Also reset `data->att_chan` when not able to send on a given channel.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2023-04-26 13:53:08 +02:00
Jonathan Rico
2809bace65 Bluetooth: host: l2cap: send only 1 credit
The API doesn't allow the stack to make any guarantees about the number of
available buffers that the app has.

Only send 1 credit at a time, as that is the only guarantee the stack can
give to the peer.

We can send MTU/MPS's worth of credits once we have acquired an SDU buffer
from the application (that is, on the first PDU of the SDU). Though we
still have to cap that to the buffer size we have just acquired.

------

The testcase added here shows a scenario where the relationship
between the number of credits and the number of available buffers does not
hold true any more:

In this test, the app only has one buffer in its pool.

The central will queue SDUs that are bigger than the stack's
buffers (so the user allocator is necessary) but lower than the
channel's MTU.

The device receiving the SDU keeps a reference to the buffer before
returning from the `recv` callback. It releases that reference after a
small delay.

The central will still have credits, so it will queue another SDU, but the
peripheral will not be able to receive the next SDU (as the allocator will
fail) and will close the channel.

To see the test fail, just revert the `l2cap.{c,h}` changes.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2023-04-26 13:53:08 +02:00
Jonathan Rico
6cdb82cb59 Bluetooth: host: l2cap: trigger SDUs that get lost in limbo
Turns out the [first bugfix] was too naive: there is a case where resuming
all channels will not work on all queued SDUs, and the work handler will
give up and wait for the next sent SDU instead of trying to resume again.

This happens when the number of credits and conn contexts is very low for
the amount of data to send.

Always reschedule with a delay to avoid that situation.

[first bugfix]: https://github.com/zephyrproject-rtos/zephyr/pull/50476

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2023-04-26 13:53:08 +02:00
Jonathan Rico
68355349f6 tests: Bluetooth: make l2cap stress test fail
Running with a higher SDU length makes the devices get stuck at the start
of the transfer. To be fixed by next commits.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2023-04-26 13:53:08 +02:00
Jonathan Rico
3b97d8f181 tests: Bluetooth: refactor l2cap stress test
- move all the context for a channel in its own custom struct
- allow -EAGAIN when sending, try sending again later

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2023-04-26 13:53:08 +02:00
Jonathan Rico
bb9f7b3293 tests: Bluetooth: add l2cap MPS test
This test verifies the l2cap MPS workaround: when the other
side (non-zephyr host) sends PDUs that are < MPS.

The DUT is a host, while the Tester is a thin layer over the controller,
allowing fine control over l2cap packet contents.

Note that this test fails as-is. It is fixed by the next commits in the PR.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2023-04-26 13:53:08 +02:00
Anas Nashif
50fc307ad6 manifest: update sof revision
Update SOF with latest upstream and cache fixes.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-04-26 07:31:22 -04:00
Anas Nashif
144b8fbb9f xtensa: cache: add icache implementation from xtensa hal
add icache implementation from xtensa hal.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-04-26 07:31:22 -04:00
Anas Nashif
6388f5f106 xtensa: use sys_cache API instead of custom interfaces
Use sys_cache instead of custom and internal APIs.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-04-26 07:31:22 -04:00
Anas Nashif
aa4f2bc81e xtensa: move arch non cache API code from cache.h to arch.h
Move additional cache code related to architecture support into arch.h
and leave cache.h with cache API implementation.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-04-26 07:31:22 -04:00
Anas Nashif
e195739565 intel_adsp: move utils to a new header
Move utility code into a new header and cleanup soc.h

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-04-26 07:31:22 -04:00
Anas Nashif
319cf30a27 cache: xtensa: implementa arch cache functions
Implement xtensa cache functions supporting the cache API on the
architecture level.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-04-26 07:31:22 -04:00
Anas Nashif
400c7950b6 soc: intel_adsp: use abstracted arch APIs for cache ops
Use architecture APIs for cache operations with this soc family.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-04-26 07:31:22 -04:00
Przemyslaw Bida
de20ba8869 manifest: openthread: Regular openthread upmerge to 2594291
Bumping version of openthread and rename of
`OT_MTD_NETDIAG` to `OT_NETDIAG_CLIENT`

Signed-off-by: Przemyslaw Bida <przemyslaw.bida@nordicsemi.no>
2023-04-26 12:58:48 +02:00
Ryan McClelland
b19c8fc3bc net: ip: net_shell: fix double-promotions warnings
Double promotion warnings are generated with the flag -Wdouble-promotion

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2023-04-26 12:58:36 +02:00
Ryan McClelland
eb5a52070b drivers: ieee 802.15.4:: fix double-promotions warnings
some floats were getting promoted to doubles or they needed to be
casted as doubles to be used by printf

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2023-04-26 12:58:28 +02:00
Tristan Honscheid
7803a3a5c5 xec: spi: Remove .cs = NULL in spi_config initializer
Following #56576, the `cs` field in `struct spi_config` is of type
`struct spi_cs_control` instead of a pointer to the same type.
`spi_xec_qmspi_ldma.c:qmspi_xec_init` tries assigning `NULL` to the
`.cs` field through a designated initializer, which causes a compilation
error.

This PR simply removes the `.cs = NULL` line. The designated initializer
will automatically zeroize the underlying GPIO pin info, which should
have the same effect that setting the pointer to NULL did previously.

Signed-off-by: Tristan Honscheid <honscheid@google.com>
2023-04-26 12:58:21 +02:00
Aurelien Jarno
bdb3fd0ae9 scripts: gen_isr_tables: fix pylint issues
pylint reports the following issues on the
scripts/build/gen_isr_tables.py:

 C0325:Unnecessary parens after '=' keyword (superfluous-parens)
File:scripts/build/gen_isr_tables.py
Line:16
Column:0
 C0325:Unnecessary parens after '=' keyword (superfluous-parens)
File:scripts/build/gen_isr_tables.py
Line:316
Column:0

Fix that so that unrelated PR touching the same file have a chance to
pass the compliance checks.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2023-04-26 12:58:13 +02:00
Kumar Gala
91919d3e2d armclang: Fix setting CMAKE_SYSTEM_PROCESSOR for mps2_an521
On mps2_an521 GCC_M_CPU gets set to cortex-m33+nodsp, however that is
not a valid setting for CMAKE_SYSTEM_PROCESSOR.  We need to strip the
extra options (+<OPTION>) from GCC_M_CPU so that we get just cortex-m33.

Signed-off-by: Kumar Gala <kumar.gala@intel.com>
2023-04-26 12:55:34 +02:00
Alberto Escolar Piedras
8565c9c091 doc: Add small section about UBSan
Add a mention of the undefined behavior sanitizer
and which kconfig option toggles it, as users
may not be aware of it, but could benefit from it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-04-26 12:55:23 +02:00