Commit graph

118,807 commits

Author SHA1 Message Date
Yangbo Lu
f0b1cb578f net: dsa: introduce new DSA framework
The new DSA framework purpose and changes are as below.

- Aligned to Linux DSA framework which has been already mature framework
  for many years, For now in zephyr, the DSA components were splited
  as: switch, port, master(not need driver file for now), slave, and tag.
  Seperated drivers were used for maintaining and developing new
  features.

- The unified dts bindings (aligned to linux) were supported. The port
  driver would parse DTS to decide the port type (master port, slave
  port, or cpu port) to set up the switch. All the ports registered as
  standard ethernet devices. (dsa port and dsa switch tree was not
  supported.)

- How to add DSA device driver based on the framework? All the device
  driver needing to do is providing dsa_spi implementation and private
  data, and calling below initialization.

    DSA_INIT_INSTANCE(n, _dapi, data)

- For switch tag case, recv/xmit helpers in dsa_api could be used for
  taging/untagging. No modified ethernet drivers.
  For no-tag type case, ethernet driver of master port should support
  packet injection/extraction for slave ports leaving NULL recv/xmit.

The dsa_nxp_imx_netc.c driver will be the first example of the new DSA
framework.

The future work for DSA will be supporting bridge for ports. We may align
Linux to give users two options to use DSA device:

- Standalone mode: the switch ports work as regular ethernet ports.

- Bridge mode: switch mode with virtual bridge device which could be
  assigned IP address.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2025-04-24 01:26:46 +02:00
Yangbo Lu
ba2028d19c dts: bindings: dsa: add common bindings file
Added common bindings file for dsa, and adapted NETC to it.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2025-04-24 01:26:46 +02:00
Yangbo Lu
b22db75cec include: ethernet: rename dsa master/slave to conduit/user
Renamed dsa master/slave to conduit/user for capabilities.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2025-04-24 01:26:46 +02:00
Yangbo Lu
018a718e12 net: dsa: make current DSA core driver obsolete
Current DSA TX/RX way was hard-coded in ethernet devices driver
with ETH_DSA_SUPPORT and NET_DSA.
This patch is to make such way obsolete, as we actually will support
a better DSA framework to handle this in NET/DSA core driver.
To make legacy devices not affected, below options are used instead.

- ETH_DSA_SUPPORT_DEPRECATED
- NET_DSA_DEPRECATED

Once the legacy devices are converted to new DSA framework, this code
could be removed.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2025-04-24 01:26:46 +02:00
Gerson Fernando Budke
b939b1d07c MAINTAINERS.yml: Add Bouffalo Lab entries
Introduce Bouffalo Lab platform.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2025-04-24 01:26:37 +02:00
Gerson Fernando Budke
531196086b boards: riscv: Introduce bl604e_iot_dvk
Add initial version.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2025-04-24 01:26:37 +02:00
Gerson Fernando Budke
531915deda drivers: serial: bouffalolab: Add bflb serial driver
Add Bouffalo Lab serial driver. The driver uses pinctrl to configure
pins and have power management capabilities.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2025-04-24 01:26:37 +02:00
Gerson Fernando Budke
6520633a90 drivers: pinctrl: bouffalolab: Add bflb pinctrl driver
Add Bouffalo Lab pinctrl driver.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2025-04-24 01:26:37 +02:00
Gerson Fernando Budke
3c45c8b5cf soc: riscv: bouffalolab: Add bl60x series cpu
Add initial version.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2025-04-24 01:26:37 +02:00
Gerson Fernando Budke
cb84060409 dts: riscv: bouffalolab: Add bl60x series cpu
Introduce Bouffalo Lab vendor with BL60x cpu.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2025-04-24 01:26:37 +02:00
Gerson Fernando Budke
fab1b2bd11 dts: bindings: vendor-prefixes: Add Bouffalo Lab prefix
Add necessary bflb prefix to be used on devicetree bindings and identify
the board vendor.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2025-04-24 01:26:37 +02:00
Gerson Fernando Budke
0020af2a8b west: Introduce hal bouffalo lab
Add initial version that uses bouffalo_sdk 1.4.5.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2025-04-24 01:26:37 +02:00
Cla Mattia Galliard
4d87827e04 MAINTAINERS.yml: Add clamattia as collaborator for ethernet
Add clamattia as collaborator in the area of ethernet to the
MAINTAINERS.yml file.

