Commit graph

99,250 commits

Author SHA1 Message Date
Ioannis Karachalios
5670051805 boards: renesas: smartbond: Add support for the MIPI DBI host driver
Update board's DTS configurations to support the Renesas MIPI DBI
host controller.

Signed-off-by: Ioannis Karachalios <ioannis.karachalios.px@renesas.com>
2024-03-06 10:17:13 +00:00
Ioannis Karachalios
867650a215 boards: renesas: smartbond: Re-assign default peripherals pins
Re-assign peripherals' default pins functionality to avoid
conflicts with LCD controller's pins usage. The PRO DevKit
exhibits a display socket which is routed to dedicated pins.

Signed-off-by: Ioannis Karachalios <ioannis.karachalios.px@renesas.com>
2024-03-06 10:17:13 +00:00
Ioannis Karachalios
2ad5c4c6a1 dts: renesas: smartbond: Add support for the MIPI DBI host controller.
Update SoC DTS configurations to support the Renesas MIPI DBI host
controller.

Signed-off-by: Ioannis Karachalios <ioannis.karachalios.px@renesas.com>
2024-03-06 10:17:13 +00:00
Ioannis Karachalios
f011ad5bb1 drivers: mipi_dbi: smartbond: Add support for MIPI DBI driver class.
Add support for the MIPI DBI host controller.

Signed-off-by: Ioannis Karachalios <ioannis.karachalios.px@renesas.com>
2024-03-06 10:17:13 +00:00
Susan Su
a56c8cfa69 drivers: mipi_dsi: dsi_mcux: Remove DSI_DPHY_PLL_VCO definition
- The DSI_DPHY_PLL_VCO_MAX and DSI_DPHY_PLL_VCO_MIN macro value is
   different when changing to different SoC, so the definition is moved
   to soc level driver header.
 - Remove the definition in this c file to fix the duplicate definition
   issue.

Signed-off-by: Susan Su <susan.su@nxp.com>
2024-03-06 10:16:37 +00:00
David Leach
e4e463af81 west.yml: Update NXP HAL MCUX-SDK to 2.15.000
Update NXP HAL mcux-sdk to 2.15.000

Signed-off-by: David Leach <david.leach@nxp.com>
2024-03-06 10:16:37 +00:00
Mykola Kvach
0af5376b90 drivers: pinctrl: move renesas pincontrol drivers to separate directory
Moved r8a77951/r8a77961 pfc tables and funcs from soc to drivers/pfc dir.

Move all Renesas pinctrl driver source and header files to a separate
directory "renesas" and every SoC series to a separate subdirectory.

Update the MAINTAINERS file to align with the changes in the
pinctrl directory.

Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
2024-03-06 10:09:11 +00:00
Mykola Kvach
0dfb737c6a soc: renesas_rcar: make common pinctrl header for both arm and arm64 archs
Make common pinctrl header for both arm and arm64 archs in order to avoid
code duplicates.

Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
2024-03-06 10:09:11 +00:00
Mykola Kvach
dcce9f5ba0 drivers: pinctrl: r8a779f0: move pfc file from soc to driver dir
Move pfc_r8a779f0.c from the 'soc' directory to the 'drivers'
directory to avoid code duplication for the ARM64 Spider board.

Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
2024-03-06 10:09:11 +00:00
Andrew Featherstone
1c50ba489f drivers: rtc: rpi_pico: Add alarm support to RPi Pico RTC driver
This adds support for the alarm functionality of the RPi Pico RTC.

Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
2024-03-06 10:08:48 +00:00
Andrew Featherstone
df8c89b528 drivers: rtc: rpi_pico: Add support for the Raspberry Pi Pico RTC
This adds the minimal get_time/set_time support for the rp2040 and
enables support by default on the Pico boards. This doesn't support
configuring the clock source or alarm interrupts yet.

Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
2024-03-06 10:08:48 +00:00
Andrew Featherstone
4c880f4b0a drivers: rtc: Create utility function for time validation
RTC drivers should validate the `struct rtc_time`'s contents against the
provided `mask`. Promote this common code to a new rtc_utils file and
modify existing drivers to use this functionality. Extend the test
coverage to include verifying this behaviour.

