Commit graph

105,063 commits

Author SHA1 Message Date
Yuval Peress
94dc05b3f2 sensors: Add streaming APIs
Introduce a streaming API that uses the same data path as the async API.

This includes features to the decoder:
* Checking if triggers are present

Adding streaming features built ontop of existing triggers:
* Adding 3 operations to be done on a trigger
  * include - include the data with the trigger information
  * nop - do nothing
  * drop - drop the data (flush)
* Add a new sensor_stream() API to mirror sensor_read() but add an
optional handler to be able to cancel the stream.

Signed-off-by: Yuval Peress <peress@google.com>
topic#sensor_stream
2023-11-10 12:16:46 -06:00
Antoniu Miclaus
1088846e9a tests: build_all: sensor: add adxl367 trigger
Add trigger support for adxl367 build all sensor tests.

Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
2023-11-10 10:44:11 -06:00
Antoniu Miclaus
af0b656709 drivers: sensor: adxl367: add trigger support
Add trigger support for the adxl367 Zephyr driver.

Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
2023-11-10 10:44:11 -06:00
Antoniu Miclaus
678b29386d dts: bindings: adxl367: add interrupt support
Add int1-gpios property in the adxl367 dts bindings.

Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
2023-11-10 10:44:11 -06:00
Fabio Baltieri
7a3a6d0c03 input: convert ite_it8xxx2_kbd driver from kscan to input
Convert the ITE keyboard scanning driver from kscan to input, add the
corresponding kscan compatibility node to the current board, build test
only.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-10 16:30:37 +00:00
Benjamin Cabé
12e8490b8f boards: nxp: doc: Fix typo in imx8mn_evk board specs
The M core on this board is an M7, not M47.

Fixes #65047.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-11-10 13:41:04 +00:00
Fabio Baltieri
ac450be5c8 i2c: gpio_i2c_switch: fix gpio api misuse
Use GPIO_OUTPUT_INACTIVE to initialize the pin so that the ACTIVE_LOW DT
flag is honored and use the gpio_pin_set_dt functions to set the
(logical) value of the pin instead of gpio_pin_configure_dt, that
tries to reconfigure the pin each time.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-10 13:40:36 +00:00
Carles Cufi
9a44f7f583 doc: gsg: Windows: Clarify usage of terminal/cmd.exe
Responding to feedback from the community, clarify that the cmd.exe
window needs to be closed and reopened.

Also be specific about the type of terminal window to be used.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2023-11-10 13:40:03 +00:00
Andrei Emeltchenko
d817a8ebff drivers: timeaware_gpio: Fix include path
Fixes CI after syscall_handler changes path.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-11-10 14:40:55 +02:00
Carles Cufi
318836af23 doc: gsg: macOS: Include instructions to add homebrew to the path
Multiple users have failed to read the output from the Homebrew
installation script, which instructs the user how to add it to the
path. Include the instructions in the guide.

Also add a step to include the Homebrew Python executable to the path,
which allows then for invocation of python and pip as well as python3
and pip3.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2023-11-10 11:14:12 +00:00
Nick Kraus
5bd18886e9 sam: mdio: Fix Transfer Timeout at Initialization
Initialize the MDIO peripheral clock (normally done during GMAC
initialization) before trying any MDIO transfers, preventing startup
errors.

Signed-off-by: Nick Kraus <nick@nckraus.com>
2023-11-10 10:42:26 +01:00
Kevin Wang
a5d85503fe boards: riscv: adp_xc7k_ae350: doc: index.rst
Due to the west build path in official sample doc is now change
to root directory, we modify our west build command align the
official sample doc.

Signed-off-by: Kevin Wang <kevinwang821020@google.com>
2023-11-10 10:42:04 +01:00
Benjamin Deuter
329ef222dd tests: drivers: serial: async: Add support for stm32h735g_disco
On the STM32H735G-DK Discovery kit, when connecting a UART from
pin PF7 to PF6, the test uart_async_api passes now.

