In the `Board` class, the `dir` member was renamed to `directories`,
both to indicate that it is now a list (in HWMv2 with board extensions)
and to reflect the addition of the `BOARD_DIRECTORIES` CMake variable.
Considering that the build system also keeps the `BOARD_DIR` variable,
and for the sake of backwards compatibility and brevity, it should be
useful to retain `Board.dir` in Python as well, symmetrically.
Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
Removes validating the qualifiers for flash run once configuration
as files may be present that contain information for qualifiers
that are not present in a single repository but are spaced out in
other repositories, or might be optional
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Adds an optional priority parameter to the flash runner run once
configuration which allows for deciding upon which file should
ultimately be used
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
This commit adds new tests for verifying the functionality of the board
and SoC extension feature.
It does so by defining:
- A new CPU cluster on an existing SoC
- Two new board variants on top of an existing board
The new board variants are defined on top of the existing `native_sim`
board, so that the following native_sim board targets are available for
the test.
Existing board targets:
- native_sim/native
- native_sim/native/64
Extended board targets:
- native_sim/native/one
- native_sim/native/64/two
The new CPU cluster is defined for the existing `an521` SoC.
Existing CPU Clusters on an521:
- cpu0
- cpu1
New CPU Cluster:
- cputest
For SoC tests the mps2 board is used.
This means that for testing, the following board targets using the an521
SoC are:
- mps2/an521/cpu0
- mps2/an521/cpu1
- mps2/an521/cputest
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Fixes: #72374
Support extending an existing SoC with new CPU clusters.
This commit introduces the following changes to allow an SoC to be
extended out-of-tree.
The SoC yaml schema is extended to support an extend field which
will be used to identify the SoC to be extended with extra CPU clusters.
A SoC 'a_soc' can be extended like this:
> socs:
> extend: a_soc
> cpuclusters:
> - name: extra_core
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Fixes: #69548
Support extending an existing board with new board variants.
This commit introduces the following changes to allow a board to be
extended out-of-tree.
The board yaml schema is extended to support an extend field which
will be used to identify the board to be extended.
A board 'plank' can be extended like this:
> board:
> extend: plank
> variants:
> - name: ext
> qualifier: soc1
For the rest of the build system this means that there is no longer a
single board directory.
The existing CMake variable BOARD_DIR is kept and reference the
directory which defines the board.
A new CMake variable BOARD_DIRECTORIES provides a list of all
directories which defines board targets for the board.
This means the directory which defines the board as well as all
directories that extends the board.
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Cleanup the Kconfig generating code in hwm_v2.cmake by moving common
logic inside the kconfig_gen() helper function.
This prepares the code for board extension feature.
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
The test implementation is based on a copy of the HFC multilink test.
The test verifies that the stack respects the reference counting of SDU
buffers when the L2CAP -EINPROGRESS feature is used.
Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
This is shorthand for random static addresses. It's similar to
`bt_addr_le_from_str`, but is a macro that results in an object literal,
making it more versatile and less verbose.
This macro only gives access to the first 255 random static addresses,
but this ought to be enough addresses for testing.
Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
Fix discrepancy in reference management between calls to
`bt_l2cap_chan_ops.recv` when the application returns `-EINPROGRESS`.
There are two call sites, `l2cap_chan_le_recv_sdu` and
`l2cap_chan_le_recv`, that were inconsistent.
`l2cap_chan_le_recv_sdu` moves the reference, and this patch updates
`l2cap_chan_le_recv` to do the same.
This behavior is also now documented.
This bug has existed since the introduction of this feature in
3151d26572.
Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
if alias or shorthand name is provided on the command line, we need
convert this to complete target name for the filters to work.
Fixes#80332
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
--device-testing implies runnable tests, this was the case before the
rework and was missed in one spot, so instead do that directly in the
argument parser.
Fixes#80428
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
The commit splits default FCB scenario into one with endmarker
enabled, the original one, and one with disabled.
This allows to test the FCB in cases when CONFIG_FCB_ALLOW_FIXED_ENDMARKER
is set and not set.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
We use the name cell at a given index to retrieve
a clock's id.
But not all clocks provide a name cell, so use 0x0 as clock-id
for these situations.
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
This commit fixes minor copyright issues and corrects the compatible of
gpio-stepper with the vendor name as zephyr
Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
Fix a set of warnings like:
drivers/wifi/winc1500/wifi_winc1500.c:332:25: error: cast from pointer
to integer of different size [-Werror=pointer-to-int-cast]
332 | SOCKET socket = (int)context->offload_context;
when int and void* do not have the same size, by casting the content
of context->offload_context to intptr_t which is whichever integer
size matches the pointer size.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
The dacx3608 line supports a broadcast register so all configured channels
can output a singular value, simultaneously. This drastically reduces I2C
overhead when using multi-channel control. An API addition was necessary
to support a global broadcast channel number. The API addition does not
break the write_value() implementation for other DAC drivers in the repo.
This change is based on an out-of-tree driver developed internally to
handle this use case.
Alternative to the API change, could be a KConfig option or device tree
entry. Also, no support for the Broadcast channel was added to the
channel_setup() implementation - this may or may not be confusing. I
believe it makes sense to maintain explicit setup calls for each channel
intended to be configured.
Signed-off-by: Ben Booher <benbooher@pull-repo.com>
Added NXP IRTC Driver support and binding.
This driver is expected for users needing
Time Date info in their application.
The driver additionally has an alarm mode that
can be enabled to fire an intterupt when the time
and alarm values match.
Signed-off-by: Emilio Benavente <emilio.benavente@nxp.com>
What is changed?
Updated the condition thats prevents mpu config for null dereference.
Added a new check so that mpu is configured for null dereference if
devicetree contains a memory-region node with:
- node address starting at 0
- size covered by the node is more than the null dereference page
size (0x400) and
- contains a memory-attr
Why is the change needed?
The check relied on flash base address to align with 0 for
configuring the mpu for null dereference but, a device tree
could have a flash starting at an address other than 0 and
still need the mpu config for null dereference.
The new extra check provides a way to connfigure mpu for
null dereference even if flash base address is not 0.
Note, though this change helps with mpu config for new boards having
flash address other than 0, this change does not change existing
behaviour for existing boards.
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
What is changed?
- Added a new mps3 board an555 for the soc corstone310.
The qualifier to build/run application with board mps3/an555 is
`mps3/corstone310/an555` for secure and
`mps3/corstone310/an555/ns` for non-secure.
- Added FVP variant to enable FVP testing with corstone310
and it uses the ARM FVP `FVP_Corstone_SSE-310`.
The qualifier to build/run application with FVP is
`mps3/corstone310/an555fvp` for secure and
`mps3/corstone310/an555fvp/ns` for non-secure.
Why do we need this change?
- This enables FVP support and testing for corstone310.
- A separate FVP variant was added for AN555 because, the TFM board
used for non-secure variant differs for FPGA and FVP.
TFM board `arm/mps3/corstone310/an555` should be used when testing
AN555 with FVP and `arm/mps3/corstone310/fvp` should be used when
testing with AN555 FPGA.
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
What is changed?
- Added a new mps3 board an552 for the soc corstone300.
The qualifier to build/run application with board mps3/an552 is
`mps3/corstone300/an552` for secure and
`mps3/corstone300/an552/ns` for non-secure.
- Added FVP variant to enable FVP testing with corstone300
and it uses the ARM FVP `FVP_Corstone_SSE-300_Ethos-U55`.
The qualifier to build/run application with FVP is
`mps3/corstone300/fvp` for secure and
`mps3/corstone300/fvp/ns` for non-secure.
- Note: the qualifier to build/run application with board mps3/an547
is now changed to
`mps3/corstone300/an547` for secure and
`mps3/corstone300/an547/ns` for non-secure.
How is it changed?
- Moved common code from mps3/an547 to corstone300.
- Renamed soc for an547 to corstone300 and added
a new soc corstone300/an552.
Why do we need this change?
- This enables FVP support and testing for corstone300.
- SOC/qualifier for mps3/an547 was renamed to reduce code redundancy
- A separate FVP variant was added for AN552 because, the TFM board
used for non-secure variant differs for FPGA and FVP.
TFM board `arm/mps3/corstone300/fvp` should be used when testing
AN552 with FVP and `arm/mps3/corstone300/an552` should be used when
testing with AN552 FPGA.
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
Clock source is changed from RC_SLOW to RC_FAST_D256 in order
to improve clock precision and avoid tests failing due to
lower precision of RC clock (around 10%).
Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
Include value of 30 us as not valid to set alarm for RTC counter.
Change included to allow RTC timer to be properly set to use
RC_FAST_D256 as clock source.
Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
Recent WPA supplicant changes have broken nRF regulatory support,
implement the new set/get country WPA supplicant ops.
WPA supplicant: Regulatory SET through WPA supplicant, GET is direct to
the driver
Scan only: SET and GET direct calls to the driver
Fixes#79916.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Adds adxl362 streaming and trigger configurations to accelerometer
samples for profiling the performance impact of adding rtio support to
max32 spi and adxl362 accelerometer drivers.
Signed-off-by: Maureen Helm <maureen.helm@analog.com>
Sets the trigger thread name for all adi sensor drivers to more clearly
identify the thread when tracing or debugging.
Signed-off-by: Maureen Helm <maureen.helm@analog.com>
This ensures that enabling BT_CTLR_DTM does not break the compilation of
the Bluetooth shell.
Signed-off-by: Reto Schneider <reto.schneider@husqvarnagroup.com>
This allows to build the shell with BT_CTLR_DTM and/or BT_CTLR_ADV_EXT
enabled.
The issues has been introduced by commit
bf897cf941 (Bluetooth: Shell: Restructure
shell files).
Signed-off-by: Reto Schneider <reto.schneider@husqvarnagroup.com>
Before this patch, any unexpected socket error during poll (caused by
LTE disconnects for instance) would lead to a infinite loop because the
error state was never cleared, handled or even signaled to the user.
Signed-off-by: Benjamin Lindqvist <benjamin@eub.se>
This is a bug fix for adxl372_accel_convert_q31 function.
Function is used to convert samples received from
sensor to q31_t format when RTIO stream is used.
Signed-off-by: Vladislav Pejic <vladislav.pejic@orioninc.com>
Optimize function which enables UARTE peripheral. It is called
only when interrupts are locked so data->flags does not require
atomic operation. Use standard logical operations so save few
bytes.
Simplify uarte_disable_locked.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
So far new platforms did not use legacy shim but it shall
be now a default uart shim for all platforms.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Improved a workaround. When FIFO is not empty then FLUSHRX
task will generate RXSTARTED event to indicated that DMA transfer
was started. This property can be used to detect when FIFO was
not empty and workaroud a HW bug where RX.AMOUNT register is not
updated after flushing empty FIFO.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>