This is groundwork ahead of adding support for the RP2040's (as used in
the Raspberry Pi Pico) RTC and alarm.

Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
2024-03-06 10:08:48 +00:00
Krzysztof Chruściński
c975910f84 drivers: spi: nrf: Add new SPIS instances
Add support for upcomming SPIS instances.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-03-06 10:48:01 +01:00
Anas Nashif
961b83a431 twister: normalize platform name when packaging
When creating a package, normalize platform names.

Fixes #69793

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-03-06 09:28:31 +01:00
Robert Lubos
88728f32f6 tests: net: sockets: tls: Extend sendmsg tests
Add tests that verify that sendmsg() for DTLS works fine if provided
with multiple buffers.

Modify existing sendmsg() tests, so that we still tests the old
behavior if the feature is disabled.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-03-06 09:13:38 +01:00
Robert Lubos
919cb6f614 net: sockets: tls: Improve sendmsg() support on DTLS sockets
DTLS socket should be able to combine more than one message into a
single datagram when calling sendmsg().

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-03-06 09:13:38 +01:00
Robert Lubos
562ac9d9e6 net: Add more specific dependencies for specialized samples
Certain samples  are supposed to demonstrate technology-specific
features, therefore their dependencies in sample.yml could be
narrowed to run verify build only on boards which support that
specific technology (like Ethernet or OpenThread).

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-03-06 09:11:51 +01:00
Henrik Brix Andersen
17b1393f2e doc: releases: release-notes: 3.7: deprecation of can_calc_prescaler()
Add a note for the deprecation of can_calc_prescaler().

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-03-05 15:43:29 -06:00
Henrik Brix Andersen
5f99e771fe drivers: can: deprecate can_calc_prescaler()
Deprecate the can_calc_prescaler() API function, as it allows for bitrate
errors. Bitrate errors between nodes on the same network leads to them
drifting apart after the start-of-frame (SOF) synchronization has taken
place, leading to bus errors.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-03-05 15:43:29 -06:00
Anas Nashif
0ae587aef9 it8xxx2_evb: use correct SoC
Use SOC_IT81302_BX as the SoC for this board.

Fixes #69809

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-03-05 20:24:38 +00:00
Henrik Brix Andersen
eaf140e7ff MAINTAINERS: remove inactive CAN collaborator
Remove inactive CAN collaborator.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-03-05 18:23:36 +00:00
Marcin Gasiorek
fb99f65fe9 net: ip: Fix for improper offset return by net_pkt_find_offset()
The original packet's link-layer destination and source address can be
stored in separately allocated memory. This allocated memory can be
placed just after pkt data buffers.
In case when `net_pkt_find_offset()` uses condition:
`if (buf->data <= ptr && ptr <= (buf->data + buf->len)) {`
the offset is set outside the packet's buffer and the function returns
incorrect offset instead of error code.
Finally the offset is used to set ll address in cloned packet, and
this can have unexpected behavior (e.g. crash when cursor will be set
to empty memory).

Signed-off-by: Marcin Gasiorek <marcin.gasiorek@nordicsemi.no>
2024-03-05 18:23:24 +00:00
Lukasz Madej
d97cebd3ca drivers: charger: charger_max20335: fix properties set
Charger hardware configuration registers are set to zero every time
external voltage is applied. Assure proper charger configuration by
buffering properties set by application and applying them at external
voltage connection event notified via interrupt.

Signed-off-by: Lukasz Madej <l.madej@grinn-global.com>
2024-03-05 18:23:12 +00:00
Lukasz Madej
e38729de63 drivers: charger: charger_max20335: support charger online
Add support for charger online property.

Signed-off-by: Lukasz Madej <l.madej@grinn-global.com>
2024-03-05 18:23:12 +00:00
Lukasz Madej
d43e627938 drivers: charger: charger_max20335: relocate charger state definition
An anonymous enum describing charger status is used only by one
function therefore reduce scope of this enum.