Signed-off-by: Benjamin Deuter <benjamin.deuter@gmail.com>
2023-11-10 10:41:23 +01:00
Andrei Emeltchenko
1f03bad7cb doc: edac: Separate Optional and Mandatory APIs
Make documentation more readable by separating API with help of @name
instead of simple comment in the code.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-11-10 10:41:14 +01:00
Andrei Emeltchenko
44e4425ef7 doc: edac: Do not include hidden API
Exclude hidden API marking them with INTERNAL_HIDDEN.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-11-10 10:41:14 +01:00
Andrei Emeltchenko
f776188344 doc: smbus: Make smbus fully api covered
Add file description for full API coverage.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-11-10 10:41:14 +01:00
Declan Snyder
fef0018cca soc: lpc55xxx: Support, enable, test NXP MRT
Support NXP MRT on LPC55XXX SOC series, enable on
lpcxpresso55s69_cpu0, add test overlay to counter basic api test

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-10 10:40:54 +01:00
Declan Snyder
93c59793c2 soc: rt6xx: Add NXP MRT
Add NXP MRT to RT6xx DT definition and add peripheral reset to soc.c

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-10 10:40:54 +01:00
Declan Snyder
ff83745c9a soc: rt5xx: Enable NXP MRT
Enable NXP MRT on RT5xx soc and MIMXRT595_EVK board

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-10 10:40:54 +01:00
Declan Snyder
8257ff8f6a tests: counter: Update for NXP MRT
Update counter test to test NXP MRT devices

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-10 10:40:54 +01:00
Declan Snyder
31722446aa drivers: counter: Add NXP MRT driver
Add driver for NXP Multirate Timer

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-10 10:40:54 +01:00
Declan Snyder
c83037cece drivers: clock_control_mcux_syscon: Add MRT subsys
Add code to handle MRT subsys clock to LPC syscon driver

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-10 10:40:54 +01:00
Declan Snyder
0b5e48985d dts: bindings: Add binding for NXP Multirate Timer
Add binding for nxp,mrt and nxp,mrt-channel. MRT is
NXP multirate timer, a simple timer with multiple
independent channels.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-10 10:40:54 +01:00
Magdalena Kasenberg
647207c024 bluetooth: leaudio: Fix missing set of BIG_Encryption
In the PTS BASS/SR/CP/BV-19-C test case a client executes Set
Broadcast Code operation of Broadcast Audio Scan Control Point
characteristic with Broadcast_Code set to an invalid value.
After syncing to an ISO stream there is an expected failed attempt
to decrypt the stream data, but the host does not set BIG_Encryption
value to the expected value 0x03 (BT_BAP_BIG_ENC_STATE_BAD_CODE).
Add missing BIG_Encryption state into the failing check.

Signed-off-by: Magdalena Kasenberg <magdalena.kasenberg@codecoup.pl>
2023-11-10 10:40:40 +01:00
Dmitrii Golovanov
c88a7b659b tests: coredump: Extend matching patterns
Extend test matching patterns and fix cmake project name.

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2023-11-10 10:40:33 +01:00
Dmitrii Golovanov
3a95c78545 tests: coredump: Enable code coverage
Enable code coverage for debug.coredump.logging_backend test.

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2023-11-10 10:40:33 +01:00
Guennadi Liakhovetski
0bf08e5775 llext: use llext_peek() for section pointers
Try to use llext_peek() for section pointers. If it's supported and
succeeds we don't need to allocate buffers.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-11-10 10:40:26 +01:00
Guennadi Liakhovetski
ce4cdac3c0 llext: add llext_peek()
The only way so far to access extension images is via a memory
buffer. Since this, supposedly, will also be a rather common method,
it makes sense to add a method to access extension data quickly by
obtaining a pointer instead of copying data into local buffers. Add a
llext_peek() method for that.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-11-10 10:40:26 +01:00
Tim Lin
adc30ff294 ITE: drivers/i2c: Bug in build assert when FIFO enable
We need to do a build assert for the fifo enable status of 'I2C2'.
There is a problem with using instance to obtain property when
any one I2C port is not enabled.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2023-11-10 10:40:19 +01:00
Tom Burdick
986422f4f2 dma: Move struct member doc comments to fields
To better cover the struct fields of the DMA API in doxygen the fields
are now individually documented rather than documenting them ad-hoc in
the struct header doc comment.

