Commit graph

99,250 commits

Author SHA1 Message Date
Christopher Friedt
447fc24352 posix: shell: add an environment variable shell command
This service is used to get, set, and unset system
environment variables.

Note: shell parameter expansion is not supported
at this time.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-03-08 04:28:47 -05:00
Christopher Friedt
284cecd4cc doc: posix: add environ, getenv, setenv, and unsetenv
Mark environ, getenv(), setevn(), and unsetenv as supported.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-03-08 04:28:47 -05:00
Christopher Friedt
8912ba9004 tests: posix: tests for environ, getenv, setenv, unsetenv
Add tests for environ, getenv(), setenv(), unsetenv(), and
getenv_r().

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-03-08 04:28:47 -05:00
Christopher Friedt
0f23818153 posix: env: support for environ, getenv(), setenv(), unsetenv()
Support getting and setting POSIX environment variables.

Additionally, the thread-safe BSD variant getenv_r() is
provided.

environ, getenv(), setenv(), and unsetenv() are required by
the POSIX_SINGLE_PROCESS Option Group as detailed in
Section E.1 of IEEE-1003.1-2017.

The POSIX_SINGLE_PROCESS Option Group is required for PSE51,
PSE52, PSE53, and PSE54 conformance, and is otherwise mandatory
for any POSIX conforming system as per Section A.2.1.3 of
IEEE-1003-1.2017.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-03-08 04:28:47 -05:00
Sylvio Alves
f497c04159 west.yml: MCUboot sync from upstream
Update Zephyr fork of MCUboot to revision:
8b4c70ab6dc03d2826c166dedb56541950defa8c

Brings following Zephyr relevant fixes:

8b4c70ab boot: zephyr: Update changed Nordic family Kconfig
b794d335 espressif: modify SOC_FAMILY according to new HWMv2

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2024-03-08 09:26:52 +00:00
Emil Gydesen
53cca3ea4e samples: Bluetooth: Broadcast sink: Add proper parsing decoding of LC3 data
The sample assumed that the broadcast audio was always a single
frame per block. This commit improves the validation of the
codec configuration from the broadcast source, and properly
decodes the SDU using the configuration values.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-03-08 10:20:29 +01:00
Miika Karanki
004c4769e3 drivers: flash: stm32 ospi refactor stm32_ospi_mem_erased args
Change to use dev pointer, from where the other parameters were
available as well.

Signed-off-by: Miika Karanki <miika.karanki@vaisala.com>
2024-03-08 09:39:07 +01:00
Miika Karanki
5d9acf52a5 drivers: flash: stm32 ospi: implement non busy wait polling
HAL_OSPI_AutoPolling is checking is the status match
happened in a busy loop. That CPU intensive operation
can cause starvation of other tasks especially on flash
erase operations which can take seconds to complete.

So, replace the use of HAL_OSPI_AutoPolling with
HAL_OSPI_AutoPolling_IT. The match results
HAL_OSPI_StatusMatchCallback being called.

Signed-off-by: Miika Karanki <miika.karanki@vaisala.com>
2024-03-08 09:39:07 +01:00
Laurentiu Mihalcea
b803e06099 drivers: dai: sai: use "dmas" property for handshake encoding
Since a DMA cell now allows specifying a channel and a MUX value
there's no need to fetch these values from the HAL. This, in turn,
allows for more flexibility and reduces the coding effort for new
platforms that want to use the SAI driver.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-03-08 09:38:25 +01:00
Lukasz Madej
f14228744f drivers: charger: charger_max20335: handle charger notifications
Add support for status and online notification properties.
Fire these notifications from int_routine_handler work directly.
Such approach makes the code cleaner and does not affect overall
max20335 interrupt processing performance. However application code
processing these notifications cannot be blocking.

Signed-off-by: Lukasz Madej <l.madej@grinn-global.com>
2024-03-08 09:38:03 +01:00
Lukasz Madej
e6d7e812b5 charger: add charger status and online change notifiers
Some applications might be intersted in notification about charger
status or charger online updates so they can avoid polling.
Add new properties allowing to register such notifications.

