Transactions should result in a single transfer call not multiple
transfer calls. Transceive isn't supported by i2c and so the TXRX op
isn't validated for success anymore.
Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
Transactions from RTIO should result in single calls to i2c_transfer.
This corrects the default handler to first count the number of
submissions in the transaction, allocate on the stack, and then copy
over each submission to an equivalent i2c_msg.
It also cleans up the helper functions to be infallible, taking only the
submission and msg to copy to.
Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
TXRX is meant specifically to handle a full duplex bus like SPI, I2C is
half duplex meaning only read or write can be performed at once.
Drop TXRX as a supported operation code for the default I2C submission
path.
Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
Updated ADXL345 driver with RTIO stream functionality.
Added Trigger intterupt functionality. RTIO stream is using
FIFO threshold.Together with RTIO stream, RTIO async read
is also implemented.
Signed-off-by: Dimitrije Lilic <dimitrije.lilic@orioninc.com>
The commit introduced regression for hsdk4xd platform.
The hsdk4xd SoC setup from soc_early_asm_init_percpu need to be done
in early code before any C code execution.
The current approach has multiple issues
- we call function (which can be easily implemented in C for
this or other SoC) from the place where we haven't setup stack
pointer (so we can't use stack) - which is very error-prone
- we never return back from soc_reset_hook on hsdk4xd platform
So let's just revert it for now. If any other ARC SoC need to use
soc_reset_hook - than it can be implemented properly.
This reverts commit 8c32a82e47.
Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Evgeniy Paltsev <PaltsevEvgeniy@gmail.com>
Fixes commit 1df078158f ("doc: build: Add signing page") that removed
the `imgtool` section from the `sign.rst` page.
rimage configuration was designed in a very different way from imgtool
configuration. The rimage doc section was following the imgtool doc
section and constrating the two approaches. Now that the previous
imgtool doc section has just been removed, some words like "different"
and "instead" don't make sense anymore. Drop them.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
Adds a new shield definition for the Analog Devices EVAL-ADXL362-ARDZ
accelerometer shield. This shield provides support for an ADI ADXL362
3-axis accelerometer over an Arduino SPI connector.
Signed-off-by: Maureen Helm <maureen.helm@analog.com>
Output the timestamp of the PPS timepulse when printing the fix
information, if the driver support the timepulse and it has started
toggling.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Add an API function for retrieving the timestamp of the latest PPS
timepulse at the highest resolution we have available, the kernel tick
count.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Add overlay for APARD32690 board and add a new test case to
test RTIO functionalities of SPI MAX32 driver.
Signed-off-by: Dimitrije Lilic <dimitrije.lilic@orioninc.com>
Implements the SPIO RTIO API. Refactors internal transcive
fucntios to work with both existing SPI API and RTIO functions.
When SPI_RTIO is enabled the spi_transcieve call translates
the request into an RTIO transaction placed in the queue
that device will execute.
Include the latest refacor changes of RTIO.
Signed-off-by: Dimitrije Lilic <dimitrije.lilic@orioninc.com>
Function dma_smartbond_set_channel_status() used incorrect
condition to release state lock.
In initialization function dma_smartbond_init() function
dma_smartbond_set_channel_status() was called for each DMA
channel and tried to release lock that was never taken.
Signed-off-by: Jerzy Kasenberg <jerzy.kasenberg@codecoup.pl>
Timer driver using Microchip 32KHz based RTOS timer as the kernel
timer tick. The driver uses one of the 32-bit basic timers to
support the kernel's k_busy_wait API which is passed a wait
count in 1 us units. The 32-bit basic timer is selected by using
device tree chosen rtimer-busy-wait-timer set to the handle
of the desired 32-bit basic timer. If this driver is disabled,
the build system will select the ARM Cortex-M4 SysTick as the
kernel timer tick driver. The user should specify RTOS timer
as kernel tick by adding the compatible properity and setting
the status property to "okay" at the board or application level
device tree. The driver implements two internal API's for use
by the SoC PM. These two API's allow the SoC PM layer to disable
the timer used for k_busy_wait so the PLL can be disabled in
deep sleep. We used a custom API so we can disable this timer
in the deep sleep path when we know k_busy_wait will not be
called by other drivers or applications.
Signed-off-by: Scott Worley <scott.worley@microchip.com>
Series 2 always uses the device init HAL, while Series 0/1 never do.
Create a separate soc.c for Series 2 to make both versions easier to read.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
Swap from the deprecated device_init_* functions to clock manager
for clock tree configuration. Populate config headers using
device tree representation of clock tree and oscillator config.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
Introduce bindings for Series 2 oscillators: HFRCODPLL, HFRCOEM23,
LFRCO and LFXO.
Add clock tree representation in devicetree `clocks` node.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
Switch EFR32MG21 to use the device init HAL. This makes the init sequence
the same as the rest of Series 2.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
On Series 2, set the SYS_CLOCK_HW_CYCLES_PER_SEC Kconfig option from
DeviceTree, rather than separately configuring it in board-level
defconfig.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
Defconfig was only available at the vendor and series level,
make it possible to have family specific definitions too.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
The DC-DC converter was unconditionally initialized with default
settings on Series 2. Add device tree binding and nodes, and guard
call to init function. Map DT options to config header from HAL.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
Move the CMakeLists.txt and Kconfig files from the hal_silabs tree under
modules/hal_silabs in the main tree. This also includes all Zephyr shim
code from the hal_silabs tree.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
Enable USART1 that can be used with external periphs via Arduino pins.
LPUART1 can also be used on the same pins.
Tested with tests/drivers/uart_elementary
Signed-off-by: Abderrahmane Jarmouni <git@jarmouni.me>
Increases default size of stack used by work queue RX thread
from 1024 to 1280 to avoid memory issues.
After adding the buffer with the default size of 128
that is allocated on the thread's stack (see #77552),
there is too little stack left during heavy stress.
Signed-off-by: Piotr Koziar <piotr.koziar@nordicsemi.no>
First approach had to be reverted because it did not pass tests.
Take 2 attempts to use uintptr_t instead of a pointer and cast it
to the expected pointer when necessary.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
- add ITCM definitions (for LinkServer) in board.cmake
- update of soc.c to support RAM images (stack pointer)
- doc update
Change applies to both versions of the MIMXRT1170 EVK
Signed-off-by: Yves Vandervennet <yves.vandervennet@nxp.com>
The Thrift library makes use of POSIX C functions such as ctime_r(), which
are not part of the ISO C standard.
This commit adds a Thrift module-wide `_POSIX_C_SOURCE` feature test macro
definition in order to ensure that the required POSIX C functions are
available when compiling the Thrift library.
Note that this was not caught earlier because Newlib and older versions of
Picolibc did not properly fence off some POSIX functions behind the feature
test macros.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
The Thrift module tests were under the "newlib" namespace, presumably
because newlib was the default at the time of their introduction.
Since newlib is no longer the default libc and Thrift is not being tested
against multiple C libraries, this removes the libc type from the Thrift
test identifiers.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This new version introduces a new sub-command `uicr-compile`, which will
generate `uicr.hex` based on a new binary format required by an upcoming
release of Secure Domain Firmware (SDFW) closer to production.
Since this is a breaking change, and SDFW is not finalized yet, we need
to support two nrf-regtool versions for a short time, and use different
CLI invocations based on which version is installed. Hence, the minimum
required version is unchanged.
Additionally, retire CONFIG_NRF_REGTOOL_EXTRA_GENERATE_ARGS. There will
be no use for it moving forward.
Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
Enable flash driver test for MAX32690 boards.
Signed-off-by: Mert Vatansever <mert.vatansever@analog.com>
Signed-off-by: Sadik Ozer <sadik.ozer@analog.com>