Commit graph

17,121 commits

Author SHA1 Message Date
Benedikt Schmidt
c9c0c4fc2f include: zephyr: drivers: gpio: add include guard to gpio_intel.h
Add an include guard to gpio_intel.h

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2024-08-29 11:37:38 +02:00
Benedikt Schmidt
38bce0a534 include: zephyr: drivers: gpio: add missing C-linkage in headers
Add missing extern "C" statements in headers for GPIO drivers.
Fixes #77605.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2024-08-29 11:37:38 +02:00
Dominik Lau
74e84a9dfd drivers: input: common properties parsing for touchscreen drivers
Adds a way of reporting touchscreen events
taking common properties into account.

Signed-off-by: Dominik Lau <dlau@internships.antmicro.com>
Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
2024-08-28 14:02:43 -04:00
TOKITA Hiroshi
37b24ab8b9 driver: clock_control: renesas_ra: Defining MSTP regs in devicetree
Allows MSTP register addresses to be changed in the device tree
to support different configuration SoCs.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2024-08-28 06:51:25 -04:00
Daniel Leung
d26b7d4ed1 debug: thread_analyzer: display privileged stack usage
This adds the bits to display privileged stack usage for
architectures that support obtaining this information.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-08-28 06:50:30 -04:00
Lucas Tamborrino
5dc545290c soc: espressif: psram as shared multi heap
Currently, if the user wants to allocate heap on external RAM
he needs to enable CONFIG_ESP_SPIRAM and set a threshold defined
with CONFIG_ESP_HEAP_MIN_EXTRAM_THRESHOLD.

This approach requires that we re-implement `k_malloc` and allocate
the memory on the proper region based on the block size.

By using the shared multi heap feature the proccess of allocating
memory from external memory becomes more fluent and simple.

The attribute SMH_REG_ATTR_EXTERNAL was added to reference the
external memory.

Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
2024-08-27 18:37:47 -04:00
Ian Morris
a329a0c09f drivers: sensor: tmp116: Add ability to set operating mode of TMP116/7
Adds support for setting the operating mode of the TMP116/7 sensor to
either shutdown, continuous conversion or one-shot mode.

Signed-off-by: Ian Morris <ian.d.morris@outlook.com>
2024-08-27 15:14:59 -04:00
Emil Gydesen
f1b182b585 Bluetooth: Mesh: Move testing.h to mesh subsys instead of include
The file is only ever used by mesh and it is even stated in the
header of the file that it is internal APIs.

The include file has been merged with the host testing.h file
as that was mesh specific as well. Similarly the testing.c
file was also moved