Signed-off-by: Cla Mattia Galliard <cla-mattia.galliard@zuehlke.com>
2025-04-24 01:26:26 +02:00
Haiyue Wang
9c9c080b68 pmci: mctp: Fix No SOURCES CMake warning
The commit 1e0af58b51 ("pmci: Move MCTP into the PMCI subsys") changes
'mctp' directory adding to unconditionally, which will cause:

CMake Warning at ./zephyrproject/zephyr/CMakeLists.txt:1022 (message):
  No SOURCES given to Zephyr library: subsys__pmci__mctp

  Excluding target from build.

Signed-off-by: Haiyue Wang <haiyuewa@163.com>
2025-04-23 17:55:19 +02:00
Arkadiusz Balys
e93fdca1e4 doc: releases: add release note for OpenThread update
Add an entry to the release notes and migration guide regarding
moving OpenThread-related Kconfig options from
subsys/net/l2/openthred/Kconfig to modules/openthread/Kconfig.

Signed-off-by: Arkadiusz Balys <arkadiusz.balys@nordicsemi.no>
2025-04-23 17:54:58 +02:00
Arkadiusz Balys
66e78e05d3 openthread: Separate OpenThread Kconfigs from L2 layer
Moved OpenThread-related Kconfigs from L2 layer to
modules/openthread. All of those configs were not strictly related
to the L2 layer, so they fits better to OpenThread module.
This operation allows using OpenThread Kconfigs even if L2 layer is
disabled.

Enabling NET_L2_OPENTHREAD also configures those configs by
selecting the OPENTHREAD kconfig, so there is no change regarding
backwards compatibility. The only change is that the Kconfigs
related to Thread were moved to the modules space, so their
location in the menuconfig also changed.

Once it is done, a choice for setting different L2 implementations
seems to be redundant.

Signed-off-by: Arkadiusz Balys <arkadiusz.balys@nordicsemi.no>
2025-04-23 17:54:58 +02:00
Anas Nashif
a07b6563a8 doc: semihosting: fix section level
Wrong section level makes this section appear in the wrong table of
contents.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-04-23 17:54:47 +02:00
Derek Snell
699ebb3623 doc: tests: drivers: i2c_target_api: correct comments for frdm_mcxn947
Corrects GPIO signal names shorted together for this test.

Signed-off-by: Derek Snell <derek.snell@nxp.com>
2025-04-23 17:54:43 +02:00
Fin Maaß
e6d6aacf32 ci: set_assignee: don't allways pick next area when submitter = assignee
we don't want to pick the next area when there
are other maintainers available in the same area.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-04-23 17:54:38 +02:00
Omkar Kulkarni
4680590fda Bluetooth: GATT: Clarify start and end handles
Clarifies what does start_handle and end_handle means in the GATT API.

Signed-off-by: Omkar Kulkarni <omkar.kulkarni@nordicsemi.no>
2025-04-23 15:07:27 +02:00
Yunshao Chiang
13087ee1b0 drivers: adc: add it515xx_evb board adc driver
Add it515xx analog to digital converter driver which supports 8 channels
ch0 ~ ch7 and 12-bit resolution.

Signed-off-by: Yunshao Chiang <Yunshao.Chiang@ite.com.tw>
2025-04-23 15:02:36 +02:00
Greg Leach
2aff40b1b1 tests: Add BL54L15/L15u DVK support
Adds support for the BL54L15 and BL54L15u DVK boards.

Signed-off-by: Greg Leach <greg.leach@ezurio.com>
2025-04-23 15:02:20 +02:00
Greg Leach
23338e5708 samples: Add BL54L15/L15u DVK support
Adds support for the BL54L15 and BL54L15u DVK boards.

Signed-off-by: Greg Leach <greg.leach@ezurio.com>
2025-04-23 15:02:20 +02:00
Greg Leach
f0eaba4ef7 boards: ezurio: bl54l15_dvk: Add BL54L15/L15u DVK support
Adds support for the BL54L15 and BL54L15u DVK boards.

