Commit graph

17,121 commits

Author SHA1 Message Date
Daniel Leung
004e68ccea xtensa: move exception handling func to arch internal header
z_xtensa_dump_stack() and z_xtensa_exccause() are both arch
internal functions that should not be exposed in public API.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-12-13 09:41:24 +01:00
Daniel Leung
3af390f6ed xtensa: doxygen: add groups for public and internal APIs
This adds two groups for Xtensa public and internal APIs.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-12-13 09:41:24 +01:00
Anas Nashif
e29452da64 arch: arm: remove aarch32 from include header guards
We follow the path of the header to define the guard, aarch32 was
removed some time ago and the guards still had AARCH32 in them, just
remove it and keep the guard consistent and short.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-12 18:47:57 +00:00
Daniel Leung
c6773403b1 kernel: mm: fix some doxygen issues
Fix misplaced in,out in @param. If any parameters are output,
mark the others as input for clarity.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-12-12 18:46:21 +00:00
Daniel Leung
6421c7a5fe os: timing: polish doxygen
() Moves the architecture specific timing measurement APIs
   under the timing measurement APIs group.
() Add SoC and board specific API groups.
() Document each SoC and board specific API so the doc shows up
   for them.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-12-12 19:10:33 +01:00
Lucas Denefle
d1ba79a070 drivers: cellular: add signal and modem_info API
Implement modem info pulling using the init and periodic chat scripts

Signed-off-by: Lucas Denefle <lucas.denefle@converge.io>
2023-12-12 19:09:33 +01:00
Bjarki Arge Andreasen
ad011695ab drivers: Add cellular API for network configuration
Adds two APIs which allow for configuring the cellular
network configuration of a cellular network device. like
a cellular modem. The first allows for configuring which
access technology to use, and optionally, which bands to
use. The second allows for getting all supported access
technologies are supported, and which bands for each tech
are supported.

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-12-12 19:09:33 +01:00
Ricardo Rivera-Matos
d4ed6bacf0 drivers: charger: Adds charge_enable handler
Adds a charge_enable handler to facilitate enabling and disabling
a charge cycle. This deprecates enabling and disable the charge
cycle via the CHARGER_PROP_STATUS property.

Signed-off-by: Ricardo Rivera-Matos <ricardo.rivera-matos@cirrus.com>
2023-12-12 10:49:39 -06:00
Jamie McCrae
2522a78566 linker: Add flash end ROM offset
Reduces the size of an image in the linker script by using the
ROM end offset Kconfig value

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-12-12 15:31:16 +01:00
Johann Fischer
6a7f43b47b usb: device_next: add SetFeature(TEST_MODE) support
Add an interface to verify and enable a test mode. The test mode
selected in the SetFeature control request must be verified to be
supported by the controller and enabled after the status stage is
completed.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2023-12-12 15:01:49 +01:00
Johann Fischer
7013b4d7c7 usb: device_next: add support to set device address directly
Not all device controllers expect the device address to be set after the
status stage. Add support to directly set a new device address without
waiting for the control request status stage.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2023-12-12 15:01:49 +01:00
Flavio Ceolin
7382d7052b xtensa: mmu: Fix partition permission
The ring field in the pte mapping a memory partition should
be based in the partition attribute and not in the domain
asid that is used only to set the ASID (in RASID) position for
user ring.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-12-12 10:57:57 +01:00
Benedikt Schmidt
0861395713 drivers: smbus: implement SMBus driver for STM32
Implement a SMBus driver for STM32, which reuses
the I2C implementation.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2023-12-12 10:57:41 +01:00
Benedikt Schmidt
a0f547aac4 drivers: smbus: add missing includes
Add includes which are actually required for the compilation
in the headers themselves to avoid include dependencies.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2023-12-12 10:57:41 +01:00
Flavio Ceolin
b5ca7a06b4 pm: device_runtime: Add delay to async put
Add a delay parameter to asynchronous device runtim put. This allows
to delay the put operation what is useful to avoid multiple states
transitions.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-12-12 10:57:34 +01:00
Juha Ylinen
69e28939dd net: lib: coap: Add new API to configure retransmission settings
Add new functions to the public CoAP API to configure CoAP packet
retransmission settings. Application may need to re-configure the
settings for example when cellular modem changes connection from
LTE-M to NB-IoT or vice versa.

