Commit graph

126,787 commits

Author SHA1 Message Date
Fin Maaß
1097785c4c drivers: mdio: stm32: make driver more independent
make stm32 mdio driver more independent

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-04-02 10:31:34 +02:00
Fin Maaß
a806ddf488 drivers: ethernet: stm32: remove internal phy code
rewirte code and remove code that use internal phy functions.
A few Kconfig options got removed, that are now set by the
phy via the DT.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-04-02 10:31:34 +02:00
Fin Maaß
0f636ec2fa drivers: ethernet: mdio: stm32: move stmmaceth clock to parent
move stmmaceth clock to parent, so it can also be
used by mdio and rename it to ``stm-eth``.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-04-02 10:31:34 +02:00
Fin Maaß
d139d84338 drivers: ethernet: stm32: make mac a child like the mdio node
mac and mdio are now on the same level, this way
phy-handle can be used.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-04-02 10:31:34 +02:00
Fin Maaß
d74d0f7ac7 boards: dts: stm32: add mdio and phy node
add mdio and phy node to every stm32board that
supports ethernet.
Also set the phy-handle for every ethernet mac.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-04-02 10:31:34 +02:00
Fin Maaß
3a19dddfe7 drivers: mdio: stm32: remove unused functions
The api takes care, if the mdio bus_enable and bus_disable
are not needed, so there is no need to have tis in the driver.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-04-02 10:31:34 +02:00
Fin Maaß
dffb356278 drivers: mdio: stm32: add mdio for legacy api
add mdio for legacy stm32 api

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-04-02 10:31:34 +02:00
Mohith Potluri
c1edfbcf4b drivers: reset: Add generic reset MMIO driver
Introduce a generic reset MMIO driver to be used for devices with a
single memory mapped reset bit required to take them out of reset.

Signed-off-by: Mohith Potluri <saimohith@google.com>
2025-04-02 10:31:12 +02:00
Marek Maškarinec
bc4d040e0d drivers: can_mcp251xfd: Add XSTBY option
Adds ability to enable the XSTBY functionality on GPIO0 pin, if enabled
in devicetree.

Signed-off-by: Marek Maškarinec <marek.maskarinec@hardwario.com>
2025-04-02 10:30:59 +02:00
Yishai Jaffe
010d33c239 cfb: typo fixes
Fixed CFB_DISPLAY_HEIGH typo to CFB_DISPLAY_HEIGHT.
Fixed widht typo to width.
Fixed "cfb draw point" shell command's help message to "<x> <y>" instead
of "<x> <y0>".

Signed-off-by: Yishai Jaffe <yishai1999@gmail.com>
2025-04-02 10:30:50 +02:00
Yishai Jaffe
de9dd989f8 cfb: clear display on init correctly
If the display is MONO01 and invert=false or display is MONO10 and
invert=true the nthe special logic is needed.

Signed-off-by: Yishai Jaffe <yishai1999@gmail.com>
2025-04-02 10:30:50 +02:00
Yishai Jaffe
5119330549 cfb: support text draw for non-vtiled displays
Added support to draw text on non-vtiled displays

Signed-off-by: Yishai Jaffe <yishai1999@gmail.com>
2025-04-02 10:30:45 +02:00
Jukka Rissanen
db098f5ae8 samples: net: common: Check that tunnel config options are valid
Make sure that we have always a default value for tunnel peer and
local addresses.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2025-04-02 10:29:29 +02:00
Jukka Rissanen
43acb93607 net: shell: iface: Do not print DHCPv6 detail info if disabled
No point printing detailed DHCPv6 information if client support
is disabled.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2025-04-02 05:30:32 +02:00
Jukka Rissanen
5e17f40178 net: shell: iface: Do not print DHCPv4 detail info if disabled
No point printing detailed DHCPv4 information if client support
is disabled.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2025-04-02 05:30:32 +02:00
Josuah Demangeon
5e799193fc drivers: video: gc2145: Add Chip ID 0x2145
The Chip ID field of the GC2145 was assumed to be 0x2155, but sensors
with Chip ID 0x2145 are still present. Rework how chip IDs verification
is done slightly and add support for both.

Signed-off-by: Josuah Demangeon <me@josuah.net>
2025-04-02 05:30:19 +02:00
Jukka Rissanen
8d94245152 samples: net: echo-server: Refactor tunnel support
Move the common tunnel setup code to samples/net/common directory
so that other network samples can utilize that too.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2025-04-02 05:29:57 +02:00
Hubert Miś
502982bf03 drv: ft8xx: extend single-letter function argument names
Replace single-letter function argument names in the FT8xx coprocessor
API with full names of the arguments for better code clarity.

