Commit graph

56,286 commits

Author SHA1 Message Date
Martí Bolívar
e5cc8540e4 Kconfig.zephyr: fix MISRA_SANE location
This belongs under "Compiler Options", not "Boot Options" where it
currently is.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-05-21 18:11:26 -04:00
Martí Bolívar
095c9a3e92 doc: link-roles: fix :zephyr_file: default revision
This needs to use 'main' for its default now.

Without this patch, GitHub redirects to main, but displays a banner
that says 'Branch not found, redirected to default branch' at the top.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-05-21 18:10:13 -04:00
Maksim Masalski
5a9e9e8fd1 logging: remove dead code enum
Remove dead code enum tracing_log_id
Not used anywhere in the code. Also it caused MISRA rule 8.12
violation.

Signed-off-by: Maksim Masalski <maksim.masalski@intel.com>
2021-05-21 18:09:23 -04:00
Gerson Fernando Budke
97e1d60f66 boards: arm: arduino_nano_33_ble: Add boot partition
Define missing bossac boot_partition.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2021-05-21 21:20:58 +02:00
Gerson Fernando Budke
8d0b3983fb boards: arm: arduino_nano_33_ble: Fix bossac mode
This board uses an old bootloader version.  The bootloader
always relocate code due to flash bootloader.  This imply
a wrong behaviour when using --offset.  This is fixed using
bossac legacy mode.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2021-05-21 21:20:58 +02:00
Gerson Fernando Budke
f3a7f041bf scripts: runners: bossac: Add legacy mode
Add compatibility mode with old sam-ba flash bootloaders that don't have
offset capabilities.  These bootloaders flash to a pre-defined flash
region.  At end, bossac will suppress --offset parameter.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2021-05-21 21:20:58 +02:00
Carles Cufi
0e26836c8a Bluetooth: controller: Add conn creation param checks
Coverity detected that a zero divisor can be passed to
ll_create_connection() without parameter sanitization. Conditionally
check the connection creation parameters according to spec.

Fixes #35343.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2021-05-21 18:50:22 +02:00
Gerard Marull-Paretas
5e06397269 doc: doxygen: treat warnings as errors
Treat warnings as errors. Since we already disable warnings for
undocumented members (the major source of warnings), reported warnings
are in all cases real problems that should be fixed.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-05-21 12:17:04 -04:00
Gerard Marull-Paretas
a4025ebaff net: dns_resolve: fix doxygen parameter names
Parameter names were not correct.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-05-21 12:17:04 -04:00
Gerard Marull-Paretas
1b8e2bad63 sys: p4wq: add missing docstring to K_P4WQ_ARRAY_DEFINE
flg parameter was not documented.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-05-21 12:17:04 -04:00
Gerard Marull-Paretas
e0b4c9753c linker: devicetree_regions: escape special characters
Escape characters <> (generate warnings for the HTML build).

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-05-21 12:17:04 -04:00
Gerard Marull-Paretas
bb38c558c5 bluetooth: l2cap: fix doxygen references
References to BT_L2CAP_BUF_SIZE were not working.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-05-21 12:17:04 -04:00
Gerard Marull-Paretas
da2816bab8 sys: arch_interface: fix doxygen groups
1. functions can only belong to one group, use arch-timing (already
   defined)
2. group was not properly terminated

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-05-21 12:17:04 -04:00
Gerard Marull-Paretas
2f12d53f9a device: fix unbalanced doxygen group
An extra @} was present, remove it.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-05-21 12:17:04 -04:00
Krzysztof Kopyściński
58460f9273 Bluetooth: gatt: cancel all prepared writes on invalid write response
On sending write request we should check write response.
If data prepaired to be written by peer or offset are not equal
to the data and offset we sent, we shall send Execute Write
Request with Request Flag set to 0x00 (Cancel All Prepared Writes).

This was affecting GATT/CL/GAW/BI-32-C and GATT/CL/GAW/BI-37-C

Signed-off-by: Krzysztof Kopyściński <krzysztof.kopyscinski@codecoup.pl>
2021-05-21 18:50:26 +03:00
Erik Brockhoff
6ce0f2ee66 Bluetooth: controller: add apto/appto reset for peripheral
For peripheral the apto/appto_expire are now reset on adv start