Signed-off-by: Juha Ylinen <juha.ylinen@nordicsemi.no>
2023-12-12 10:56:29 +01:00
Anas Nashif
01264d23db drivers: intc: manage multi-level interrupt configs
Multilevel interrupt configs are leaking into every single build without
this option being enabled, so guard the Kconfig and include files to
avoid this.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-11 18:23:23 -05:00
Anas Nashif
552f7194e3 arch: exception: rename header guard
Match guard with header file name.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-11 18:22:40 -05:00
Anas Nashif
699880a430 arch: arm: cortex_m: rename expection header
Rename exception header and use the same name as all architecture ports.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-11 18:22:40 -05:00
Anas Nashif
4d5fd2edf2 arch: arm: cortex_a_r: rename expection header
Rename exception header and use the same name as all architecture ports.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-11 18:22:40 -05:00
Anas Nashif
1813a33108 arch: arm: rename expection header
Rename exception header and use the same name as all architecture ports.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-11 18:22:40 -05:00
Anas Nashif
87eb1d842f arch: arc: rename expection header
Rename exception header and use the same name as all architecture ports.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-11 18:22:40 -05:00
Anas Nashif
864731acdf arch: arm64: rename expection header
Rename exception header and use the same name as all architecture ports.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-11 18:22:40 -05:00
Anas Nashif
9d1a6b6db5 arch: xtensa: rename expection header
Rename exception header and use the same name as all architecture ports.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-11 18:22:40 -05:00
Anas Nashif
8447700013 arch: riscv: rename expection header
Rename exception header and use the same name as all architecture ports.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-11 18:22:40 -05:00
Anas Nashif
4a020ecc02 arch: mips: rename expection header
Rename exception header and use the same name as all architecture ports.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-11 18:22:40 -05:00
Dat Nguyen Duy
03b702690a include: arm: mpu: add missing RAM NOCACHE region define for armv8-r
Add missing define for a non-cacheable RAM region for MPU
on armv8-r aarch32

Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
2023-12-11 19:26:47 +01:00
Jukka Rissanen
0880dbee92 net: if: Tweak the documentation of multicast monitor API
As the API supports both IPv4 and IPv6, mention it clearly in
the header documentation.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-11 18:33:38 +01:00
Burt Silverman
a1358aaedf sys: Modify ATOMIC_BITMAP_SIZE macro: num_bits = 0
The macro returned the wrong value for any case in which
    num_bits<=0, due to a signed/unsigned division. The num_bits=0 case was
    hit using static analysis in a Nordic Semiconductor SDK case.

Signed-off-by: Burt Silverman <burtms@gmail.com>
2023-12-11 18:32:05 +01:00
Marcio Ribeiro
8cb870f7de driver: input: espressif touch_sensor
Espressif touch sensor driver implemented.

Signed-off-by: Marcio Ribeiro <marcio.ribeiro@espressif.com>
2023-12-11 18:31:38 +01:00
Kuno Heltborg
220a57b0b1 mgmt: mcumgr: improve custom payload types
Use a flag in `c:struct:mgmt_handler` to skip the cbor start and end byte,
and instead use pure custom user defined payload.

Signed-off-by: Kuno Heltborg <kunoh@live.dk>
2023-12-11 18:31:23 +01:00
Emil Gydesen
7913ebfba3 Bluetooth: GMAP: Add initial implementation of GMAP
Add initial implementation of Gaming Audio Profile (GMAP).

This is a top layer profile in the LE Audio stack,
designed for low latency audio ideal for gaming.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-12-11 18:30:57 +01:00
Gustavo Romero
640712054e include: arch: arm: Fix arch_curr_cpu() for Cortex-M
Currently, the arch_curr_cpu() implementation always uses the TPIDRURO
register, even on Cortex-M CPUs where such a register is not available,
causing a CPU fault.

This commit fixes it by reverting to the use of generic kernel struct
to obtain the current cpu instead of using the TPIDRURO register.

Signed-off-by: Gustavo Romero <gustavo.romero@linaro.org>
2023-12-11 10:12:13 +01:00
Daniel Leung
240dd53e18 sys: arch_interface: fix doc in arch_user_mode_enter
The transition is to USER mode, and not kernel mode.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-12-11 10:12:05 +01:00
Robert Lubos
a150380d65 net: tcp: Implement Keep-alive support
When a TCP connection is established, if there is no data exchange
between the two parties within the set time, the side that enables
TCP Keep-alive will send a TCP probe packet with the same sequence
number as the previous TCP packet. This TCP probe packet is an empty
ACK packet (the specification recommends that it should not contain
any data, but can also contain 1 nonsense byte, such as 0x00.). If
there is no response from the other side after several consecutive
probe packets are sent, it is determined that the tcp connection has
failed, and the connection is closed.