The arguments in the ft8xx_reference_api.h are left as single-ltters to
keep the same function declarations as described in the FT8xx
programming guides.

Signed-off-by: Hubert Miś <hubert.mis@gmail.com>
2025-04-02 05:29:46 +02:00
Jordan Yates
784f64650b serial: stm32: unconditional policy locks for async TX
When using the asynchronous TX API, skip the `data->pm_policy_state_on`
checks for PM policy updates. This fixes two issues:
 * State conflicts with the `poll_out` implementation when both APIs are
   used on the same port, resulting in the SoC sleeping while
   transmissions are running.
 * Scheduling a TX from the `TX_DONE` callback resulting in the PM
   policy not being applied, resulting in TX errors.

Every call to `uart_tx` should have a corresponding `TX_DONE` event
generated, which makes the raw (reference counted) calls to
`pm_policy_state_lock_put/get` the correct API to use here.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-04-02 05:29:36 +02:00
Luis Ubieda
662b75b32a tests: pat9136: Add node to Build-All test
Enabled for basic functionality.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-04-02 05:29:23 +02:00
Luis Ubieda
c1e75b6c3b sensor: pat9136: Add cooldown timer
This sensor may trigger data at a very fast pace (20,000 fps) and this
may not be useful for the application. Instead, it may affect its
proper functioning. Therefore, this patch includes a cool-down timer
before which time the INT line won't be enabled.

Please note that this sensor accumulates the delta compared to the
last reading, so on its own, not reading data-changes does not imply
losing data, as long as it does not saturate.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-04-02 05:29:23 +02:00
Luis Ubieda
382fa5d085 sensor: pat9136: Add Streaming mode
Working with DRDY and Motion triggers.
DRDY contains a backup software timer to guarantee checking in with
the sensor.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-04-02 05:29:23 +02:00
Luis Ubieda
9df68a4c48 sensor: pat9136: Add basic functionality
- Basic support with Read/Decode API for one-shot reads.
- Supported channels:
    - SENSOR_CHAN_POS_DX.
    - SENSOR_CHAN_POS_DY.
    - SENSOR_CHAN_POS_DXYZ.
    - SENSOR_CHAN_POS_DX_MM (private channel).
    - SENSOR_CHAN_POS_DY_MM (private channel).
    - SENSOR_CHAN_POS_DXYZ_MM (private channel).

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-04-02 05:29:23 +02:00
Peggy Chen
9faa7b07ff drivers: sensor: bma4xx: Implement streaming APIs
Add a streaming implementation for the BMA4XX using both
FIFO watermark and FIFO full interrupts. A batch duration of
3,000 have been used for verification.

Signed-off-by: Peggy Chen <peggy.chen@cienet.com>
2025-04-02 05:29:11 +02:00
Peggy Chen
2dff22b0c7 drivers: sensor: bma4xx: Enable and resolve issues with emulator
Enable the sensor emulator and address related issues
to ensure proper functionality.

Signed-off-by: Peggy Chen <peggy.chen@cienet.com>
2025-04-02 05:29:11 +02:00
Peggy Chen
26af8a4b7a drivers: sensor: bma4xx: Refactor submit logic into separate files
Refactor the sensor submit logic into individual files
to enhance maintainability and readability.

Signed-off-by: Peggy Chen <peggy.chen@cienet.com>
2025-04-02 05:29:11 +02:00
Peggy Chen
feb65f6ce1 drivers: sensor: bma4xx: Refactor decoder into separate files
Refactor the sensor decoder code into individual files for
improved maintainability and readability.

Signed-off-by: Peggy Chen <peggy.chen@cienet.com>
2025-04-02 05:29:11 +02:00
Peggy Chen
67e688ee3e drivers: sensor: bma4xx: Update config to use bma4xx_safely_configure
Updated the sensor configuration to use the bma4xx_safely_configure
function for safer and more reliable initialization.

Signed-off-by: Peggy Chen <peggy.chen@cienet.com>
2025-04-02 05:29:11 +02:00
Peggy Chen
551027c5aa drivers: sensor: bma4xx: Split off bma4xx_defs.h
Added register definitions, bit masks, and related constants
for the BMA4XX sensor in a separate header file.

