Commit Graph

112715 Commits

Author SHA1 Message Date
Benjamin Cabé
f6d11a51e8 doc: _extensions: add board target selector for supported HW features
This show a nice widget to switch between the various board targets and
see their respective list of supported features.

The original HTML content of the page is preserved and JavaScript code
"patches" the page on-the-fly. This is so that the actual HTML content
(that e.g. search engines see) is complete and indexable (as well as to
provide useful information for folks who might have JavaScript disabled
altogether).

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-03-31 21:59:18 +02:00
Benjamin Cabé
38b87905ba doc: _scripts: boards: fix condition for revision
Revision might be `0` so update the condition to not inadvertently
exclude boards with such revision number.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-03-31 21:59:18 +02:00
Benjamin Cabé
7d1e98db70 doc: _extensions: boards: fix bug in board target name computation
The board revision should appear right after board name, not after the
qualifiers as was previously done.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-03-31 21:59:18 +02:00
Benjamin Cabé
04e6feb101 doc: css: define the monospace-font-family variable
This probably got lost in previous refactoring but this variable is
used in a few CSS rules so it better point to an actual font stack

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-03-31 21:59:18 +02:00
Jonathon Penix
e72f35b5bd toolchain: llvm: Use clang's __INTN_C/__UINTN_C macros for clang 20+
clang recently began providing predefined __INTN_C/__UINTN_C macros
resulting in macro redefinition warnings in toolchain/llvm.h. This
change was landed in clang in late Jan. 2025 and clang/LLVM 20 is the
first official release that has this support (see the PR linked below).

Prefer the definitions provided by clang and avoid redefining these macros
for clang versions 20 and later to avoid said warnings.

Link: https://github.com/llvm/llvm-project/pull/123514

Signed-off-by: Jonathon Penix <jpenix@quicinc.com>
2025-03-31 14:43:56 +02:00
Lyle Zhu
3bf18870f9 Bluetooth: Classic: SMP: Store derived LK if SMP_FLAG_BOND is set
When deriving the new LK, remove the old LK if it exists.

Store the derived LK if the flag `SMP_FLAG_BOND` of LE SMP is set.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-03-31 14:35:50 +02:00
Lyle Zhu
001397653b Bluetooth: Classic: SMP: Set BT_LINK_KEY_SC only if BT_KEYS_SC is set
The flag `BT_LINK_KEY_SC` of LK will also be set when derive LK from
LTK.
It is a incorrect behavior.

The flag `BT_LINK_KEY_SC` should only be set if the flag `BT_KEYS_SC`
of LTK has been set.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-03-31 14:35:50 +02:00
Lyle Zhu
2695d2228b Bluetooth: Classic: SMP: Avoid stronger LK be overwrote by weaker LTK
Add the function `ltk_derive_link_key_allowed()` to check whether the
LK can be overwrote by the LTK.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-03-31 14:35:50 +02:00
Tim Lin
8d855a270f soc: ite: it8xxx2: Disable I2C0 alternate function to allow sleep entry
The chip requires a successful sleep entry to change the PLL sequence.
By default, the IT8XXX2 chip enables the I2C0 alternate function, which
can cause the clock/data lines to meet the start condition, preventing
EC from entering sleep mode.

This commit disables the I2C0 alternate function before executing the
PLL sequence change to ensure that the EC can enter sleep mode
successfully.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2025-03-31 14:35:35 +02:00
Artur Hadasz
38b959e1a3 drivers: flash: nrf: Add possibility to add custom context
This commit adds the possibility to add additional custom
context for flash operations for usage by non-standard
flash drivers.

Signed-off-by: Artur Hadasz <artur.hadasz@nordicsemi.no>
2025-03-31 14:33:56 +02:00
Kapil Bhatt
6f9dbbd54f wifi: utils: Fix crash for scan
The check for index out of bound is missing, It turns into a crash
for input channel more than WIFI_MGMT_SCAN_CHAN_MAX_MANUAL.

Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
2025-03-31 14:33:22 +02:00
Benedikt Schmidt
0a0e041c9d drivers: fpga: fix build of ICE40 bitbang with PINCTRL
Fix the build of the ICE40 FPGA bitbang driver with PINCTRL=y.
Fixes #87739.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2025-03-31 14:32:35 +02:00
Pieter De Gendt
6f6a687934 ci: compliance: Exclude the Identity check for dependabot
The identity check for dependabot will always fail, skip it for PRs
created by dependabot.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-03-31 14:32:25 +02:00
Tomasz Moń
1cccf28d5e drivers: usb: udc: Reduce unnecessary ep config lookups
UDC API passes struct udc_ep_config to all functions. Some UDC functions
were using endpoint config structure while some were using device and
endpoint number. This API inconsistency led to completely unnecessary
endpoint structure lookups. Remove unnecessary lookups by using endpoint
config structure pointer where it makes sense.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2025-03-31 14:32:17 +02:00
Emil Hammarström
01ba1bf8ce fs: zms: clarify need to re-mount after zms_clear
Clarify that the file system needs to be re-mounted after clearing.
It was not clear that zms_clear both cleared and unmounted the fs.