Signed-off-by: Lukasz Madej <l.madej@grinn-global.com>
2024-03-08 09:38:03 +01:00
Daniel Leung
3fa291690f xtensa: use CONFIG_PRIVILEGED_STACK_SIZE for stack size
Instead of using CONFIG_MMU_PAGE_SIZE for size of the privileged
stack, use the actual kconfig CONFIG_PRIVILEGED_STACK_SIZE.
This allows for changing the size of privileged stack, and
also aligns to the usage of CONFIG_PRIVILEGED_STACK_SIZE.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-03-08 09:37:36 +01:00
Daniel Leung
9f4330f365 x86: use CONFIG_PRIVILEGED_STACK_SIZE for stack size
Instead of using CONFIG_MMU_PAGE_SIZE for size of the privileged
stack, use the actual kconfig CONFIG_PRIVILEGED_STACK_SIZE.
This allows for changing the size of privileged stack, and
also aligns to the usage of CONFIG_PRIVILEGED_STACK_SIZE.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-03-08 09:37:36 +01:00
Pieter De Gendt
91f36191be boards: st: stm32h573i_dk: Add netif:eth support
Add build_only for the st,stm32-ethernet driver to the build_all
ethernet tests and add an entry for ethernet support to make sure
ethernet driver is built.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-03-08 09:37:15 +01:00
Pieter De Gendt
d288452ce1 drivers: ethernet: eth_adin2111: Fix build warning on 64bit
An overflow compiler warning is generated when building for native_sim_64,
add an explicit cast to fix -Werror builds.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-03-08 09:37:15 +01:00
Pieter De Gendt
2054b9f982 tests: drivers: build_all: ethernet: Move app overlay to spi
Use the native_sim board to build ethernet drivers for spi devices and
add an entry for the default testcase.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-03-08 09:37:15 +01:00
Pieter De Gendt
6d99fc6d47 tests: drivers: build_all: ethernet: Do not set NET_TEST
The ethernet drivers can only be built if the NET_TEST option is not
selected.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-03-08 09:37:15 +01:00
Daniel Baluta
c22fa20bf5 MAINTAINERS: Add NXP DAI maintainer and collabs
Add people at NXP working on DAI subsys and drivers.

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
2024-03-08 09:36:17 +01:00
Grzegorz Swiderski
beab89d6e8 dts: nordic: nrf54h20_enga: Add erase-block-size to mram1x
The MRAM has no concept of erase blocks or pages, so this is treated as
driver configuration.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2024-03-08 09:36:04 +01:00
Grzegorz Swiderski
f91323ee5d drivers: flash: Add flash driver for MRAM
Basic driver utilizing the flash API for NVM operations on the nRF54H20.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2024-03-08 09:36:04 +01:00
Alberto Escolar Piedras
7ad69d968a Bluetooth: Controller: nrf5_dppi.h: Use nrfx HAL to set subscriptions
A few paths used only when there is Coded Phy support were
still setting the subscribe registers directly.
Let's use the nRFx HAL for this so it works properly also
in simulation.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-03-08 09:35:21 +01:00
Alberto Escolar Piedras
005623df92 Bluetooth: Controller: nrf5_ppi.h: Use nrfx HAL to set PPI always
Quite a few paths used only when there is Coded Phy
support were still setting the PPI directly.
Let's use the nRFx HAL for this so it works properly also
in simulation.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-03-08 09:35:21 +01:00
Chaitanya Tata
5af6dfdd0e tests: Add a test for duplicate event handlers
This will help to detect any issues with duplicate handlers, currently,
it causes an infinite loop in the handler that processes the single
linked list.

Also, increase the stack size to pass the synchronous test case.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-03-08 09:35:04 +01:00
Chaitanya Tata
0a8cbb6a22 net: mgmt: Handle loops in the linked list
In case the same callback handler is added to the list twice, this can
result in a loop.