Signed-off-by: Lukasz Madej <l.madej@grinn-global.com>
2024-03-05 18:23:12 +00:00
Lukasz Madej
90c32e99d6 drivers: charger: charger_max20335: introduce int utilization
Utilization of chip interrupt line is mandatory to assure proper
charger state control. Handle interrupt to prepare the driver for
implementation of such functionality.
Modify charger status update so the current state is fetched in the
interrupt handler.

Use level based interrupts combined with interrupt disabling for a
period of time after interrupt handling to reduce number of interrupts
triggered by the charger. There may be a case where the charger
produces burst of interrupts for a several seconds and if the code
attempts to handle every single interrupt separatery then the system
might be significantly overloaded.

Co-authored-by: Bartosz Bilas <b.bilas@grinn-global.com>
Signed-off-by: Lukasz Madej <l.madej@grinn-global.com>
2024-03-05 18:23:12 +00:00
Lukasz Madej
e9eb1d841e drivers: charger: charger_max20335: fix argument name
Rename `current_uv` argument name to `voltage_uv` in function
max20335_get_constant_charge_voltage() to make the name aligned with
its usage.

Signed-off-by: Lukasz Madej <l.madej@grinn-global.com>
2024-03-05 18:23:12 +00:00
Lukasz Madej
d8ebe7b6c9 drivers: charger: charger_max20335: rename status get function
Current driver handles charger status only but the charger chip
provides plenty of different statuses. Change name of
max20335_get_status() function to max20335_get_charger_status()
to make further implementations easier.

Signed-off-by: Lukasz Madej <l.madej@grinn-global.com>
2024-03-05 18:23:12 +00:00
Michal Smola
fe381858b7 boards: mps2: Disable qemu host pty on Windows
pty is not available on Windows hosts. Running a sample in Qemu
on Windows shows an error. Fix it by enabling pty on Unix hosts only.