Signed-off-by: Peggy Chen <peggy.chen@cienet.com>
2025-04-02 05:29:11 +02:00
Lyle Zhu
f9e8ecae26 Bluetooth: Classic: shell: Add command bonds
Add shell command `bonds` to list all the bonding information of
classic.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-04-01 22:18:40 +02:00
Lyle Zhu
8d819954e8 Bluetooth: Classic: Refactor query and deletion of bonding information
In current implementation, the bonding information of classic is
queried by calling the function `bt_foreach_bond()`. And the bonding
information of classic is deleted by calling `bt_unpair()`.

There are two issues if the LE and classic are bonded at same time for
dual mode peer device.
Issue 1, for the function `bt_foreach_bond()`, there are two bonding
information will be found. But there is no way to find which bonding
information belongs to LE or classic.
Issue 2, For the function `bt_unpair()`, all bonding information will
be deleted if the passed address is the public address. But there is
no way to delete the bonding information of LE or classic.

Remove the calling of function `bt_foreach_bond_br()` from the
function `bt_foreach_bond()`. And rename it to `bt_br_foreach_bond()`,
and public it as an API to query the bonding information of classic.

Remove the calling of function `bt_keys_link_key_clear_addr()` from
the function `bt_unpair()`. Add an API `bt_br_unpair()` to delete the
bonding information of classic.

Add a `br_bond_deleted` to structure `bt_conn_auth_info_cb` for
classic. The callback will be triggered if the bonding information has
been deleted by the function `bt_br_unpair()`.

Add a `clear` shell command for classic to delete the bonding
information.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-04-01 22:18:40 +02:00
Vixay Phimmasane
607f68daaa dts: arm: st: add stm32l071X8 & stm32l071Xz dtsi files
add STM32L071 dtsi files for the 64Kb and 192Kb version

Signed-off-by: Vixay Phimmasane <visuphi@gmail.com>
2025-04-01 22:15:23 +02:00
Camille BAUD
4b9aa72ebc boards: wch: update linkW documentation
Removed somewhat duplicated section and replace supported features
table with new automatic table.

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-04-01 22:15:13 +02:00
Patrik Sieverding
3eb6016e74 drivers: i2c: add function to check if an I2C_IODEV is ready
The i2c driver is missing the option to check if a I2C_IODEV is ready for
use. The proposed function works the same as the check for a SPI_IODDEV
to keep the use consistent across different bus systems.

Signed-off-by: Patrik Sieverding <sieverdp@uni-bremen.de>
2025-04-01 22:14:59 +02:00
Krzysztof Chruściński
02644b28e3 soc: nordic: nrf54: Indicate presence of DWT
ARM Cortex-M33 cores in nrf54h20 and nrf54l series have DWT.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-04-01 22:14:44 +02:00
Dimitrije Lilic
c0e5e5236f drivers: adc: ad405x: Add diff support and res used form adc spec
Added support for differentail or single ended setup.
Reading resolution form dt - adc spec.

Signed-off-by: Dimitrije Lilic <dimitrije.lilic@orioninc.com>
2025-04-01 22:14:31 +02:00
Lyle Zhu
18beac9c57 Bluetooth: Classic: L2CAP: Support L2CAP_COMMAND_REJECT_RSP
In current implementation, when receiving the L2CAP frame
`L2CAP_COMMAND_REJECT_RSP` if the L2CAP is working as client role, the
L2CAP frame `L2CAP_COMMAND_REJECT_RSP` will be sent by the L2CAP
client incorrectly.

When the command response `L2CAP_COMMAND_REJECT_RSP` is received, find
the channel of the command request according to the received `ident`.
If the channel is found, try to disconnect the channel. If fail to
disconnect the channel, remove and delete the channel.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-04-01 22:14:15 +02:00
Lyle Zhu
384e31977f Bluetooth: Classic: L2CAP: Discard the response with a invalid ident
In current implementation, the `ident` of the command response is not
checked whether it is same as the `ident` sent by the L2CAP command.

Keep the `ident` of the command. If the received `ident` of the
command response is not aligned with the `ident` of the command,
discard the response silently. Or, clear the saved `ident`.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-04-01 22:14:15 +02:00
Troels Nilsson
a3b8954ae9 Bluetooth: Controller: Fix assert when flushing multiple CISes
If more than one CIS in the same CIG was shutdown at the same time
(e.g. due to supervision timeout), the mayfly calling cis_tx_lll_flush
would be busy and the assert would be triggered