A best attempt at marking fields that are HW specific has been done as
well. That means almost all of them.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2023-11-10 10:40:10 +01:00
Tom Burdick
344d24bcb7 docs: Better document the DMA API and expectations
The DMA API has several expectations for drivers and callers that were
underdocumented or undocumented. Better clarify the driver expectations
and caller expectations.

The DMA API from the caller side is not a portable API and really cannot
be as each DMA has unique properties and expectations of memory,
peripheral interaction, and features. The API in effect provides a union
of all useful DMA functionality drivers have needed in the tree. It can
still be a good abstraction, with care, for peripheral devices for
vendors where the DMA IP might be very similar but have slight
variances.

From the driver implementation side expectations around synchronization,
state transitions, and memory management for transfer descriptors is now
described in documentation rather than solely from me in github review
comments.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2023-11-10 10:40:10 +01:00
Katsuhiro Suzuki
4ce5f7ebe1 arch: riscv: fix hangup of multicore boot
This patch fixes hangup of RISC-V multicore boot.
Currently boot sequence uses a riscv_cpu_wake_flag to notify wakeup
request for secondary core(s).

But initial value of riscv_cpu_wake_flag is undefined, so current
mechanism is going to hangup if riscv_cpu_wake_flag and mhartid of
secondary core have the same value.

This is an example situation of this problem:

- hart1: check riscv_cpu_wake_flag (value is 1) and end the loop
- hart1: set riscv_cpu_wake_flag to 0
- hart0: set riscv_cpu_wake_flag to 1
         hart0 expects it will be changed to 0 by hart1 but it
         has never happened

Note:
  - hart0's mhartid is 0, hart1's mhartid is 1
  - hart0 is main, hart1 is secondary in this example

Signed-off-by: Katsuhiro Suzuki <katsuhiro@katsuster.net>
2023-11-10 10:40:01 +01:00
Mykola Kvach
bcaa7c2bdb boards: arm64: xenvm: read real frequency
Read real frequncy from ARM Arch Timer instead of using define
'CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC' which can be incorrect for
some run cases. If we run xenvm under qemu we get one frequency, but
we can run this build as a DomU for Xen under different real platforms
and thus with differenty arch timer frequencies. So, we need to read
frequency from the timer registers.

Signed-off-by: Mykola Kvach <xakep.amatop@gmail.com>
2023-11-10 10:39:54 +01:00
Maciej Zagrabski
b2fb570635 net: wifi: Pass psk and sae as const
There shouldn't be any reason to be able to modify the passed psk,
and having this non-const gives application warnings if passing a
constant string.

Signed-off-by: Maciej Zagrabski <mzi@trackunit.com>
2023-11-10 10:39:43 +01:00
Nicolas Pitre
38373aa599 riscv: FPU trap: catch fused multiply-add instructions
The FMADD, FMSUB, FNMSUB and FNMADD instructions occupy major opcode
spaces of their own, separate from LOAD-FP/STORE-FP and OP-FP spaces.
Insert code to cover them.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2023-11-10 10:39:28 +01:00
Ricardo Rivera-Matos
1a0b1124c6 MAINTAINERS: charger: Adds entry for "Chargers"
Adds an entry for the charging API.

Signed-off-by: Ricardo Rivera-Matos <ricardo.rivera-matos@cirrus.com>
2023-11-09 17:26:03 -05:00
Ricardo Rivera-Matos
2253ba571b docs: charger: Corrects text in the Properties section
Correct Properties subsection of the document to be accurate
to the latest implementation of the charger API.

Signed-off-by: Ricardo Rivera-Matos <ricardo.rivera-matos@cirrus.com>
2023-11-09 17:26:03 -05:00
Ricardo Rivera-Matos
d291ef4577 doc: charger: Removes misleading statement at introduction
Removes a statement at the introduction claiming only getting
properties is supported by the API. The charger API can get/set
properties.