Signed-off-by: Erik Brockhoff <erbr@oticon.com>
2021-05-21 15:17:20 +02:00
Vinayak Kariappa Chettimada
d999d5eb64 Bluetooth: controller: Fix missing HCI event data len limit check
Fix the missing HCI event data len limit check when encoding
incomplete advertising data report.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2021-05-21 13:39:22 +02:00
Andrzej Kaczmarek
9835888a91 Bluetooth: controller: Fix data length calculation in adv report
Max data length has to be adjusted for subevent code, otherwise we'll
hit an assert when trying to add data to event due to insufficient
free space.

Signed-off-by: Andrzej Kaczmarek <andrzej.kaczmarek@codecoup.pl>
2021-05-21 13:39:22 +02:00
Johann Fischer
de974efebb drivers: eth_enc424j600: explicitly disable INTIE after reset
After system reset (SETETHRST) interrupt enable register (EIE)
has the default value 0x8010 and global interrupt enable flag (INTIE)
is set. This is not desired and the INTIE flag should be set only at
the end of the initialization.

Disable INTIE flag and set desired interrupts sources in
a single write command just right after system reset.

Resolves: #35091

Reported-by: Jamie McCrae <jamie.mccrae@lairdconnect.com>
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2021-05-21 07:35:19 -04:00
Johann Fischer
6de9c18f03 drivers: eth_enc424j600: terminate driver thread only when debugging
The controller has several interrupt sources which are signaled
via a single INT pin. Only the interrupt sources that are explicitly
switched on during controller initialization may generate an interrupt
signal. Currently there are only PHY Link Status Change Interrupt
and RX Packet Pending Interrupt enabled. So there is no other reason why
an interrupt can be triggered.

Terminate interrupt handling thread on unknown interrupt
only when debugging, as there are concerns that stopping
thread in the field is going too far.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2021-05-21 07:35:19 -04:00
Kevin Hilman
d7f47296c9 doc: porting guide: minor grammar fixups
Fix some minor grammar issues for readability.

Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2021-05-21 07:25:27 -04:00
Gerard Marull-Paretas
baf11138c5 doc: css: fix versions menu style
Versions menu dl > dt background color was not correct.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-05-21 06:22:24 -05:00
Gerard Marull-Paretas
ad7e3e1281 doc: css: remove images black border
Remove the black border present on images.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-05-21 06:22:24 -05:00
Martin Jäger
a46a36a4cf task_wdt: Pause hardware wdt during debugging
Enable the option to pause the fallback hardware watchdog if the MCU is
halted by a debugger.

This fixes issue #33509 where some boards with Nordic MCUs could not be
flashed anymore after using the task watchdog sample.

Signed-off-by: Martin Jäger <martin@libre.solar>
2021-05-21 05:00:07 -05:00
Martin Jäger
784e6847df samples: drivers: watchdog: Pause during debugging
Enable the option to pause the watchdog if the MCU is halted by a
debugger.