Fixes: #69825.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-03-08 09:35:04 +01:00
TaiJu Wu
39f710136e sched: finalize_cancel_locked can early return
The code `SYS_SLIST_FOR_EACH_CONTAINER_SAFE` just for remove work
from `pending_cancels`.
After removing work successfully, the function can return early.
It is unnecessary to iterate continuously.

Signed-off-by: TaiJu Wu <tjwu1217@gmail.com>
2024-03-07 19:40:51 -05:00
Gang Li
03fce7dd3c net: zperf: Fix multicast data failure to receive server's AckFIN packet
In iperf2, for multicast data, if it is a client, it will not wait for
the server's AckFIN packet. Because the iperf2 server will not send an
AckFIN packet.
So in zperf_upload_fin(), an error will occur when the zperf client
waits for the server's AckFIN packet.
Multicast only send the negative sequence number packet and doesn't
wait for a server ack can fix this issue.

Signed-off-by: Gang Li <gang.li_1@nxp.com>
2024-03-07 16:17:18 -06:00
Eve Redero
959680166a doc: drivers: gpio: detail scancodes from example
Add more explanation and details on how to use
USB HID scancodes in gpio-emul-sdl implementation.

Signed-off-by: Eve Redero <eve.redero@gmail.com>
2024-03-07 21:43:53 +00:00
Robert Lubos
328ff9ac45 tests: llext: Set min_ram requirement for readonly_mpu variant
Set the minimal RAM requirement for the test variant, so that it does
not get built for platforms it won't fit anyway.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-03-07 21:38:46 +00:00
Tomi Fontanilles
fd5c76ddfd drivers: modem_cellular: allow leaving out the chat_filter parameter
Allow not specifying the chat_filter parameter in a device
definition, which is equivalent to setting it to "".

Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
2024-03-07 21:38:24 +00:00
Benedikt Schmidt
c08b66cfee drivers: adc: set name for acquisition thread of MCP320x
Set the name of the acquisition thread for the ADC MCP320x.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2024-03-07 21:37:54 +00:00
Robert Lubos
35502592a7 drivers: input: Fix uninitialized closest_mv variable warning
Building with GCC 9.4.0 gives the following warning/error:

  error: closest_mv may be used uninitialized in this function

This commit fixes it.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-03-07 21:37:40 +00:00
Emilio Benavente
25830e3828 boards: arm: Updated the board docs for pit
Updated the board documentation to reflect
the enablement of the PIT peripheral.

Signed-off-by: Emilio Benavente <emilio.benavente@nxp.com>
2024-03-07 13:23:58 -06:00
Emilio Benavente
9815296500 dts: arm: Enabling pit for imx devices
Enabled the PIT and Multi channel support
for some of the rtXXXX devices.
- rt1010
- rt1060
- rt1160
- rt1170

Signed-off-by: Emilio Benavente <emilio.benavente@nxp.com>
2024-03-07 13:23:58 -06:00
Emilio Benavente
8bb95d33be drivers: counter: Adding Mutli Channel PIT Support
Updating the nxp,pit driver to support mutliple
channels. Updating the dts and board overlays
to account for the changes.

Signed-off-by: Emilio Benavente <emilio.benavente@nxp.com>
2024-03-07 13:23:58 -06:00
Emilio Benavente
9cb330e1ed drivers: counter: update nxp_pit api names
Update the api named for the new nxp pit
driver.

Signed-off-by: Emilio Benavente <emilio.benavente@nxp.com>
2024-03-07 13:23:58 -06:00
Emilio Benavente
04b240c830 dts: bindings: renamed binding used for pit
Renamed pit binding from nxp,kinetis-pit
to nxp,pit