Signed-off-by: Ricardo Rivera-Matos <ricardo.rivera-matos@cirrus.com>
2023-11-09 17:26:03 -05:00
Fabio Baltieri
35e9104de7 ci: doc-build: add the container owner workaround step
Seems like the PDF build hit the "detected dubious ownership in
repository" issue that has already been worked around in other workflow.
Add that step here as well.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-09 18:54:26 +00:00
Fabio Baltieri
62b0153249 ci: doc-build: only rebase on pull requests
Skip the rebase step if it's not a pull request. Schedule and push runs
have no base ref to rebase against anyway, currently the step is failing
and being skipped.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-09 18:54:26 +00:00
Manuel Argüelles
1572ea16fc drivers: can: nxp_s32_canxl: use instance-based DT macros
At present, many of the NXP S32 shim drivers do not make use of
devicetree instance-based macros because the NXP S32 HAL relies on an
index-based approach, requiring knowledge of the peripheral instance
index during both compilation and runtime, and this index might not
align with the devicetree instance index.

The proposed solution in this patch eliminates this limitation by
determining the peripheral instance index during compilation
through macrobatics and defining the driver's ISR within the shim
driver itself.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-11-09 18:22:01 +01:00
Eduardo Montoya
3508cd609c net: openthread: upmerge to 6edb06e
Regular OpenThread upmerge to `6edb06e`.

Also add `OPENTHREAD_CSL_RECEIVER_LOCAL_TIME_SYNC` config.

Signed-off-by: Eduardo Montoya <eduardo.montoya@nordicsemi.no>
2023-11-09 18:21:41 +01:00
Guennadi Liakhovetski
a9a82d557c llext: use elf_rela_t instead of elf_rel_t
elf_rela_t contains elf_rel_t exactly and contains an additional
field at the end. Therefore pointers of that type can be used for
both types, making the code generic.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-11-09 18:21:27 +01:00
Guennadi Liakhovetski
bca88b4b3a llext: fix exporting objects
When exporting a symbol, we need to use "&" explicitly, otherwise
it only works for functions and doesn't work for objects.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-11-09 18:21:27 +01:00
Guennadi Liakhovetski
6185da5d71 llext: fix a typo in elf_rel_t 64-bit definition
struct elf64_rela is undefined, use the correct structure name.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-11-09 18:21:27 +01:00
Guennadi Liakhovetski
f0527b5571 llext: add a weak arch_elf_relocate() stub
The module linking API can be used for shared objects with no
architecture-specific relocation code. Add a weak function for such
cases.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-11-09 18:21:27 +01:00
Guennadi Liakhovetski
ade72c2b3a llext: remove a superfluous variable initialisation
ret in llext_load() is always assigned before use, remove its
redundant initialisation.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-11-09 18:21:27 +01:00
Manuel Argüelles
595a9c11c8 counter: nxp_s32_sys_timer: use instance-based DT macros
At present, many of the NXP S32 shim drivers do not make use of
devicetree instance-based macros because the NXP S32 HAL relies on an
index-based approach, requiring knowledge of the peripheral instance
index during both compilation and runtime, and this index might not
align with the devicetree instance index.

The proposed solution in this patch eliminates this limitation by
determining the peripheral instance index during compilation
through macrobatics and defining the driver's ISR within the shim
driver itself.

Note that for some peripheral instances is needed to redefine the
HAL macros of the peripheral base address, since the naming is not
uniform for all instances.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-11-09 18:21:19 +01:00
Laurentiu Mihalcea
5cdd377316 boards: xtensa: nxp_adsp_imx8(x): Add serial support
This commit introduces all changes necessary for utilizing
the serial interface on i.MX8QM/QXP.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2023-11-09 18:21:05 +01:00
Laurentiu Mihalcea
dcddb2e0f7 dts: xtensa: nxp_imx8: Add dummy interrupt controller node
Since the LPUART peripheral DTS binding requires the
"interrupts" property be specified even if it's not going
to be used for now we need to add a dummy interrupt controller
node to make that possible. Logically speaking, this dummy
interrupt controller should be used by peripherals which
can assert interrupts directly routed to the DSP.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2023-11-09 18:21:05 +01:00