Enable p-state driver for nxp mcxn, currently tested
on frdm-mcxn236 but should be easily extendable to
other mcxn boards.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
Use the primary clock source FRO12M as the clock source for
CLKOUT. Compared with the secondary clock source(main clock,
the primary clock source is more stable and will not cause
timing problems of camera PCLK, HSYNC and VSYNC due to
unexpected changes.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
Depending on the IP's `IC_TX_CMD_BLOCK_DEFAULT` parameter, we
might have to clear the `TX_CMD_BLOCK` bit on init so that
Controller mode works.
Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
This driver had a lot of regressions introduced by commits that were
clearly mixing up what values had units of bytes and what values had
units of words. Fix the issues in the DMA path of the driver.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
The asserts are hard to debug and unrecoverable, they just say kernel
panicked but difficult to realize where and why, it's better to return
an error and log message clearly from spi driver.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
It is not illegal to provide an RX len with no buffer.
It just means the controller should clock out that many
words but not store them in memory. So remove the assert
and just avoid null dereference.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Refactor this function to return an error code, instead of assert.
Put the data into a pointed argument instead.
Refactor other functions to make sure to
propogate this error all the way up the call stack.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
DNESP32S3B is a development board from Alientek, featuring a compatible
ESP32-S3-WROOM-1-N16R8 module and rich set of on-board peripherals,
providing an out-of-the-box development experience for AIoT applications.
Signed-off-by: Chen Xingyu <hi@xingrz.me>
- Enables Digital mode for both input and output GPIO
pins, in gpio_mcux_lpc_configure().
- Fixes#99255
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
Add support for stacktrace in dummy thread which is used to run
the early system initialization code before the kernel switches
to the main thread.
On RISC-V, the dummy thread will be running temporarily on the
interrupt stack, but currently we do not initialize the stack
info for the dummy thread, hence check the address against the
interrupt stack.
Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
Since these helper functions are read-only, mark the `thread`
arg as `const` so that we can pass const thread to it without
triggering warnings.
Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
Use a local accumulator (`cfg`) to build the pin configuration and commit
it to `*pincfg` only once. This keeps intermediate values in registers,
reduces RAM write traffic.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
This simulated board has been there for more than 5 months.
The real board (nrf54lm20dk) is properly supported and in the market.
So there is no need to have this warning anymore.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Commit updates maximum OOB authentication size from 8 bytes
till 32 bytes according to specification errata ES-27446.
Since previous OOB API does not allow to expose OOB values
with such width the new API has been introduced.
The previous API was deprecated and hidden under
BT_MESH_PROV_OOB_API_LEGACY option and left for backward
compatibility with existing code base.
Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
Commit removes legacy dependancy on Host crypto.
Additionally, it adapts advertiser stack size if
provisioner feature has been enabled (tested with
mesh_shell and thread analyzer).
Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
Commit set zero to not used part of authentication array
to prevent garbage from the previous provisioning using.
Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
Commit improves oob size checking to catch wrong size
as early as possible and prevents zero size.
Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
Zephyr automatically sets the persisted flag for VCS if the volume is
changed after the service is registered. As some of these PTS tests
require a set volume with the flag cleared, the initial volume needs to
be set before registering VCS.
Signed-off-by: Frode van der Meeren <frode.vandermeeren@nordicsemi.no>
I'm working at Nordic Semiconductor in a team that is developing the
Serial Modem application for nRF91 and I have spend significant amount
of time for studying the CMUX protocol to implement the power saving
mechanism for it and submitted it here.
I therefore have quite a good understanding of the Zephyr's modem
subsystem.
Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
After trying out a few different approaches, I think having separate
nodes for each bank in devicetree and having a GPIO proxy node for the
controller is the best solution right now.
To be more specific, GPIO proxy solution still allows for bank level
GPIO toggling. The linux kernel GPIO davinci driver is currently limited
to single pin operations. This might not be a problem in Linux, but I
feel like embedded systems would prefer having support for bank level
operations.
This also does not pose a problem for the future implementation of
interrupts due to that fact that the interrupt router is separate device
and will require a separate driver. In fact, the GPIO interrupt router
is shared between main_gpio0 and main_gpio1.
This patch also reverts the previous bank offset related work on GPIO
davinci driver.
The patch has been tested on PocketBeagle 2.
Signed-off-by: Ayush Singh <ayush@beagleboard.org>
Allow user to use the new sys_getopt API via the old non-Posix
compliant getopt API. This is a temporary solution and the shim
will be deprecated and eventually removed at some point.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Summary:
As Zephyr getopt is not really compatible with Posix getopt, rename
Zephyr getopt to sys_getopt.
Background:
Zephyr getopt module was introduced in #31356 to be used by the shell.
Zephyr's getopt is not the standard one. It has multiple APIs which make
it more suited for a system like Zephyr where different components may
want to use it for different purposes. Including APIs to init it,
get and set its internal state etc.
Several Zephyr modules (shell, net, wifi, ztest) use this getopt with
these special APIs. The getopt module is bundled in the POSIX
compatibility API subsystem (CONFIG_POSIX_C_LIB_EXT).
Problem description:
As it is not the standard getopt(), no C library can possibly provide
a Zephyr compatible version (even if such C library were to provide a
standard getopt()). As it is bundled in Zephyr's POSIX API in
CONFIG_POSIX_C_LIB_EXT), multiple components that depend on it are
selecting CONFIG_POSIX_C_LIB_EXT. Zephyr core components should not
depend on the POSIX API in this way.
Changes done in this commit:
Rename the getopt*() APIs to sys_getopt*() and move them into a module
under lib/utils with its own Kconfig option to enable it.
Zephyr's users are changed to use this new component.
The POSIX subsystem can continue providing getopt() by calling the new
sys_getopt() and in that way retain backwards compatibility for external
users.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
This is a follow-up to @keith-zephyr’s note that SMF is looking for a
new maintainer:
https://github.com/zephyrproject-rtos/zephyr/pull/97943#issuecomment-3439589314
I am proposing this shortly after getting collaborator only
because there is an active search and I am already working in SMF
(source-level changes, SMF-related RFCs, and improving the
sibling-transition path to make the common transition at least
~30% faster). If there were no open need, I would have waited longer
before proposing this.
Signed-off-by: Vladislav Kulikov <vlad_kulikov_c@pm.me>
Modify the timeout from 10ms to 100us. The reason for this
is that the UART can only hold 4 octets at a time, which
cases events larger than 4 octets to require multiple
timeout before the entire event can be sent.
This solution is mostly a workaround and has the purpose
of increasing the performance and help prevent the tests
from failing due to the low speed caused by this. A
proper solution would likely be to switch to the async UART
API instead.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The ISO buffers defaults to 1, but since there are
risks that the ISO RX events cannot be sent to
the upper tester via UART before the next RX,
the RX is increased. This also allows to better
support cases where the ISO interval is larger than
the SDU interval.
The ISO TX buffers are similarly increase to help
prevent cases where a TX isn't scheduled.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Add missing `full_name` entries for MAX32657EVKIT and MAX32658EVKIT
in their respective board.yml files.
Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
nRF91 Serial Modem application does not anymore start PPP automatically.
Update initialization script to request it.
Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
Gives access to all log output format flag configurations
for shell backend.
shell log backend doesn't use log_backend_std_get_flags()
and it's debateable if it should, so give it its own fullly
configurable format set for maximum backend bandwidth control
Signed-off-by: Nicholas Lowell <Nicholas.Lowell@lexmark.com>
This removes a function that created a new mutex and conditional variable
and used memcpy() to compare them with ones in a given fdtable entry.
Since those struct members are initialized statically, this test doesn't
serve much of a purpose anymore. Moreover, padding bytes inside structs
are technically not required to be zero, so these memcpy() calls caused
SonarQube to complain.
Signed-off-by: Jakub Klimczak <jklimczak@internships.antmicro.com>
The file descriptor table is used in every area that expects to work on
files through descriptor indices. It can only be operated on through
functions whose names indicate a relationship with ZVFS (`zvfs_*fd*`).
The integer file descriptor mechanism shouldn't be separate from ZVFS.
This will make cooperation between different file access APIs much
simpler. This commit also makes preparations for the fdtable becoming
optional.
Signed-off-by: Jakub Klimczak <jklimczak@internships.antmicro.com>
This commit moves all operations on single files into ZVFS and makes the
POSIX subsystem call into ZVFS to perform them. It was necessary to define
a `struct zvfs_stat` to avoid a dependency cycle. Functions used
internally for file i/o operations are publicised since they won't require
any changes between various subsystems. This allows ZVFS to actually
fulfill its purpose of facilitating cooperation of different file APIs.
Signed-off-by: Jakub Klimczak <jklimczak@internships.antmicro.com>
- Add command for setting the set size
- Add command for setting the SIRK
- Allows the following tests to pass:
- CSIS/SR/CN/BV-01-C
- CSIS/SR/CN/BV-02-C
- CSIS/SR/CN/BV-03-C
- CSIS/SR/CN/BV-04-C
Signed-off-by: Alexander Svensen <alexander.svensen@nordicsemi.no>
- When a bonded device is reconnected, check flags for pending
notifications for:
- Lock
- SIRK
- Size
Previously only lock was checked
Signed-off-by: Alexander Svensen <alexander.svensen@nordicsemi.no>
Add helper functions for querying the internal fields of
`struct net_buf_pool` when `CONFIG_NET_BUF_POOL_USAGE` is enabled.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Switch the Xilinx AXI I2C device driver to use the DEVICE_MMIO_...
macros instead of directly using the physical base address from the
device tree. This allows the driver to work on SoCs with an MMU,
such as the Zynq-7000.
Signed-off-by: Simon Maurer <mail@maurer.systems>