cis_tx_lll_flush now operates similar to cis_disabled_cb; Loop through
all CISes for a CIG and flush any marked as LLL_CIS_FLUSH_PENDING

Signed-off-by: Troels Nilsson <trnn@demant.com>
2025-04-01 22:14:03 +02:00
Patrick Harböck
a7432a1e64 samples: sensor: add esp32c6 board to die_temp_polling
Add board overlay to test internal temperature sensor with esp32c6.

Signed-off-by: Patrick Harböck <patrick.harboeck@tngtech.com>
2025-04-01 22:13:50 +02:00
Patrick Harböck
a67eefd43e drivers: sensor: esp32c6 internal temperature sensor
Support for esp32c6 internal temperature sensor on Zephyr.

Signed-off-by: Patrick Harböck <patrick.harboeck@tngtech.com>
2025-04-01 22:13:50 +02:00
Patrick Harböck
5861cf71bf manifest: esp32: update hal_espressif
Update to support latest features.

Signed-off-by: Patrick Harböck <patrick.harboeck@tngtech.com>
2025-04-01 22:13:50 +02:00
Andrzej Puzdrowski
eab304f0db mcumgr/img_mgmt: Allow erase pending image by default
Allows erasing secondary slot which is marked for test or confirmed.
This is safe as bootloader doesn't make any action on boot-setup yet.

Erase of such pending image might considered like the case when it
was never downloaded as well.

This allow user to not stuck with pending irremovable image.

Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
2025-04-01 22:13:20 +02:00
Nicolas Pitre
11021cdd4f kernel: sys_heap: decouple realloc from aligned_realloc
When sys_heap_realloc() is expressed in terms of sys_heap_aligned_realloc()
it invokes a longer aligned allocation code path with an extra runtime
overhead even though no alignment is necessary.

Let's reference and invoke the aligned allocation code path only when an
actual aligned allocation is requested. This opens the possibility for
the linker to garbage-collect the aligning code otherwise.

Improve realloc documentation while at it.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2025-04-01 22:13:04 +02:00
Nicolas Pitre
457fa60bfc kernel: mempool: decouple simple alloc from aligned_alloc
When k_malloc() is expressed in terms of k_aligned_alloc() it invokes a
longer aligned allocation code path with an extra runtime overhead even
though no alignment is necessary.

Let's reference and invoke the aligned allocation code path only when an
actual aligned allocation is requested. This opens the possibility for
the linker to garbage-collect the aligning code otherwise.

Also bypass k_heap_malloc() and friends given they're invoked with
K_NO_WAIT. Go directly to sys_heap_*() instead to cut some more unneeded
overhead.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2025-04-01 22:13:04 +02:00
Nicolas Pitre
7c9f464b70 kernel: kheap: workaround for Percepio's TraceRecorder kludge
In .../modules/debug/percepio/TraceRecorder/kernelports/Zephyr/include/\
tracing_tracerecorder.h there is a concealed non-parameterized direct
reference to a local variable that is no longer in scope. Provide a dummy
stub for compilation to succeed until that module's layering violation is
fixed, after which this could be reverted.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2025-04-01 22:13:04 +02:00
Nicolas Pitre
9da06456f2 kernel: kheap: decouple simple alloc from aligned_alloc
When k_heap_alloc() is expressed in terms of k_heap_aligned_alloc()
it invokes a longer aligned allocation code path with an extra runtime
overhead even though no alignment is necessary.

Let's reference and invoke the aligned allocation code path only when an
actual aligned allocation is requested. This opens the possibility for
the linker to garbage-collect the aligning code otherwise.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2025-04-01 22:13:04 +02:00
Nicolas Pitre
31244724a2 kernel: k_aligned_alloc: simplify assertion
Let's avoid division and modulus operations as they're costly... and even
more so when they're unnecessary as in this case the main constraint is
about the alignment being a power of 2 which is a very small subset of
sizeof(void *) multiples.

Then move the assertion to common code for wider coverage.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2025-04-01 22:13:04 +02:00
Nicolas Pitre
ea7a969204 tests: benchmarks: sys_kernel: add k_malloc() test
Useful to evaluate malloc performance changes.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2025-04-01 22:13:04 +02:00
Manimaran A
810f549ed4 drivers: eSPI: microchip: Port80 Multibyte
Updated ISR to send multibyte p80 data

Signed-off-by: Manimaran A <manimaran.a@microchip.com>
2025-04-01 22:12:28 +02:00