Signed-off-by: Greg Leach <greg.leach@ezurio.com>
2025-04-23 15:02:20 +02:00
Chaitanya Tata
9c7e8ba679 drivers: nrf_wifi: Move AP mode depedency to LPM
Recovery only needs LPM, rest dependencies come through LPM, so, move
them to the source.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-04-23 15:00:27 +02:00
Chaitanya Tata
52c156a53d drivers: nrf_wifi: Disable LPM for radio test
This is only meant for operational modes not test modes.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-04-23 15:00:27 +02:00
Chaitanya Tata
5d81558ff3 manifest: nrf_wifi: Pull RPU recovery fixes
Minor fixes for RPU recovery.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-04-23 15:00:27 +02:00
Fin Maaß
8b322a4ed5 docs: releases: mention deprecation of CONFIG_HAWKBIT_DDI_NO_SECURITY
mention deprecation of CONFIG_HAWKBIT_DDI_NO_SECURITY
in release notes

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-04-23 15:00:05 +02:00
Fin Maaß
89ad446b27 mgmt: hawkbit: deprecate HAWKBIT_DDI_NO_SECURITY
anonymous/no authentication mode had been removed
from the last hawkBit server release, so mention it and
deprecate the option.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-04-23 15:00:05 +02:00
Fin Maaß
1db528fc45 mgmt: hawkbit: add more infos for authentication modes
add more infos for security token authentication modes

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-04-23 15:00:05 +02:00
Łukasz Iwaszkiewicz
2fa0afbc37 drivers: mdio_esp32: let the REF_CLK be initialized before the PHY.
When GPIO17 or 16 is used as an external REF_CLK signal, the output is
enabled in eth_esp32.c This was added in PR number #65759 and then refined
in PR #74442. However this does not work for PHYs which need the REF_CLK
for MDIO communication, such as LAN8720A. In such cases phy_mii driver
tries to get the ID of such a PHY before REF_CLK is present. Therefore
in this PR I propose to move REF_CLK initialization from eth_esp32.c to
mdio_esp32.c which gets initialized before PHY and ETH.

Signed-off-by: Łukasz Iwaszkiewicz <lukasz.iwaszkiewicz@gmail.com>
2025-04-23 14:59:36 +02:00
Jamie McCrae
a4e41f4d80 dts: common: nordic: nrf52840_partitions: Use equal partitions
Switches back to equal sized partitions, this fixes an issue
whereby the number of overhead sectors for a swap mode was
incorrectly listed as 2 when it should have been 1, and also
allows using any swap mode. This means that when using swap
using mode, 1 sector in the secondary partition will be unusable,
and when using swap using offset, 1 sector in the primary
partition will be unusable

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2025-04-23 11:49:01 +02:00
TOKITA Hiroshi
714852930e boards: m5stack: cores3: Add AXP2101 regulator configuration
Adding configuration for enabling AXP2101 regulator.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2025-04-23 11:48:54 +02:00
Jordan Yates
3048e6df6e samples: net: zperf: test NET_ZPERF_SERVER=n
Validate that zperf compiles without `NET_ZPERF_SERVER`.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-04-23 11:48:42 +02:00
Jordan Yates
ed93ea3913 samples: net: enable NET_ZPERF_SERVER
Enable `NET_ZPERF_SERVER` for samples that currently enable `NET_ZPERF`
to prevent feature regressions.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-04-23 11:48:42 +02:00
Jordan Yates
00c68722d9 net: lib: zperf: TCP uploader: populate total_len
Populate the `total_len` field of the output results.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-04-23 11:48:42 +02:00
Jordan Yates
6ce51997e7 net: lib: zperf: conditional UDP/TCP compilation
Only compile in the UDP/TCP variants of the zperf functions if the
underlying support is present.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-04-23 11:48:42 +02:00
Jordan Yates
82d767585d net: lib: zperf: optional server support
Make the zperf server support optional, if only upload throughput
testing is required. This reduces the resources required to operate.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-04-23 11:48:42 +02:00
Jordan Yates
05d577993f net: lib: zperf: update descriptions
`NET_ZPERF` enables the core zperf utility library, not a shell module.
Add more specifics about what the utility can communicate with.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-04-23 11:48:42 +02:00
Robert Lubos
379e71def3 net: connection: Cleanup packet input processing
Part of the socket matching criteria for AF_PACKET family took place
inside conn_raw_socket() function, and some of it was redundant with
what already was checked in net_conn_packet_input(). Moreover, if the
packet cloning for packet socket failed for whatever reason, the packet
was reported as NET_DROP, which was confusing.
Finally, conn_raw_socket() updated network stats, which didn't really
work as net stats are only collected for UDP/TCP protocols and not for
L2 level protocols.