Signed-off-by: Emil Hammarström <emil.hammarstrom1@assaabloy.com>
2025-03-31 14:32:08 +02:00
Robin Kastberg
2e2e3a3894 cmake: linker_script: keep .symbol_to_keep
Update to keep in sync with common-rom-misc.ld

Signed-off-by: Robin Kastberg <robin.kastberg@iar.com>
2025-03-31 14:31:57 +02:00
Krzysztof Chruściński
40ab30f23f drivers: timer: nrf_grtc_timer: Optimize z_nrf_grtc_timer_get_ticks
Converting absolute system ticks to GRTC ticks is simple and algorithm
can be simplified. Legacy algorithm was copied from nrf_rtc_timer which
back then was working on 32 bits only.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-03-31 14:31:48 +02:00
Krzysztof Chruściński
830a22e48f tests: drivers: timer: nrf_grtc: Fix test_get_ticks
Test was occasionally failing when two types of current time
reading occurred at different system tick. In that case they
were of by one system tick and test was failing.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-03-31 14:31:48 +02:00
Simon Maurer
d5d4d5791f arch: arm: cortex_a_r/cortex_m: fix text region overlap with ram in !XIP
ROM_ADDR and RAM_ADDR is same when CONFIG_XIP is not defined.
If we reset the location for RAMABLE region to RAM_ADDR text region,
which is part of rom, overlaps with initial ram region.
This commit tries to avoid this incorrect behaviour for cortex_a
and cortex_m

Signed-off-by: Simon Maurer <mail@maurer.systems>
2025-03-31 14:31:36 +02:00
Wilfried Chauveau
fa45bebccf cmake: emu: armfvp: Only add the -a argument if not already present
Some target may need to pass in the application argument. In such case
do not override it.

Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
2025-03-31 11:30:55 +02:00
Sudan Landge
a7122cf51f boards: arm: add armfvp support for ns variants
What is the change?
  - Non secure build variants can now be used with ARMFVPs.

Why is this change needed?
  - Running non secure variant of a build doesn't work with FVPs
    previous to version 11.27. The newer version of FVP added the
    support to run the tfm_merged.hex files.

Signed-off-by: Sudan Landge <sudan.landge@arm.com>
2025-03-31 11:30:55 +02:00
Sudan Landge
a1e3083def tests: arm: adjust test for relocated rom
Add a memory barrier to make sure write to NVIC is completed
before continuing with the test fails in scenarios where
CONFIG_ROMSTART_RELOCATION_ROM is enabled for boards like MPS3
Corstone310 and k_sem_take is called before the isr's are called.

Signed-off-by: Sudan Landge <sudan.landge@arm.com>
2025-03-31 11:30:55 +02:00
Sudan Landge
5f91f17e68 boards: arm: Enable default testing of MPS3 boards
Enable tests by default for CS300 and CS310 since they support
simulation and FVP's are available in upstream docker.

Signed-off-by: Sudan Landge <sudan.landge@arm.com>
2025-03-31 11:30:55 +02:00
Sudan Landge
c8aeb41ebb boards: arm: Enable MPS3 Corstone310 for userspace
What is the change?
 - MPS3 Corstone310 can now be used with userspace application.
   This is done by dividing flash into ITCM+ISRAM and using a
   bigger SRAM.

Why do we need this change?
 - ITCM and DTCM for MPS3 Corstone310 are small (32KB) to build
   with userspace. So we need bigger flash and sram.
   We can use the bigger ISRAM as flash but, Cortex-M expects
   vector table to be in 1st few bytes of ITCM.
   So to build for userspace we distribute FLASH between ITCM and
   ISRAM while using SRAM as sram.

