Update a couple of lwm2m links
- LwM2M: update to the link the current forwards to
- OMA Specworks LwM2M: update to the link to the releases overview page
was redirected to the LwM2m overview page.
- LwM2M registry: link to OMA registries, where LwM2M registries are listed
was redirected to the OMA specifications page before.
Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
As clarified by the subsystem maintainers, wait should be treated as a
boolean, not a duration.
Signed-off-by: Dmitrii Sharshakov <d3dx12.xx@gmail.com>
checkpatch and clang-format have conflicting formatting requirements for
this file for whatever reason.
Since it is not possible to selectively disable checkpatch, but it is
possible to selectively disable clang-format, disable clang-format
surrounding some macros in `posix_features.h` and `sys/sysconf.h` in order
to eliminate linter noise.
The code is still checked by checkpatch, which should be sufficient.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Use `timespec_add()` to add to an absolute timespec. This is required
because the test was failing occasionally on some qemu platforms in CI
due to this assertion in `timespec_normalize()`, which could happen if
the number of fractional seconds was already close to `NSEC_PER_SEC`
before an offset was added.
```cpp
if (!overflow) {
__ASSERT_NO_MSG(timespec_is_valid(ts));
}
```
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Since an implementation may omit definitions of runtime invariant values
in limits.h if the corresponding value is equal to or greater than the
minimum, is unspecified, and must be queried at runtime [1], do not rely
on PAGE_SIZE being declared in limits.h .
[1]
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/limits.h.html
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
The kso_ignore_mask DTS property was not being fully applied in the
ITE IT8xxx2 keyboard driver:
1. The driver performed direct writes to the KBS_KSOH2 register,
which controls KSO[17:16]. This did not account for the
kso_ignore_mask and could overwrite bits in the register that
are used for other GPIO functions.
2. The driver would attempt to initialize the GPIOs for KSO16 and
KSO17 based solely on the col-size property. It ignored the
kso_ignore_mask, which could lead to reconfiguring a pin that
is intended for another purpose.
Signed-off-by: Wai-Hong Tam <waihong@google.com>
There are some drivers like NXP SDMA that need a NonCacheable
data region to put data like channel control or buffer descriptors.
So far, we haven't added such a section because the linker created
one default orphan section at the end of the data section.
But this generates a warning in the build system:
xtensa-nxp_imx8m_adsp_zephyr-elf/bin/ld.bfd: warning: orphan section
NonCacheable' from modules/hal_nxp/libmodules__hal_nxp.a(fsl_sdma.c.obj)'
being placed in section `NonCacheable'
So fix this by explicitly define a NonCacheable area at the end of data
section.
This works because imx8mp cache attributes are
_memmap_cacheattr_imx8_wt_allvalid = 0x22212222
and the area where the NonCacheable section is allocated is
write-through.
So all the configuration for the SDMA core is not-cached at write.
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
When setting CONFIG_MCUX_ELCDIF_FB_NUM=0 we can't assign the active pointer
to any framebuffer.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Set `SL_RAIL_LIB_MULTIPROTOCOL_SUPPORT` to `1` when Rail
Multiprotocol Kconfig is enabled.
This is required to run the Bluetooth multiprotocol initialization
code during `sl_btctrl_init`.
Signed-off-by: James Smith <james@loopj.com>
Enables RAIL Multiprotocol support by linking against the multiprotocol
RAIL library blob when `CONFIG_SILABS_GECKO_RAIL_MULTIPROTOCOL` or
`CONFIG_SILABS_SISDK_RAIL_MULTIPROTOCOL` are enabled.
Signed-off-by: James Smith <james@loopj.com>
RT series have LPSPI data input setup and hold requirements and CS lead/lag
requirements not being met on the current configuration for this
test, causing flaky data transfer on CPHA 0 and 2 tests.
Fix by adding delay properties.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
The write_ct function calls bt_cts_send_notification and if
bt_cts_send_notification fails to send a notification (e.g.
if there are no clients subscribed), it would return an
error, and thus send a ATT error response to the client,
even if the value was actually written.
This commit changes the behavior so that the notification
does not affect the return value (as it is not directly
linked to the write itself), but rather just logs it if
it fails to send the notification.
The notification can failed to be send for 2 main reasons:
1) The application returns an error on fill_current_cts_time
2) bt_gatt_notify fails to notify due to missing buffers
The first we cannot do much about. For the latter we can
either just live with the missing notification, or implement
a retry if we run out of buffers. For this simple fix the
former was chosen, but can be revisited if it turns out
to be a significant problem.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The "test_late_alarm_error" test vector comes with an update that
should result in test failure when the target counter runs upwards.
That test vector attempts to set an alarm event that is passed the
current tick value. Therefore, counter's direction should be exercised
and then an appropriate alarm event should be defined.
Signed-off-by: Ioannis Karachalios <ioannis.karachalios.px@renesas.com>
Some of the logging was not very useful and missing info, some were the
wrong level. Such as routine drops of packets, this happens sometimes
and is not ideal but not going to cause things to fall apart, so demote
those messages. RX buffer underrun for example is pretty unavoidable
with enough traffic going on the local network.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Extract the RX underrun handle code to a separate function.
Named the function like "dma_rx_resume" to make it clear what the
function is really supposed to do.
Demote the error about not being a first descriptor to a warning.
Because most likely we already got an error about something else which
caused us to drop the packet in the first place. The rest of the frames
are expected to be dropped. And make the string shorter.
Also remove the debug message because the control bits do not tell us
any more information than we don't know already. They only tell us that
we own the descriptor (known since we are processing the frame), that it
is not a first descriptor (known since that is the reason we would drop
it at this point, as indicated by the warning).
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Instead of looping through only the amount of descriptors there are,
maybe it is possible to get some more things received in one work item
than even the max number of descriptors if RX is processed fast enough,
instead of waiting for work to be scheduled again.
So change to go around the ring until we actually hit a DMA owned
descriptor.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Don't enable interrupt until after init because there can be a interrupt
mistakenly happen during the init process which can cause various
problems.
Along similar lines, avoid issue for sporadic TX interrupt with no
packet in tx done handler.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
There was a deadlock occurring, exposed by http server sample because of
situations like this caused by tx done work being blocked in deadlock:
1) The TX would be started by some thread and the driver TX sem would be
taken.
2) The http server socket would get scheduled on the system workqueue to
send something, claim the network TX interface mutex,
and be blocked taking the semaphore.
3) The RX traffic class handler would get blocked trying to claim the
network interface TX mutex, while trying to send an ACK in the TCP
callback. This means the RX packets would not be processed.
4) Lots of RX unable to allocate packets errors would happen, and all RX
would be dropped. This was the main symptom of the deadlock, which
made it look like a memory leak but actually had nothing to do with
the RX code nor any memory leak.
5) The TX DMA would finish and schedule the TX DMA done work onto the
system work queue, behind the http server socket which is blocked on
the waiting for the driver TX semaphore.
6) If the TX DMA done work would have ran, that's what gives the TX
driver semaphore. So this is the reason for the deadlock of all these
different threads and work items, the misqueue in the system
workqueue.
Fix by just calling the TX DMA done code directly from the ISR, it
should be ISR safe, and really not a lot of code to execute, just
freeing some net buffers and the packet and updating the stats.
An optimization can be made later if needed, but for now,
solving the deadlock is a more urgent priority.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
When building with CONFIG_DEBUG=y, there is a build warning about the
name being truncated due to integer size is larger than MAX_NAME_LEN.
So fix MAX_NAME_LEN to be large enough to handle 10 digit integer, which
is maximum.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
There does not appear to be any reason or pattern for this
dtsi file to exist, so move everything to the dts file and delete it.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
- Adds CONFIG_FLASH_PAGE_LAYOUT check to the flash_mcux_flexspi
drivers.
- Saves some memory if FLASH_PAGE_LAYOUT is disabled.
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
Enable support for building and running the BIS ISO host test
on the nRF5340bsim board.
The purpose of this is to test the ISO fragmentation on both the
nRF52bsim and nRF5340bsim, as they use different drivers.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Add a test for broadcast ISO that uses fragmentation.
The host will attempt to send SDUs 3 times the HCI ISO
data buffer size, so that it will be fragmented into a
BT_ISO_START, BT_ISO_CONT and a BT_ISO_END HCI ISO data
packet.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Modify the test to use the controller buffer size as the maximum
SDU size, so per default we can send up to the maximum size
the controller supports. This ensures that the tests will
never do fragmentation over HCI.
This also adds verification of the received data on the
ISO sync receiver.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Reduce the number of channels to 2, as higher numbers does
not really test anything worthwhile.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Since the SDUs are now allocated by the application
and the host does not care about the SDU sizes, the check
is useless.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The DMA-based LPSPI is inherently going to have a high latency due to
the requirement for setting up the DMA transfer and the DMA driver may
be extremely bloated, this is no fault of the spi driver and not
relevant to the test. The driver we want to test for latency is the
CPU-based one, the DMA-based one is more prioritizing bandwidth over
latency.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
This commit allows to the user to control the use or not of dynamic
connection callbacks.
The stack is not using the dynamic connection callbacks so they are
only needed if the applications want to use it.
Setting it to true for backwards compatibility.
With dynamic connection callbacks
FLASH: 176600 B 512 KB 33.68%
RAM: 27428 B 64 KB 41.85%
IDT_LIST: 0 GB 32 KB 0.00%
Without dynamic connection callbacks
FLASH: 176376 B 512 KB 33.64%
RAM: 27428 B 64 KB 41.85%
IDT_LIST: 0 GB 32 KB 0.00%
Signed-off-by: Yago Fontoura do Rosario <yafo@demant.com>
This commit registers the connection callbacks using BT_CONN_CB_DEFINE,
which ensures they are set up at link time rather than runtime.
Signed-off-by: Yago Fontoura do Rosario <yafo@demant.com>
This commit registers the connection callbacks using BT_CONN_CB_DEFINE,
which ensures they are set up at link time rather than runtime.
Signed-off-by: Yago Fontoura do Rosario <yafo@demant.com>
Any PR affecting all Microchip MEC SoC's causes twister to run
the arm IRQ vector table test. Since all the MEC boards are
using the MEC 32 KHz timer instead of ARM SysTick we added all
the remaining boards to the test. Each overlay disables the MEC
32 KHz timer and enables SysTick as the kernel timer.
Signed-off-by: Scott Worley <scott.worley@microchip.com>
Fix the build error when hostapd enterprise is enabled, it should use
new wifi_set_enterprise_credentials API, instead of
wifi_set_enterprise_creds.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>