A mid-air collision between two different changes to sys_clock.h
resulted in a test failure.
```shell
tests/kernel/timer/timer_api/src/main.c:763:
timer_api_test_timeout_abs: Z_IS_TIMEOUT_RELATIVE(t2) is false
```
Re-apply the change that was added in
9075d53355
to keep tests running smoothly.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Porting gp_renesas_isr_context variable used in FSP interrupt source
to unify with RZ/V2H and prevent build error since they share the same
hal_renesas source code.
Signed-off-by: Tien Nguyen <tien.nguyen.zg@renesas.com>
Automatically initialize NXP Wi-Fi driver and FW for Wi-Fi networking
operation. Disable this setting if Wi-Fi module will be used for
non-Wi-Fi use cases (manufacturing/calibration/test).
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
Add PM hooks to release or reattach the serial ports from the bridge.
Does not save power per se but allows switch the lower level serial
ports for something else in runtime.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Merge sys_clock.h into sys/clock.h and preserve the original header.
This allows us to use a slightly more intuitive name for the
sys/clock.h header, while reducing churn throughout the codebase.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Remove POSIX_TIMERS and XSI_SINGLE_PROCESS dependencies from the aws
cloud sample and the lwm2m client sample, as they are no longer
required.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
The ISO C function time() should not depend on POSIX and this was
corrected recently via the common libc time() implementation.
Remove this dependency from the network subsystem where it has
been unduly needed for some time.
Similarly, XSI_SINGLE_PROCESS was a dependency for time() via
picolibc, because the time() implementation in picolibc relies
on the POSIX gettimeofday() call.
However, since Zephyr's common libc time() implementation no longer
depends on that, it can be removed as a dependency in the network
subsystem as well.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Use the newly added sys_clock API in lib/os for
* clock_gettime()
* clock_settime()
* clock_nanosleep() and nanosleep()
* gettimeofday()
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Presumably the time testsuite was separate from the c library set of
testsuites because it had a depedency on POSIX.
Since that dependency no longer exists, colocate the time testsuite
with the other c library testsuites.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Use sys_clock_gettime() instead of clock_gettime() and use
timespec_add() instead of manually adding timespec structures.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Use `timespec_from_timeout(K_MSEC(msec), &ts)` instead of leaning on
lazily-crafted timespecs with invalid tv_nsec fields.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
The specification does not say that the first struct timespec passed to
thrd_sleep() may be NULL.
Preserving the testpoint so that a possible future testsuite can be
run that expects faults to occur when undefined behaviour is used.
Faults are one possible solution to handling undefined behaviour, but
it would be good to come to a concensus about how that should be
handled in Zephyr for standard function calls belonging to ISO C or
POSIX.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
The C standard does not guarantee that `thrd_success` is equal to
zero, so ensure that the test takes that into account.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Use the implementation of time() from the common libc, since there
it no longer pulls in POSIX.
Use is implied for minimal, newlib, and picolibc, and selected
for IAR.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Remove POSIX clock_gettime() from the common libc time implementation,
since POSIX should not be a dependency for ISO C.
Instead, use the newly added lib/os sys_clock API.
Specifically, sys_clock_gettime().
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Add bullets to release notes for sys_clock_gettime(),
sys_clock_settime(), and sys_clock_nanosleep().
These changes were significant, as they make timekeeping dependencies
more independent between libc and posix, and remove several unnecessary
dependencies on posix for ISO C library routines.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Additional entries for the sys_clock API, comprised of:
* sys_clock_gettime()
* sys_clock_settime()
* sys_clock_nanosleep()
along with the constants
* SYS_CLOCK_REALTIME
* SYS_CLOCK_MONOTONIC
* SYS_TIMER_ABSTIME
The primary motivation for this API is so that libc and other
libraries have a familiar-enough API to reach to when POSIX
is not available, since POSIX is optional in Zephyr.
By adding this API to lib/os, we also eliminate dependency cycles
between libc and posix, as lib/os is a mutual dependency.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Previously, log messages would generate warnings (escalated to errors
in CI) when CONFIG_TIMEOUT_64BIT=n.
For example,
```
west build -p auto -b qemu_cortex_m0 -t run tests/posix/timers/ \
-- -DCONFIG_TIMEOUT_64BIT=n
..
warning: format '%llx' expects argument of type \
'long long unsigned int', but argument 3 has type 'k_ticks_t' \
{aka 'unsigned int'}
```
Use portable print specifiers and cast the argument to int64_t.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Previously, code like the snippet below would not pass compliance checks.
With this change, we add `CONFIG_BOARD_UNIT_TESTING` to the Kconfig allow
list, so that code like the snippet below is not incorrectly reported as
a compliance failure.
```
if defined(CONFIG_BOARD_UNIT_TESTING)
/* unit-testing only */
endif
```
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
- Add support for gpio interrupt on RX130.
- Add support for gpio-keys input subsys on RSK_RX130_512KB boards.
Signed-off-by: Phi Tran <phi.tran.jg@bp.renesas.com>
Enable NXP_WIFI_TX_RX_ZERO_COPY for IW610, which will reduce extra memcpy
between net stack and driver in TX data path and avoid the allocation of
RXPD and mlan_buffer in RX data path, to improve the throughput
performance.
Increase CONFIG_NET_BUF_DATA_SIZE to hold one packet in one buffer.
NXP_WIFI_TX_RX_ZERO_COPY can be enabled not only for NXP_RW610 case.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
Flexio ISR handle all flags even they are not interrupt enabled.
This will cause invalid calling of ISR callback functions.
Signed-off-by: Raymond Lei <raymond.lei@nxp.com>
This commit changes the implementation to distinguish between is25lpXXX
and is25lpXXXd. Using RDERP as in the original solution didn't work for
is25wpXXX chips and would cause a halt. This new implementation reads
the AutoBoot register instead, which is not present in is25lpXXX but
present in is25lpXXXd, is25wpXXX and is25wpXXXd.
Tested on:
- mimxrt1020-evk
- mimxrt1170-evk rev. A
- custom board with mimxrt1170 and is25lp128d
Signed-off-by: John Barbero Unenge <git@lsrkttn.com>
For future developers to hopefully save some time trying to figure out why
no GPIO interrupt callback is fired.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
The lpuart8 pinctrl nodes for RT1060 need to be defined, as WIFI + BT
(bt_tester) scenario requires three uart.
- LPUART1: shell uart
- LPUART3: bt hci uart
- LPUART8: uart pipe
Signed-off-by: Gang Li <gang.li_1@nxp.com>
Add counter to the list of supported drivers for MAX32657EVKIT secure
and nonsecure boards.
Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
Set right frame size in spi_context_buffers_setup and fetch
the right rx size based on frame size. Also clear SPI control register
before set mode & data width in spi configure routine.
Signed-off-by: cyliang tw <cyliang@nuvoton.com>
pm_device_runtime has inconsistent behavior regarding
getting and putting a device's domain. This commit
aligns it to get the domain only once, once device
is resumed, and put only once, once device is
suspended.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>