The keep-alive default parameters are aligned with Linux defaults.

Signed-off-by: Horse Ma <mawei@coltsmart.com>
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-12-11 10:11:10 +01:00
Yuval Peress
694fa3c293 rtio: Fix i2c implementation
- Allow non RTIO i2c drivers to be intermixed with RTIO drivers
- Remove reference to rtio_spsc_drop_all()
- Fix impllicit cast which throws an error with more restrictive
  compile flags

Signed-off-by: Yuval Peress <peress@google.com>
2023-12-11 10:10:59 +01:00
Daniel Leung
51b3420b80 doc: doxygen: move float_apis group into correct place
The float_apis group is incorrectly placed in x86/32 header.
This should be in kernel.h enclosing k_float_* functions.
So move it.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-12-11 10:10:30 +01:00
Chaitanya Tata
ceee997c6f wifi: Add the enums to the status
This helps to demonstrate that the enumerations have to be used to
interpret the status.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2023-12-11 09:57:19 +01:00
Chaitanya Tata
d8d4c77603 wifi: Add an enum for disconnect reasons
This can be used to interpret the "status" in the disconnect result event.
To start with a few common reasons are enumerated but can be extended in
the future.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2023-12-11 09:57:19 +01:00
Chaitanya Tata
b3453c3f74 wifi: Add an enum for connect result status
This can be used to interpret the "status" in the connect result event.
To start with a few common reasons are enumerated but can be extended in
the future.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2023-12-11 09:57:19 +01:00
Declan Snyder
3ec0f3a462 drivers: clock_control: Support NXP_ENET
Support ENET peripheral clock in MCUX SIM and CCM_REV2 driver

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-12-11 09:50:58 +01:00
Flavio Ceolin
899d4f997e userspace: Additional checks in K_SYSCALL_MEMORY
This macros needed additional checks before invoking
arch_buffer_validate.

- size can not be less then 0. Some functions invoke this macro
  using signed type which will be promote to unsigned when invoking
  arch_buffer_validate. We need to do an early check.
- We need to check for possible overflow, since a malicious user
  application could use a negative number that would be promoted
  to a big value that would cause a integer overflow when adding it
  to the buffer address, leading to invalid checks.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-12-11 09:50:33 +01:00
Aleksandr Khromykh
d175ac0572 Bluetooth: Mesh: access tx msg randomizer
Commit adds implementation of the specification
recommendations regarding randomization of
responses on the access layer.
3.7.3.1 Transmitting an Access messages

Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
2023-12-11 09:50:18 +01:00
Fabio Baltieri
bc849c7078 input: kbd_matrix: add print helper define
Add a print helper define for the keyboard matrix row paired with the
row typedef.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-12-08 20:16:39 +00:00
Jasper Smit
6003927ac2 net: sntp: Add option for SNTP uncertainty
SNTP response is not analyzed for uncertainty, and no uncertainty is given
to the `struct sntp_time` returned. Fix it with a Kconfig option that adds
optional SNTP uncertainty and timestamp fields in SNTP time struct, and
calculates these when parsing the response.
Adds two helper functions to convert Q16.16/Q32.32 in seconds to `int64_t`
in microseconds to facilitate this.
Also changes combined `lvm` field in `struct sntp_pkt` to bit-fields
`li`, `vn`, and `mode`.

Signed-off-by: Jasper Smit <git@jrhrsmit.nl>
2023-12-08 10:25:46 +00:00
Jukka Rissanen
825bc325d2 net: context: Document misc settings and functions
Various misc settings and functions were not documented so fix it.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-08 10:21:38 +00:00
Jukka Rissanen
039c6a304d net: context: Document socks proxy settings
Documentation for socks proxy was missing.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-08 10:21:38 +00:00
Jukka Rissanen
405b8b5f19 net: context: Add docs for getter/setter of TTL/hoplimit values
The IPv4 TTL and IPv6 hop limit value getter and setter functions
were not documented properly.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-08 10:21:38 +00:00
Emil Gydesen
203949c42c Bluetooth: VCP: Allow for multiple vol_ctrl cb registers
Modify the VCP volume controller callbacks to support
multiple registers by making it into a linked list.

This allow for multiple applications to get the information
from procedures or notifications.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-12-08 10:04:31 +00:00
Ederson de Souza
026908b7b8 include/zephyr/net: Add 'brief' to group description
So it doesn't extend previous directive.

Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
2023-12-07 16:18:34 +00:00