This fixes an issue with some Nordic MCUs (see #33509) where the board
could not be flashed anymore if a short watchdog timeout (<100 ms) was
used.

Signed-off-by: Martin Jäger <martin@libre.solar>
2021-05-21 05:00:07 -05:00
Watson Zeng
2cf355f92b boards: arc: explicitly set link lib for hs boards with mwdt
arcmwdt toolchain has various pre build libraries, we can find it in
path: {METAWARE_HOME}/lib, and it will use av2em lib by default.
it's OK for em boards, but not suitable for hs boards. I have tested
hs38_full library for hs boards, it's OK. let's use it.

Signed-off-by: Watson Zeng <zhiwei@synopsys.com>
2021-05-21 04:59:37 -05:00
Benjamin Lindqvist
f0f1a4d724 net: lwm2m: no duplicate device error codes
The resource description on the OMA LwM2M registry states that only the
first instance of a particular error should trigger creation of a new
error code instance.

Signed-off-by: Benjamin Lindqvist <benjamin.lindqvist@endian.se>
2021-05-21 04:55:26 -05:00
Francois Ramu
aa2e915fbf drivers: dma: stm32 dmamux has request 0 for mem-to-mem
The request ID = 0 is allowed for mem-to-mem data
transfer through the DMAMUX.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2021-05-21 04:55:02 -05:00
Krzysztof Chruscinski
eb949d01d3 tests: drivers: uart: Add test for uart power management
Added test which validates that uart device correctly handles
going to and from low power state.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2021-05-21 04:53:19 -05:00
Krzysztof Chruscinski
7d61be9e79 drivers: serial: nrf_uarte: Fix uart_callback_set unsupported handling
Function should return -ENOTSUP when asynchronous api is not
supported by the device.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2021-05-21 04:53:19 -05:00
Krzysztof Chruscinski
8af5dbc977 drivers: serial: nrf_uarte: Fix power management transitions
Deadlock may occur when uart device was put to low power state
while uart_poll_out was in progress. Poll out pends until uarte
is ready to send new byte and it is detected by endtx and txstopped
events being set. When uarte was disabled while poll_out was pending
events were never set and that lead to deadlock. Added a step
in going to low power state in which CPU waits for txstopped event
and only after that uarte peripheral is disabled.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2021-05-21 04:53:19 -05:00
Nicolas Pitre
b8d24ffb45 arm64: mitigate FPU-in-exception usage side effects
Every va_start() currently triggers a FPU access trap if FPU is not
already used. This is due to the fact that va_start() must copy FPU
registers that are used for float argument passing into the va_list
object. Flushing the FPU context to its owner and granting access to
the current thread is wasteful if this is only for va_start(),
especially since in most cases there are simply no FP arguments
being passed by the caller.

This is made even worse with exception code (syscalls, IRQ handlers,
etc.) where the exception code has to be resumed with interrupts
disabled upon FPU access as there is no provision for preserving an
interrupted exception mode's FPU context.

Fix those issues by simply simulating the sequence of STR instructions
that the va_start() generates without actually granting FPU access.
We limit ourselves only to exception context to keep changes to a
minimum for now.

This also allows for reverting the ARM64 exception in the nested IRQ
test as it now works properly even if FPU_SHARING is enabled.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2021-05-21 04:52:44 -05:00
Kumar Gala
58d3760533 boards: arm: lpcxpresso55s28: Remove NS board config
There is no known TFM/secure side solution for the lpcxpresso55s28.
The '_ns' board config variant was added as a copy/pasted based on
how some other boards did things.  If/when TFM supports the board
we can revert this to support it.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2021-05-20 23:44:13 -05:00
Asger Munk Nielsen
38850b4820 Bluetooth: Controller: fix uninitialized variable
Fixes issue #35157
[Coverity CID: 221380]

Signed-off-by: Asger Munk Nielsen <asmk@oticon.com>
2021-05-20 21:27:40 -04:00
Lauren Murphy
f77d5c5c53 samples: tensorflow: change from file list to glob in cmakelists.txt
Changes CMakeLists.txt in TensorFlow samples from explicit file
list to a GLOB capturing src/* to make TensorFlow samples consistent
with other samples in tree.

Signed-off-by: Lauren Murphy <lauren.murphy@intel.com>
2021-05-20 20:59:45 -04:00
Lauren Murphy
e4b985b929 samples: tensorflow: fix documentation
Fixes documentation for samples that incorrectly state that TensorFlow
library requires the -fno-threadsafe-statics flag to compile.

Signed-off-by: Lauren Murphy <lauren.murphy@intel.com>
2021-05-20 20:59:45 -04:00
Lauren Murphy
e6b8c50599 samples: tensorflow: add no-threadsafe-statics to compiler flags
Adds no-threadsafe-statics to compiler flags for gcc and arcmwdt.

The flag is required to compile the samples - the module can compile
without it.

Signed-off-by: Lauren Murphy <lauren.murphy@intel.com>
2021-05-20 20:59:45 -04:00
Armando Visconti
468c553190 drivers/sensor: iis2iclx: (FIX) enable interrupt selectively
(same considerations as commit 2f01479b)
In a multi-instance driver it may happen that on some h/w
one device should use interrupts and a second device should use
polling mode. So, CONFIG_IIS2ICLX_TRIGGER is not enough to discriminmate
if interrupt inizialization routine should be called or not; the choice
is now based whether the "irq-gpios" property is present in the DT
for that particular instance or not.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2021-05-20 17:55:08 -04:00
Armando Visconti
1f851bc268 drivers/sensor: lsm6dso: use gpio_dt_spec oriented macros
Use gpio_pin_configure_dt() and gpio_pin_interrupt_configure_dt()
for drdy_gpio: they result in a more readable code.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2021-05-20 17:55:08 -04:00
Andy Ross
3953e07822 tests/kernel/mem_heap: Add minimum-size heap test
Add test to statically allocate a minimum-size heap, verify that it
works to allocate a single byte and that it doesn't overrun its memory
bounds.

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2021-05-20 17:52:21 -04:00
Andy Ross
d37370301c k_heap: Clamp to a minimum heap size
The K_HEAP_DEFINE macro would allow users to specify heaps that are
too small, leading to potential corruption events (though at least
there were __ASSERTs that would catch this at runtime if enabled).

It would be nice to put the logic to compute this value into the heap
code, but that isn't available in kernel.h (and we don't want to pull
it in as this header is already WAY to thick).  So instead we just
hand-compute and document the choice.  We can address bitrot problems
with a test.

(Tweaks to heap size asserts and correct size bounds from Nicolas Pitre)

Fixes #33009

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2021-05-20 17:52:21 -04:00
Enjia Mai
04c736d98d tests: interrupt: refine the offload case not rely on delay timing
The interrupt offload testcases fail on some boards because the timing
of the delay is too short. Refine the testcases and make it not rely
on the delay timing.

Fixes #35097
Fixes #35241

Signed-off-by: Enjia Mai <enjiax.mai@intel.com>
2021-05-20 17:34:09 -04:00
Hou Zhiqiang
5f61d89233 boards: ls1046ardb: Correct the reference clock of system counter
It is 25 MHz on LS1046ARDB, so correct it.

Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
2021-05-20 13:54:54 -05:00
Simon Guinot
54d3f136ec tests: drivers: dma: enable tests on nucleo_f070rb
This patch enables the DMA chan_blen_transfer and loop_transfer tests on
the nucleo_f070rb board.

Signed-off-by: Simon Guinot <simon.guinot@seagate.com>
2021-05-20 13:24:18 -05:00
Simon Guinot
1945f70eee drivers: dma: stm32: fix build for STM32F0 MCUs
The STM32F0 MCUs (except STM32F030XC) don't have a DMA channel selection
register (DMA_CSELR). This patch fixes the build of the dma_stm32 driver
for them.

Signed-off-by: Simon Guinot <simon.guinot@seagate.com>
2021-05-20 13:24:18 -05:00
Martin Jäger
79531c86a2 task_wdt: use correct hardware watchdog channel number
The hardware watchdog was always fed with channel ID 0. This is correct
in most cases, but we should still use the actual ID returned from
wdt_install_timeout.

Signed-off-by: Martin Jäger <martin@libre.solar>
2021-05-20 13:18:45 -05:00
Gerard Marull-Paretas
381180c46f doc: scripts: gen_kconfig_rest: fix rendering issues
As of today we assume that the help text contained in the Kconfig help
field will be properly formatted RST. However, there is no guarantee
that this will happen. This patch tries to address this problem by:

- Escaping inline RST characters for text that needs to be rendered as
  "normal text" (i.e. prompt)
- Use code-blocks to render help content. This way help is rendered as
  literal text and so it does not get processed by the RST parser.

A secondary change: the index table now contains the prompt information
only. The page was taking a long time to render because of the large
amount of content. Using a table doesn't help either. Note that adding
code-block to include help as a literal increases build time even more,
so it is not an option.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-05-20 13:18:05 -05:00
Kevin Townsend
7f89f9dbd8 doc: release-notes-2.6: Add issue with mbedtls PSA API and TF-M
Adds a note on a known config conflict with mbedtls 2.26.0 and TF-M
where the mbedtls PSA APIs can no be enabled at the same time as TF-M.

Signed-off-by: Kevin Townsend <kevin.townsend@linaro.org>
2021-05-20 13:17:02 -05:00
Gerard Marull-Paretas
8c4b757fd4 doc: remove redundant breathe project
The default breathe project is `Zephyr`, so there is no need to specify
it.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-05-20 20:04:51 +02:00
Gerard Marull-Paretas
830de4c905 doc: conf: remove unused breathe project
the `doc-examples` project is not used and, in fact, is a duplicate of
the Zephyr project.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-05-20 20:04:51 +02:00