This is part of a process to clean up the file structure of
Bluetooth as it's a bit messy, which is evident from the
MAINTAINERS.yml file.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-08-27 15:14:08 -04:00
Mariusz Dziębowski
b7bf2091f8 zbus: fix error on ZBUS_CHAN_DEFINE
There appear error on `ZBUS_CHAN_DEFINE` when `CONFIG_CPP`
is enabled. Error: `zephyr/zbus/zbus.h:352:9: error: designator
order for field 'zbus_channel_data::highest_observer_priority'
does not match declaration order in `zbus_channel_data`.

Solution: change order in `ZBUS_CHAN_DEFINE` macro according
to zbus_channel_data structure.

Signed-off-by: Mariusz Dziębowski <mdziebowski@meden.com.pl>
2024-08-27 10:51:15 -04:00
Mathieu Choplain
e4a7c0f9ce drivers: intc: stm32: rebrand EXTI API to be hardware-agnostic
This commit rebrands the STM32 EXTI API to a more hardware-agnostic
"GPIO interrupt controller" API, in anticipation of the introduction of
new series lacking the EXTI peripheral. The GPIO and EXTI drivers are
updated to match the rebranded API.

Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
2024-08-27 10:50:39 -04:00
Mathieu Choplain
5cd274ce48 drivers: intc: stm32: make stm32_exti_line_t opaque
This commit makes the contents of the stm32_exti_line_t data type opaque to
the EXTI GPIO interrupt controller API users. The GPIO driver is updated
to comply with this API change.

N.B.: while some assertions are removed as part of this commit, they were
broken since forever anyways, so nothing of value is lost.

Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
2024-08-27 10:50:39 -04:00
Mathieu Choplain
0551825ca3 drivers: gpio: stm32: move EXTI line port configuration to proper driver
Move the functions that interact with EXTI configuration registers to
select or get the GPIO port that triggers events on a given EXTI line
to the EXTI driver.

Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
2024-08-27 10:50:39 -04:00
Mathieu Choplain
e4238191ab drivers: intc: stm32: rework comments in API header
Rework and enhance all comments in the EXTI driver API header.

Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
2024-08-27 10:50:39 -04:00
Mathieu Choplain
988ccae7a5 drivers: intc: stm32: use unsigned types for API
This commit changes the EXTI driver API to use unsigned types
for all parameters previously typed as `int`, as the signedness
is unneeded and unwanted.

Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
2024-08-27 10:50:39 -04:00
Mathieu Choplain
b1b85fcf48 drivers: intc: stm32: remove STM32_EXTI_LINE_NONE macro
The EXTI driver API defined in exti_stm32.h is reserved for exclusive usage
by the STM32 GPIO driver, which doesn't use this macro. Since there is no
usecase for it anyways, it can be removed for future-proofing.

The STM32 UART driver is an unintended user of this definition, however.
Replace it with a private #define which is more appropriate anyways.

Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
2024-08-27 10:50:39 -04:00
Tomasz Moń
0f41950564 usb: device_next: Respect granularity in UDC buf pool define
Round up buffer size used in UDC_BUF_POOL_DEFINE() to respect the
required buffer granularity. The issue was observed with UAC2 explicit
feedback data, but the problem applies to any UDC_BUF_POOL_DEFINE() use.

In order for every buffer returned by UDC_BUF_POOL_DEFINE() to be both
aligned and to have required granurality, it is required to allocate the
buffers for ROUND_UP(size, LCM(UDC_BUF_GRANULARITY, UDC_BUF_ALIGN)).
Because we do not have Least Common Multiple nor Greatest Common Divisor
compile time macros, assume that granularity is multiple of alignment.
Validate the assumption with a build time assert. When we get a target
where this assumption fails we would have to come up with a solution to
compute LCM and/or GCD at compile time.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2024-08-27 12:45:42 +02:00
Kapil Bhatt
b9ef207ee1 net: wifi: Display rts threshold in wifi shell
Add a new offload API to get rts threshold and
display to the user in wifi shell.

Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
2024-08-27 12:45:02 +02:00
Jilay Pandya
1af0ec1d96 stepper motor controller: introduce api
This commit introduces api for stepper motor controllers

Signed-off-by: Dipak Shetty <dipak.shetty@zeiss.com>
Signed-off-by: Florian Guhl <florian.guhl@zeiss.com>
Signed-off-by: Jilay Pandya <jilay.pandya@zeiss.com>
Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2024-08-27 12:43:39 +02:00
Jordan Yates
d97cc46bdd gnss: rename u-blox M10 driver to M8
The driver in tree is for u-blox M8 devices, not M10. The M10 series
devices (from Protocol Version 23.01) use a different, non backwards
compatible interface for configuring the modem behaviour.

Of the two boards tested in the original PR, the "VMU RT1170" is
explicitly listed as having a u-blox NEO-M8N modem, while I have
been unable to find any information online about the "FMURT6" board.

Leaving the naming as-is will cause problems when M10 drivers are
contributed.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2024-08-26 17:27:12 -04:00
Nicolas Pitre
c9aa98ebc0 kernel: mmu: support for on-demand mappings
This provides memory mappings with the ability to be initialized in their
paged-out state and be paged in on demand. This is especially nice for
anonymous memory mappings as they no longer have to allocate all memory
at mem_map time. This also allows for file mappings to be implemented by
simply providing backing store location tokens.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2024-08-26 17:25:41 -04:00
Fabio Baltieri
eff584bf2d input: kbd_matrix: add power management support
Add power management support to the keyboard matrix library. This
provides a generic pm_action function that changes the keyboard matrix
scan in two places when suspended:
- reset the state to 0 for all columns
- do not enable key press detection

This ensures that any key that was pressed when the device is suspended
is released, and no other scan happens until the device is resumed.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-08-26 14:45:21 -04:00
Yong Cong Sin
e0770d4557 arch: document arch_stack_walk()
Add `arch_stack_walk()` under the `arch-interface` group and
add documentation on how to add support for it.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
2024-08-26 14:44:53 -04:00
Michael Zimmermann
5a1c4cd2e9 soc: Add initial SiM3U1xx support
This is the bare minimum and includes the SoC, pinctrl, flash and
devicetree.

I had to include the flash driver that early because I couldn't make
Zephyr compile without flash driver nodes in the device tree.

Signed-off-by: Michael Zimmermann <michael.zimmermann@grandcentrix.net>
2024-08-26 18:51:36 +02:00
Anuj Pathak
1f05d03489 Drivers: Sensor: mc3419: Moved Decimation Rate config to DT
- Similar to LPF settings decimation rate could be applied to
per instance basis, thus moved to DT prop

Signed-off-by: Anuj Pathak <anuj@croxel.com>
2024-08-26 18:51:28 +02:00
Anuj Pathak
932e207741 Drivers: Sensor: mc3419: Added LPF CutOff select using dt
For applications that rely on low noise/variance in accelerometer
sample reading. Application can take advantage of integrated LPF
Thus this PR adds LPF configuration capability to the mc3419 driver

Signed-off-by: Anuj Pathak <anuj@croxel.com>
2024-08-26 18:51:28 +02:00
IBEN EL HADJ MESSAOUD Marwa
db4f90fa2a include: zephyr: Add the stm32u0 clock control and the reset register
Add the stm32u0 clock control and the RCC bus reset register offset

Signed-off-by: IBEN EL HADJ MESSAOUD Marwa <marwa.ibenelhadjmessaoud-ext@st.com>
2024-08-26 11:28:04 -04:00
Raffael Rostagno
2ea9483009 drivers: spi: esp32c2: esp8684: Add support
Addded support to SPI2 module for ESP32C2 and ESP8684 devices

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2024-08-26 17:06:02 +02:00
Jimmy Zheng
91e524862d soc: common: riscv-privileged: add riscv_clic_irq_vector_set() for clic
Introduce riscv_clic_irq_vector_set() to implement z_riscv_irq_vector_set()
for CLIC. This commit also introduces CONFIG_CLIC_SMCLICSHV_EXT to indicate
support for the smclicshv extenion and riscv_clic_irq_vector_set().

Signed-off-by: Jimmy Zheng <jimmyzhe@andestech.com>
2024-08-26 17:05:53 +02:00
Jimmy Zheng
9ec596674b arch: riscv: add z_riscv_irq_vector_set() to set vector ISR
Introduce z_riscv_irq_vector_set() to hook into ARCH_IRQ_DIRECT_CONNECT(),
allowing users to set vector mode for a specified ISR.

Signed-off-by: Jimmy Zheng <jimmyzhe@andestech.com>
2024-08-26 17:05:53 +02:00
Jamie McCrae
fc40e836d1 mgmt: mcumgr: grp: Add enumeration management group
Adds a new MCUmgr group which allows for listing which groups are
supported by the MCUmgr server by remote devices.

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-08-26 17:05:27 +02:00
Jamie McCrae
b28ccc207d mgmt: mcumgr: mgmt: Add group callback function
Adds a group callback function which can be used to iterate over
all the registered MCUmgr command groups

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-08-26 17:05:27 +02:00
Josuah Demangeon
9eb258c7f6 drivers: video: allow to specify individual ep with ID >= 0
This define the enum values so that they never clash with custom
endpoint IDs passed numerically, for devices that supports more
than one IN or OUT enpoint.

This also documents semantics for VIDEO_EP_IN/OUT/ALL/NONE,
while renaming VIDEO_EP_ANY to VIDEO_EP_ALL to remove the
ambiguity when there are several IN and/or OUT endpoints.

Signed-off-by: Josuah Demangeon <me@josuah.net>
2024-08-24 07:17:03 -04:00
Daniel Leung
8d53b506a2 kernel: remove deprecated macro K_THREAD_STACK_MEMBER
Remove the macro K_THREAD_STACK_MEMBER that has been
deprecated since v3.5.0.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-08-24 07:16:38 -04:00
Anas Nashif
998f7546a8 doc: kernel: fix doxygen for K_FP_REGS
Move unrelated macro definition up to get doxygen docstring associated
with K_FP_REGS.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-08-24 07:15:58 -04:00
Daniel Leung
dcfdea4aed net: net_pkt: move #ifdef to before doxygen block
This moves the #ifdef to enclose the associated doxygen block.
Or else the function prototype are ignored/skipped but doxygen
still processes the block, and it will apply the documentation
to the next function in the file... and it will complain about
parameters not being found.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-08-24 07:14:57 -04:00
Daniel Leung
2e0a185b72 sys/poweroff: remove extra doxygen group ending command
Remove the extra doxygen group ending command "@}".

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-08-24 07:14:57 -04:00
Daniel Leung
b678fcc5c6 serial: fix doxygen tag typo
@briref -> @brief.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-08-24 07:14:57 -04:00
Daniel Leung
e0de79b9a5 regulator: fix doxygen ref tag typo.
@reg -> @ref.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-08-24 07:14:57 -04:00
Daniel Leung
4c6033aac2 mbox: fix param typo in mbox_set_enabled_t
enables -> enabled.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-08-24 07:14:57 -04:00
Benjamin Lemouzy
635e41e70f jwt: add missing documentation
Fix some errors and add missing functions documentation.

Signed-off-by: Benjamin Lemouzy <blemouzy@centralp.fr>
2024-08-23 15:49:05 +01:00
Chris Friedt
1593954083 posix: add stubs for signal.h functions that need process support
Since Zephyr itself does not currently support processes, but
conformant applications should still be able to link, add stubs
for the remaining POSIX functions in the POSIX_SIGNALS Option
Group.

The POSIX_SIGNALS Option Group is required for PSE51, PSE52,
PSE53, PSE54, and likely many other POSIX Subprofiles.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2024-08-23 10:35:11 -04:00
Laurentiu Mihalcea
2a6f151524 firmware: scmi: transport.h: switch to including kernel.h
Toggling `CONFIG_USERSPACE` to `y` results in compilation
errors caused by the fact that various k_* functions don't
have their prototypes included in the SCMI sources (e.g:
`k_mutex_*`, `k_sem_*`, `k_is_pre_kernel()`).

To fix this, switch to using the `kernel.h` header instead
of `sys/mutex.h`. Previously, this worked because `sys/mutex.h`
included `kernel.h` if `CONFIG_USERSPACE` was set to `n`.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-08-23 08:01:51 -04:00
Karthikeyan Krishnasamy
f616c43c9e lib: posix: fs: add rmdir support
Implementation of rmdir, Posix style file
system API to remove directory

Signed-off-by: Karthikeyan Krishnasamy <karthikeyan@linumiz.com>
2024-08-22 14:26:00 -04:00
Raffael Rostagno
3169095e57 drivers: intc: esp32: Macros for DT input validation
Adding macros to convert and validate input config from device tree
for IRQ priority and flags.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2024-08-22 14:25:25 -04:00
Raffael Rostagno
f783dec97c bindings: intc: esp32: Added symbols in DT
Added symbols for IRQ priority and flags configuration
in the device tree.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2024-08-22 14:25:25 -04:00
Emanuele Di Santo
d4b1e1e302 dts: Add initial support for nRF9280 SiP
Add definition of the nRF9280 SiP with its Application,
Radio, and Peripheral Processor (PPR) cores and a basic set
of peripherals: GRTC, GPIOs, GPIOTE, and UARTs and few others.

Signed-off-by: Emanuele Di Santo <emdi@nordicsemi.no>
Co-authored-by: Andreas Moltumyr <andreas.moltumyr@nordicsemi.no>
2024-08-22 14:24:38 -04:00
Jamie McCrae
031f9f2943 mgmt: mcumgr: grp: img_mgmt: Add optional image slot state callback
Adds an optional callback which can be used to append custom
fields to the image slot state command response

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-08-22 14:22:49 -04:00
Lucien Zhao
e147a6e8d9 drivers: clock_control: support new i2c clock model
In RT1180, two lpi2c instances share same one clock gate

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2024-08-22 14:21:27 -04:00
Declan Snyder
6300dc6aa7 soc: nxp: mcx: Do not use family level config
Move all dependencies of the family config to series level,
and put a disclaimer saying not to use the family config.

Change all occurrences of the family config in code to the
MCXNX4X series config.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-08-22 09:14:24 +02:00
Declan Snyder
5d954917bd soc: nxp: Move kinetis pinctrl to include/
There are some SOCs which use the same pinctrl
device, but are not really overall that similar to the kinetis
family of SOCs, so prepare to reuse this code by other SOC families.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-08-22 09:14:24 +02:00