Signed-off-by: Sudan Landge <sudan.landge@arm.com>
2025-03-31 11:30:55 +02:00
Håvard Reierstad
47f5d1b898 Bluetooth: docs: Add enum names to bt.h and gatt.h
Adds enum names to `bluetooth.h` and `gatt.h` to make them easier to
reference. Adds Doxygen references where relevant.

Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
2025-03-31 11:30:48 +02:00
Johan Hedberg
4fe9e018d3 drivers: bluetooth: h4: Free RX buffer upon reset
There are cases where reset_rx() is called when rx.buf is set (e.g. when
the buffer was too small to receive the incoming packet). Be sure to free
the buffer, so that it wont get reused for the next packet (which might
require a buffer from a different pool).

Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
2025-03-31 11:29:55 +02:00
Lyle Zhu
f25fe59805 Bluetooth: Classic: SMP: Recovery flag SMP_FLAG_BR_CONNECTED
The flag `SMP_FLAG_BR_CONNECTED` is cleared by the function
`smp_br_reset()` and `smp_br_init`. But the flag
`SMP_FLAG_BR_CONNECTED` should not be cleared at this time.

Recovery the flag `SMP_FLAG_BR_CONNECTED` after the all flags of SMP
cleared.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-03-31 11:29:49 +02:00
Lyle Zhu
b59bc363ea Bluetooth: Classic: SMP: Set secure connection for derived LTK
If the encrypt value of classic connection is
`BT_HCI_ENCRYPTION_ON_BR_AES_CCM`, set the flag `BT_KEYS_SC` for
the derived LTK.

Or, clear the flag `BT_KEYS_SC` for the derived LTK.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-03-31 11:29:49 +02:00
Lyle Zhu
58f6ca80ca Bluetooth: Classic: SMP: Remove old LE keys before upgrading keys
Remove the old LE keys from resolving list and NVM before upgrading
the keys.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-03-31 11:29:49 +02:00
Lyle Zhu
3712b96738 Bluetooth: Classic: SMP: Avoid derived LE keys be added multiple times
In current implementation, the flag `local_dist` will be cleared when
the distributed key frame is performed if the local is the SMP
initiator. After the distributed key is sent out, the function
`smp_pairing_br_complete()` will be called if all bits of `local_dist`
are cleared.

It causes the function `smp_pairing_br_complete()` will be called
multiple times.

Add a flag `local_distributed` to flag the all sent keys. Add only the
flag `local_distributed` is not set, preform the key distribution
frame.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-03-31 11:29:49 +02:00
Lyle Zhu
8bb67c5824 Bluetooth: Classic: SMP: Derived LE keys are not handled correctly
The derived LE keys are not saved to NVM. And the IRK is not added to
controller resolving list. It causes two issues,
Issue 1, the LE connection connection cannot be established if the adv
address of peer is RPA.
Issue 2, the LE keys are missing after the power reset.

For issue 1, add a function `smp_br_id_add_replace` to add LE keys.
For issue 2, check the BR bondable flag `BT_CONN_BR_NOBOND` instead of
`SMP_FLAG_BOND`.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-03-31 11:29:49 +02:00
Ziad Elhanafy
a7ba802dbe drivers: mbox: Add Arm MHUv3 Mailbox driver
This adds new Arm MHUv3 mailbox driver.

The Arm MHUv3 (Message Handling Unit version 3) is a hardware
block designed for inter-processor communication in SoCs.

The ARM MHUv3 can optionally support various extensions to
enable different kinds of transport to be used for communication.

At the moment only the doorbell extension is supported in the
driver.

For more information refer to Arm Message Handling Unit
Architecture
https://documentation-service.arm.com/static/65f01fbab5e3c10fe1335edf

Signed-off-by: Ziad Elhanafy <ziad.elhanafy@arm.com>
2025-03-31 11:29:40 +02:00
Anas Nashif
06f42f6bfa twister: Move prep stage to a github runner
Speed things up by using GH runners, we do not need the power of our own
runners to create the test plan. This also simplifies the workflow
considerably.

PRs now will get queued immediately, ie. no need to wait for a Zephyr
hosted runner to create the plan and then wait again for another round
to get more runners for execution.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-03-31 11:29:31 +02:00
Anas Nashif
a0d204c1f3 actions: add gitpython to requirements-actions.in
Needed for various workflows.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-03-31 11:29:31 +02:00
Tom Burdick
c3f67ab976 samples: philosphers: Fix typo in famous name
Dijkstra not djkstra

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2025-03-31 08:20:19 +02:00
Muhammad Waleed Badar
c6579041d7 dts: boards: st, stm32f3_disco: update user button logic
Updated the stm32f3_disco board user button logic from
active low to active high as per datasheet.

Signed-off-by: Muhammad Waleed Badar <walid.badar@gmail.com>
2025-03-31 08:07:37 +02:00
Ta Minh Nhat
50b32eefed boards: renesas: Add ethernet support for ek_ra6m3
Add ethernet support for ek_ra6m3.