Therefore, cleanup the processing by:
  * Moving all socket matching criteria into net_conn_packet_input()
    for clarity,
  * Drop unneeded net stats functions,
  * Clarify NET_DROP strategy for packet socket input.
    net_conn_packet_input() should only be responsible for delivering
    packets to respective packet sockets, it should not decide whether
    to drop the packet or not - it's L2/L3 processing code
    responsibility. Therefore, assume this function forwards packet for
    further processing by default, and only allow small optimization to
    return NET_OK if the packet socket was really the only endpoint in
    the system.
  * And finally, since now conn_raw_socket() responsibility was to clone
    the packet for the respective socket, and was almost identical to a
    corresponding function for raw IP sockets, unify the two functions.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2025-04-23 11:48:33 +02:00
Robert Lubos
32f3ce396f net: connection: Split net_conn_input()
The current implementation of net_conn_input() can accept different
packet types, with completely different processing code, resulting in a
function which is pretty bloated, sliced with conditionally enabled code
and hard to understand and therefore maintain.

This commit splits that function into smaller ones, specialized for
different packet types (and entry levels). The following functions have
been extracted from the original one:
  - net_conn_packet_input() for early packet processing (covering
    AF_PACKET family sockets)
  - net_conn_raw_ip_input() for raw IP packets processing (covering
    AF_INET(6)/SOCK_RAW sockets)
  - net_conn_can_input() for CAN packets processing (covering AF_CAN
    family sockets)

The net_conn_input() function stripped from above cases now only takes
care of packets that have been processed by respective L4 and are
intended for regular TCP/UDP sockets.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2025-04-23 11:48:33 +02:00
Robert Lubos
edba291799 net: core: Pass the actual LL proto for DGRAM packet sockets
After L2 processing, the LL protocol type is already known and should be
set accordingly on the packet. Therefore it can be passed to the
net_packet_socket_input() function to allow proper socket filtering
based on protocol.

Additionally, as LL protocol type is 16 bit value, fix the proto
parameter type in net_packet_socket_input().

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2025-04-23 11:48:33 +02:00
Cong Nguyen Huu
b985b9437c drivers: uart_nxp_s32_linflexd: support config via devicetree
Added support for initialization configuration via Devicetree.

Signed-off-by: Cong Nguyen Huu <cong.nguyenhuu@nxp.com>
2025-04-23 11:48:24 +02:00
Cong Nguyen Huu
92b57ac654 dts: bindings: serial: uart-controller: expand parity type support
Enhanced uart-controller.yaml to expand parity type support,
now including 'mark' and 'space' options.

Signed-off-by: Cong Nguyen Huu <cong.nguyenhuu@nxp.com>
2025-04-23 11:48:24 +02:00
Mark Wang
5c4dece721 bluetooth: classic: smp: fix the wrong Responder Key Distribution
BR_SEND_KEYS_SC should be used to determine the value of
Responder Key Distribution when sending pairing_response to
reply smp br pairing_request.

Signed-off-by: Mark Wang <yichang.wang@nxp.com>
2025-04-23 10:04:23 +02:00
Hao Luo
eebd10de8a soc: ambiq: Add missing LOG_MODULE_REGISTER in soc
Need to register log module as we declare it in power.c

Signed-off-by: Hao Luo <hluo@ambiq.com>
2025-04-23 10:04:09 +02:00
Khoa Nguyen
5d0f4e3677 tests: drivers: flash: common: Fixing the overlap case
For the flash with the block size equal to or smaller than 64 bytes,
using a specific "32" bytes for adding for destination_offset and "32"
bytes for subtracting the size that need to copy is not correct.

As a solution, I will add one-fourth of a block size for the
destination_offset and modify the size that need to copy to
[block size + one-fourth of a block size].

Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
2025-04-23 10:04:02 +02:00
Fin Maaß
44f9f9fb28 drivers: ethernet: phy: clarify phy_link_callback_set()
clarify phy_link_callback_set() duties.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-04-23 10:03:55 +02:00
Fin Maaß
3237fd2a54 drivers: ethernet: atmel_sam_gmac: move net_if_carrier_off()
move net_if_carrier_off() before
phy_link_callback_set() to ensure the carrier is
not truned off, when the link is already up.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-04-23 10:03:55 +02:00
Fin Maaß
ddfb3909f6 drivers: ethernet: nxp_imx_netc_psi: move net_if_carrier_off()
move net_if_carrier_off() before
phy_link_callback_set() to ensure the carrier is
not truned off, when the link is already up.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-04-23 10:03:55 +02:00