Signed-off-by: Michal Smola <michal.smola@nxp.com>
2024-03-05 18:23:00 +00:00
Anas Nashif
5e7286fac5 ci: codecov: fix platform names for hwmv2
Replace / with _ in platform names when generating files.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-03-05 12:44:29 -05:00
Gerard Marull-Paretas
16a6063083 manifest: remove .git suffixes from repo-paths
Some entries had the .git suffix in the repo-path property. While it
does not affect e.g. clones, it makes the project URL (built using base
url and repo-path) unusable to build other URLs (e.g. to point to a
commit, release tag, etc.).

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-03-05 16:51:12 +00:00
Peter Mitsis
590e4f3a82 tests: latency_measure: Add k_stack object support
Updates the latency_measure test to add support for benchmarking
k_stack_push() and k_stack_pop().

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2024-03-05 16:50:47 +00:00
Gerard Marull-Paretas
9911d6bba0 samples: drivers: mbox: fix hwmv2 issues
Some board names were not ported to HWMv2 scheme.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-03-05 16:50:36 +00:00
Gerard Marull-Paretas
ceb1e70bb5 samples: drivers: mbox: add support for nRF BELLBOARD
Add support for testing BELLBOARD between cpuapp (local) and cpuppr
(remote).

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-03-05 16:50:36 +00:00
Gerard Marull-Paretas
0b38425f6d drivers: mbox: nrf_bellboard: add initial driver
Add a new driver for nRF BELLBOARD peripheral, in both local and remote
modes.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-03-05 16:50:36 +00:00
Gerard Marull-Paretas
dec5ab382f dts: nordic: nrf54h20_enga: add BELLBOARD nodes
Add nodes for APP/RAD BELLBOARD peripherals.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-03-05 16:50:36 +00:00
Gerard Marull-Paretas
ffaa9077eb dts: bindings: mbox: add nordic,nrf-bellboard-local|remote
Add new bindings to describe the BELLBOARD peripheral in its two
_programming modes_ local or remote.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-03-05 16:50:36 +00:00
Gerard Marull-Paretas
5715691562 samples: drivers: mbox: add support for nRF VEVIF
Add support for nRF VEVIF.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-03-05 16:50:36 +00:00
Gerard Marull-Paretas
caeedb4663 samples: drivers: mbox: misc cleanups/enhancements
- Include cleanup
- s/NET/REMOTE (remote core may have nothing to do with NET)
- Improved error reporting

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-03-05 16:50:36 +00:00
Gerard Marull-Paretas
d3624a2d4a samples: drivers: mbox: allow to enable RX/TX
This can be useful to provide multiple setups, eg unidirectional
ping-pong.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-03-05 16:50:36 +00:00
Gerard Marull-Paretas
b7378bbd14 samples: drivers: mbox: allow to configure RX/TX channels
By adding Kconfig options for both samples.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-03-05 16:50:36 +00:00
Gerard Marull-Paretas
78c40fe31b drivers: mbox: add initial driver for nRF VEVIF
Add a mailbox driver for VEVIF. The driver can be built in either
'local' or 'remote' configuration. This depends on the existence of the
'interrupts' property, which signals that the instance is managed
locally. VEVIF is, as expected, always managed by a VPR core.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-03-05 16:50:36 +00:00
Gerard Marull-Paretas
d23ea62be9 drivers: misc: nordic_vpr_launcher: initialize earlier
Set driver to initialize at early POST_KERNEL, so that we make sure
other future dependencies priorities (eg VEVIF) do not conflict.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-03-05 16:50:36 +00:00
Grzegorz Swiderski
ae21f7bab3 boards: nrf54h20pdk: Add default IPC configuration
Add `zephyr,ipc-icmsg*` nodes, with mboxes specified in a common file.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
Signed-off-by: Gerard Marull-Partetas <gerard@teslabs.com>
2024-03-05 16:50:36 +00:00
Grzegorz Swiderski
be5403fe65 boards: nrf54h20pdk_nrf54h20: Update memory map
Add IPC shared memory regions in the global RAM, as well as an enlarged
SRAM region for Application core.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2024-03-05 16:50:36 +00:00
Gerard Marull-Paretas
b823bacecb dts: nordic: nrf54h20_enga: add PPR VEVIF nodes
Add a new nodes for PPR's VEVIF. In app cores, VEVIF registers are part
of the VPR peripheral, so it is exposed as a child node (since it
requires its own properties, eg #mbox-cells). In VPR, it's a CPU child
since it's not a memory-mapped peripheral, but used with CSRs.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-03-05 16:50:36 +00:00
Gerard Marull-Paretas
d84e806c34 dts: bindings: mbox: add nordic,nrf-vevif-local|remote
Add a new binding for Nordic VEVIF (VPR Event Interface) (local and
remote modes).

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-03-05 16:50:36 +00:00
Laurentiu Mihalcea
8fec5f361c tests: devicetree: check L2 interrupt encoding
Add some assert statements meant to check if L2 interrupts
are encoded right when dealing with nodes that consume interrupts
from multiple aggregators. For this to work, also add another
interrupt controller node which extends a different L1 interrupt
from `test_intc`.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-03-05 16:50:18 +00:00
Laurentiu Mihalcea
3799e0f498 devicetree.h: switch to DT_IRQ_INTC_BY_IDX for L2 and L3 INTID encodings
Using `DT_IRQ_INTC()` to fetch the interrupt controller associated
with a node works well for nodes which consume interrupts from a
single aggregator. However, when specifying multiple (and different)
interrupt aggregators via the `interrupts-extended` property,
the L2 and L3 interrupts will no longer be encoded properly. This
is because `DT_IRQ_INTC(node_id)` uses `DT_IRQ_INTC_BY_IDX(node_id, 0)`
so all the interrupts will use the first aggregator as their parent.
To fix this, switch from using `DT_IRQ_INTC()` to `DT_IRQ_INTC_BY_IDX()`.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-03-05 16:50:18 +00:00
Laurentiu Mihalcea
fe4b559421 dts: bindings: nxp,edma: force dma-cells number to 2
To allow EDMA configuration with the help of the DT_INST_DMAS_*
and DT_DMAS_* macros, all that a consumer node needs to know
is which channel to configure and what MUX value needs to be
used. As such, this commit allows doing this by forcing the
dma-cells property to 2, each cell representing one of the
aforementioned properties.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-03-05 16:57:19 +01:00