Signed-off-by: Emilio Benavente <emilio.benavente@nxp.com>
2024-03-07 13:23:58 -06:00
Peter Mitsis
9f7695dda0 kernel: Remove unused z_pend_curr_irqlock()
The routine z_pend_curr_irqlock() is no longer used anywhere.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2024-03-07 11:51:06 -05:00
Peter Mitsis
a55a078909 tests: Use z_pend_curr() in sched benchmark
Replaces the use of z_pend_curr_irqlock() with z_pend_curr()
as the former is not used anywhere else anymore.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2024-03-07 11:51:06 -05:00
Ivan Iushkov
9fa4cd8226 Bluetooth: add missing initilization of sync_info member
During manual testing with UBSAN enabled, it was found that
bt_le_per_adv_sync_cb synced() callback in application
sometimes gets unexpected different values in
`sync_info.recv_enabled` field.

The UBSAN output contained the following warnings message:
runtime error:
load of value 65, which is not a valid value for type '_Bool'

It tunrned out that struct bt_le_per_adv_sync_synced_info sync_info
inside bt_hci_le_past_received_common() contains uninitialized
recv_enabled member.
Set it to true by default to avoid possible issues.

Signed-off-by: Ivan Iushkov <ivan.iushkov@nordicsemi.no>
2024-03-07 14:33:19 +00:00
Fabio Baltieri
053be02994 github: upgrade all setup-python actions to v5
The current version is generating a deprecation warning:

Node.js 16 actions are deprecated. Please update the following actions
to use Node.js 20: actions/setup-python@v4.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-03-07 14:33:06 +00:00
Gerard Marull-Paretas
80cc7d1ee5 drivers: mbox: update MBOX consumers to the new API
Update all usages of the MBOX API to the latest API changes (to be
squashed for bisectability).

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-03-07 14:32:57 +00:00
Gerard Marull-Paretas
8be65b6608 drivers: mbox: refactor API
This patch refactors the MBOX API, so that it aligns with some common
Zephyr principles, main changes include:

- There is now a non-DT specific API that takes a regular struct device
  and a channel identifier, instead of a struct that contains both. This
  API should be used for cases where DT is not an option.
- There is a "dt-spec" variant of the API, meant to be used from
  devicetree specifications.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-03-07 14:32:57 +00:00
Gerard Marull-Paretas
ad136ba38d ipc: ipc_service: backends: use MBOX_DT_INST_CHANNEL_GET
Instead of MBOX_DT_CHANNEL_GET(DT_DRV_INST(i), ...).

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-03-07 14:32:57 +00:00
Gerard Marull-Paretas
459d2ef6a4 drivers: mbox: add MBOX_DT_INST_CHANNEL_GET()
So that we can improve API experience in instance-based code.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-03-07 14:32:57 +00:00
Gerard Marull-Paretas
568596590c drivers: mbox: improve Doxygen
Fix a few Doxygen issues, e.g.

- References to structs
- Incorrect usage of `@a`, `@p`
- Unnecessary usages of `@typedef`
- Incorrect usages of `@retval`
- etc.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-03-07 14:32:57 +00:00
Gerard Marull-Paretas
b39d123163 tests: drivers: mbox: mbox_data: use DT
Instead of hardcoding everything in the sample.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-03-07 14:32:57 +00:00
Gerard Marull-Paretas
529bf56aa3 samples: drivers: mbox_data: use DT
Instead of hardcoded stuff in C sources (node label and channel IDs).

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-03-07 14:32:57 +00:00
Gerard Marull-Paretas
ab8574a791 samples: drivers: mbox: use DT
Instead of hardcoding stuff in the sample (mbox node label and channel
ids).

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-03-07 14:32:57 +00:00
Gerard Marull-Paretas
2380e5fdaf dts: bindings: test: add vnd,mbox-consumer
Add a new binding that should help with samples or MBOX tests by getting
information from DT.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-03-07 14:32:57 +00:00
Gerard Marull-Paretas
c467db26fc drivers: mbox: fix includes
Include what is needed.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-03-07 14:32:57 +00:00