Signed-off-by: Ta Minh Nhat <nhat-minh.ta.yn@bp.renesas.com>
2025-03-31 08:07:22 +02:00
Ta Minh Nhat
1adce5710e tests: drivers: pwm: Change pwm channel for ek_ra6m3
Change default pwm to pwm0 on ek_ra6m3 in test app pwm_loopback
to avoid pin conflict with ethernet phy.

Signed-off-by: Ta Minh Nhat <nhat-minh.ta.yn@bp.renesas.com>
2025-03-31 08:07:22 +02:00
Ta Minh Nhat
ee5b932423 boards: renesas: Change the pwm default node for ek_ra6m3
Change the pwm default node to pwm0 on ek_ra6m3 to avoid
pinsel conflict with ethernet phy.

Signed-off-by: Ta Minh Nhat <nhat-minh.ta.yn@bp.renesas.com>
2025-03-31 08:07:22 +02:00
Ta Minh Nhat
33ca45b91e dts: arm: renesas: Add ethernet support for RA6M3
Add ethernet support for RA6M3.

Signed-off-by: Ta Minh Nhat <nhat-minh.ta.yn@bp.renesas.com>
2025-03-31 08:07:22 +02:00
Corey Wharton
3aebc9d258 drivers: sensor: tmp112: add support for setting ALERT thresholds
Allows setting tLow/tHigh threasholds via the SENSOR_ATTR_LOWER_THRESH/
SENSOR_ATTR_UPPER_THRESH attributes.

Signed-off-by: Corey Wharton <xodus7@cwharton.com>
2025-03-31 08:07:12 +02:00
Corey Wharton
7425070ecc drivers: sensor: tmp112: format file
Format before other changes.

Signed-off-by: Corey Wharton <xodus7@cwharton.com>
2025-03-31 08:07:12 +02:00
TOKITA Hiroshi
881c64d2e1 samples: drivers: adc: Update overlay for arduino_uno_r4
Use the `arduino,uno-adc` mapping to change the settings
to make it easier to understand.
Add available A4 and A5 pins.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2025-03-31 08:07:01 +02:00
TOKITA Hiroshi
84eadd2ddd boards: arduino: uno_r4: Add ADC mapping
Add `arduino,uno-adc` node for adding ADC mapping.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2025-03-31 08:07:01 +02:00
Chew Zeh Yang
fa1e385b77 drivers: udc_ambiq: fix compilation issue after dwc2 header removal
udc_ambiq was using USB test mode definition in dwc2 header, which
the include was removed, hence compilation now fails. This commit
fixes the compilation failure.

Signed-off-by: Chew Zeh Yang <zeon.chew@ambiq.com>
2025-03-31 08:06:47 +02:00
Amneesh Singh
932953d2e6 tests: float_disable: honor custom ARM interrupt controllers
This patch allows checking for any custom ARM interrupt controller to get a
non-enabled IRQ line instead of assuming that GIC is enabled

Signed-off-by: Amneesh Singh <a-singh7@ti.com>
2025-03-31 08:06:36 +02:00
Arkadiusz Cholewinski
9a4104dc28 tests: power_wakeup_timer: Tests the RTC alarm’s ability to wake the CPU
As above, the test verify the ability to wake up CPU
from the lowest power state. The test has been
prepared for stm32l562e_dk board.

Signed-off-by: Arkadiusz Cholewinski <arkadiuszx.cholewinski@intel.com>
2025-03-31 08:06:25 +02:00
Arkadiusz Cholewinski
21f7e5fc28 tests: power_residency_time: Tests the residency time of each power state
This test evaluates the residency time of different power states
on the stm32l562e_dk board and calculates the
RMS (Root Mean Square) current for every detected state.

Signed-off-by: Arkadiusz Cholewinski <arkadiuszx.cholewinski@intel.com>
2025-03-31 08:06:25 +02:00
Arkadiusz Cholewinski
513eb43377 tests: power_states: Verifies the transition to all available power states
During the test, pytest detects each step and calculates
the RMS (Root Mean Square) current for every detected state.
The test then compares the calculated RMS values
against the expected values.

Signed-off-by: Arkadiusz Cholewinski <arkadiuszx.cholewinski@intel.com>
2025-03-31 08:06:25 +02:00
Arkadiusz Cholewinski
35b13e1629 Twister: Add power measurements support for Twister.
Add support for powerShield of stm32l562e_dk board.

Signed-off-by: Arkadiusz Cholewinski <arkadiuszx.cholewinski@intel.com>
2025-03-31 08:06:25 +02:00