Commit Graph

42983 Commits

Author SHA1 Message Date
Jukka Rissanen
8b578bdceb lib: os: Add refcounting to fdtable entries
Use proper refcounting instead of magic value in obj field
when checking whether the fd is still in use. This will make
sure that if fd is shared between two threads, we do not
release it too soon.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2020-08-10 14:56:08 -07:00
Jukka Rissanen
1e9ae21084 doc: shields: H1 heading was missing for mikroe_eth_click
Because the H1 heading was not set in mikroe_eth_click index.rst
file, the shields listing page was listing H2 headings for this
shield.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2020-08-10 09:07:05 -05:00
Martí Bolívar
e6341de714 soc: silabs_exx32: add missing ifs to Kconfig.defconfig
This file is setting Kconfig options even when it is not the chosen
SoC. I noticed this because without this patch, CONFIG_SOC_GECKO_EMU=y
when building for an unrelated board with SYS_POWER_MANAGEMENT=y.

Hide any subtrees in this file when the EXX32 family isn't selected.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2020-08-10 08:57:37 -05:00
Francois Ramu
4a72108be8 board: counter: rtc for stm32l152 nucleo board
This patch enables the rtc so that the testcase
tests/drivers/counter/counter_basic_api
can run on this nucleo_l152re board
also when running sanity checks patch set

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2020-08-10 12:17:09 +02:00
Francois Ramu
b9c7c35db0 drivers: counter: rtc valid for stm32l1 soc series
The rtc counter is also built for the stm32l1 series
from STMicroelectronics.
The EXTI line 17 is mapped on RTC alarm pin

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2020-08-10 12:17:09 +02:00
Alexandre Bourdiol
7aead7300a tests: drivers: spi: spi_loopback: add nucleo_l4r5zi support
nucleo_l4r5zi add spi loopback support

Signed-off-by: Alexandre Bourdiol <alexandre.bourdiol@st.com>
2020-08-10 12:16:30 +02:00
Alexandre Bourdiol
3eeb384189 tests: drivers: spi: spi_loopback: add nucleo_g474re support
nucleo_g474re add spi loopback support

Signed-off-by: Alexandre Bourdiol <alexandre.bourdiol@st.com>
2020-08-10 12:16:30 +02:00
Alexandre Bourdiol
5c1223d45d tests: drivers: spi: spi_loopback: add stm32f3_disco support
stm32f3_disco add spi loopback support

Signed-off-by: Alexandre Bourdiol <alexandre.bourdiol@st.com>
2020-08-10 12:16:30 +02:00
Alexandre Bourdiol
ed61d1ed06 tests: drivers: spi: spi_loopback: add nucleo_f103rb support
nucleo_f103rb add spi loopback support

Signed-off-by: Alexandre Bourdiol <alexandre.bourdiol@st.com>
2020-08-10 12:16:30 +02:00
Alexandre Bourdiol
988fb96d71 tests: drivers: spi: spi_loopback: add nucleo_f746zg support
nucleo_f746zg add spi loopback support

Signed-off-by: Alexandre Bourdiol <alexandre.bourdiol@st.com>
2020-08-10 12:16:30 +02:00
Alexandre Bourdiol
3635cda076 tests: drivers: spi: spi_loopback: add nucleo_f429zi support
nucleo_f429zi add spi loopback support

Signed-off-by: Alexandre Bourdiol <alexandre.bourdiol@st.com>
2020-08-10 12:16:30 +02:00
Alexandre Bourdiol
59d05e67f0 tests: drivers: spi: spi_loopback: add fixture spi_loopback
Add fixture spi_loopback.

Signed-off-by: Alexandre Bourdiol <alexandre.bourdiol@st.com>
2020-08-10 12:16:30 +02:00
Rubin Gerritsen
38295e0b73 bluetooth: controller: Add BT_QUIRK_NO_AUTO_DLE for BT_LL_SW_SPLIT
It does not auto-initiate the DLE procedure if the default data length
parameters are not equal to the initial parameters.

Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
2020-08-10 12:14:49 +02:00
Rubin Gerritsen
5b034e103f bluetooth: hci_driver: Add BT_QUIRK_NO_AUTO_DLE
Some controllers do not follow the recommendation of auto-initiating
a data length update if the host writes default data length parameters.

If the controller follows this recommendation, calling
LE Write Suggested Default Data Length command is sufficient
to ensure that the LL will auto-initiate the DLE procedure. Performing
a second procedure is unecessary.

In Core v5.2, Vol 4, Part E, Section 7.8.35:
The HCI_LE_Write_Suggested_Default_Data_Length command allows the
Host to specify its suggested values for the Controller's maximum
transmission number of payload octets and maximum packet
transmission time for packets containing LL Data PDUs to be used
for new connections. The Controller may use smaller or larger values
for connInitialMaxTxOctets and connInitialMaxTxTime based on local
information.

In short, this command sets connInitialMaxTxOctets
and connInitialMaxTxTime.

In Core v5.2, Vol 6, Part B, Section 4.5.10:

For a new connection: connMaxTxOctets shall be set to
connInitialMaxTxOctets and connMaxRxOctets shall be chosen by the
Controller. If either value is not 27 then the Controller should
initiate the Data Length Update Procedure at the earliest practical
opportunity.

Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
2020-08-10 12:14:49 +02:00
Joakim Andersson
70f3f52eee Bluetooth: host: Document behavior of unsupported advertising data
Document the behavior of bt_le_ext_adv_set_data ignoring either
advertising or scan response data when the configuration does
not support this type of data.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2020-08-10 12:13:05 +02:00
Torsten Rasmussen
125a4d7c21 doc: release notes: description of SOC, DTS, BOARD, and ARCH roots
This commit updates the release notes with the changes introduced
in #26715.

It also informs readers that existing use of `$(SOC_DIR)` in Kconfig
must be updated, for example to use `rsource` instead of
`source $(SOC_DIR)` in order to adopt to latest changes.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2020-08-10 12:12:48 +02:00
Torsten Rasmussen
650cf3c6a9 doc: soc root and kconfig description
This commit updates the description of SOC_ROOT according to the new
multiple SOC_ROOT enhancement.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2020-08-10 12:12:48 +02:00
Joakim Andersson
35201d86ba Bluetooth: GATT: Unregister CCC when unregistering services
Fix issue with bt_gatt_service_unregister not clearing CCC information.

If the service is unregistered while an unbonded peer is connected and
subscribed then this CCC would be restored again when registering the
service even if the peer is now disconnected.

If the service is unregistered with bonded peers CCCs stored in settings
then this value would never be cleared. If the service is registered
again then the peer would receive a service changed for this service,
but it's CCC value would still be enabled.

Fixes: #26924

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2020-08-10 12:11:57 +02:00
Joakim Andersson
b2d852be95 Bluetooth: GATT: Extract en queuing of GATT CCC write to a function
Extract enqueue of GATT CCC when CONFIG_BT_SETTINGS_CCC_STORE_ON_WRITE
is enabled to a helper function gatt_ccc_conn_enqueue so that it can be
reused.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2020-08-10 12:11:57 +02:00
Joakim Andersson
697cf5c4fe Bluetooth: GATT: Document CCC load requirement for dynamic services
Document need to register services that are always registered as dynamic
services with CCCs loaded from settings.
These services must be registered before calling settings_load.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2020-08-10 12:11:57 +02:00
Joakim Andersson
2919eac891 Bluetooth: GATT: Move clear_ccc_cfg for reuse
Move the clear_ccc_cfg function further up to be re-used without a
forward declaration in bt_gatt_service_unregister.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2020-08-10 12:11:57 +02:00
Håkon Øye Amundsen
43d6fc0fcb boards: arm: add board for CPUNET domain
This configuration is used to describe what board should
be associated with the CPUNET domain.

Signed-off-by: Håkon Øye Amundsen <haakon.amundsen@nordicsemi.no>
2020-08-10 11:10:06 +02:00
Krzysztof Chruscinski
3867a165e5 drivers: serial: nrf_uarte: Remove counters reset from rx_enable
uart_rx_enable might be called after reception is stopped by lack
of buffers with flow control enabled. In that case there is a couple
of bytes kept in the HW FIFO. When HW TIMER is used for byte counting,
it is using RXDRDY event to count bytes. RXDRDY event is generated when
byte is received in RXD. RXD is the head of HW FIFO. When DMA ends and
ENDRX event is generated, transmitter still transmits until RTS line
goes high and transmitter reacts to it and stops transmitting. First
byte received after ENDRX lands in RXD (and generates RXDRDY event),
next by goes to RXD+1 (does not generate RXRDY event).

RXDRDY event after ENDRX is counted by the TIMER. If TIMER is reset
before restarting RX this byte is lost in the calculation. Because of
that byte counters cannot be reset before enabling RX thus move to
initialization. It applies only to HW counting but to keep it consistent
resetting was removed for both modes.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2020-08-10 10:59:37 +02:00
Marcin Niestroj
fcabe3a506 logging: fix immediate logging with multiple backends
va_list was initialized once and passed to log_backend_put_sync_string()
for each logging backend. State of such va_list was changed in each
execution, resulting in different va_list state to be passed for
consecutive log_backend_put_sync_string() calls. This results in
undefined behavior and program crashes.

Use va_copy() to copy va_list state to temporary variable for each
logging backend and keep original va_list untouched. Pass such temporary
state to log_backend_put_sync_string() to make sure state for all
consecutive calls does not change.

Signed-off-by: Marcin Niestroj <m.niestroj@grinn-global.com>
2020-08-10 10:58:43 +02:00
Jukka Rissanen
0ca346f0b9 net: config: Print interface index with pointer
Instead of just showing network interface pointer, print also
network interface index. This helps debugging.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2020-08-10 09:07:42 +03:00
Kamil Kasperczyk
e4d20caee9 drivers: nrf: Added config option for OUI.
Support for defining vendor specific OUI (Organizationally
Unique Identifier) was added.

Signed-off-by: Kamil Kasperczyk <kamil.kasperczyk@nordicsemi.no>
2020-08-10 08:42:21 +03:00
Trond Einar Snekvik
af944ff665 Bluetooth: Mesh: Heartbeat period starts at tx
Starts the periodic heartbeat publish period at the end of the
publication, instead of at the ordering time. This ensures that the
heartbeat period doesn't get shortened by other enqueued messages.

Signed-off-by: Trond Einar Snekvik <Trond.Einar.Snekvik@nordicsemi.no>
2020-08-09 09:33:00 -04:00
Kamil Kasperczyk
be372872ea net: openthread: radio: Added sleep to tx as hw radio cap.
OT_RADIO_CAPS_SLEEP_TO_TX was added as a radio capability
for ieee802154 radio. Waiting on RX state before transmission
is alternative condition to OT_RADIO_CAPS_SLEEP_TO_TX support
as it was a result of OpenThread architecture and is actually
not needed in the Zephyr. Such change lets to start transmission
faster and lower SED device power consumption in active state
about 30%.

Signed-off-by: Kamil Kasperczyk <kamil.kasperczyk@nordicsemi.no>
2020-08-09 09:32:37 -04:00
Jukka Rissanen
70dae094ba net: tcp2: Make new TCP stack the default
Enable the new TCP stack as a default one in order to get people
to use it before Zephyr 2.4 is released.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2020-08-09 09:32:15 -04:00
Martí Bolívar
f39fdc410d Kconfig.zephyr: help text fixes
The text "need by some platforms" in various CONFIG_BUILD_OUTPUT_FOO
help is grammatically incorrect. Fix this by rewording.

Move 'config BUILD_NO_GAP_FILL' to before the list of 'config
BUILD_OUTPUT_FOO' definitions instead of sandwiching it inside.

Fix the extension of the stripped binary.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2020-08-09 09:31:36 -04:00
Alexander Kozhinov
5423b80163 samples: net: sockets: civetweb
change project name to meaningfull one
add board name to system info

Signed-off-by: Alexander Kozhinov <AlexanderKozhinov@yandex.com>
2020-08-08 22:12:16 -04:00
Alexander Kozhinov
2505daf28f soc: arm: stm32h7: remove explicit full libc selection
remove explicit full libc selection
	following same approach as for stm32f7 series

Signed-off-by: Alexander Kozhinov <AlexanderKozhinov@yandex.com>
2020-08-07 10:01:34 -04:00
Anas Nashif
ce59510127 arch: xip: cleanup XIP Kconfig
unify how XIP is configured across architectures. Use imply instead of
setting defaults per architecture and imply XIP on riscv arch and remove
XIP configuration from individual defconfig files to match other
architectures.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2020-08-07 09:50:22 -04:00
Anas Nashif
5804edafe5 tests: misc: back to whitelisting mcuboot test
Need a better way to support filters here.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2020-08-07 09:50:22 -04:00
Anthony Smigielski
cfa9b7a260 boards: arm: edit ruuvi-ruuvitag
Adjust name to be shown in Supported Boards on Documents page.

Signed-off-by: Anthony Smigielski <thebasti0ncode@gmail.com>
2020-08-07 08:36:36 -05:00
Loic Poulain
ac45ad8830 drivers: wifi: eswifi: Fix unused variable in scan parsing
ret variable is not used.

Signed-off-by: Loic Poulain <loic.poulain@linaro.org>
2020-08-07 06:58:18 -05:00
Loic Poulain
5283a2be98 drivers: wifi: eswifi: fix dead code in ipv4 parsing
unsigned byte value is initialized to -1 and so never satisifies
the while condition, leading to broken ipv4 parsing (dead code).
Fix this by making byte value signed.

Reported by coverity #27326.

Signed-off-by: Loic Poulain <loic.poulain@linaro.org>
2020-08-07 06:58:18 -05:00
Kumar Gala
a15c8717e3 cmake: Set TOOLCHAIN_ARCH based on OS_PLATFORM
To support a host environment of aarch64 (arm64) or x86_64 set
TOOLCHAIN_ARCH based on what OS_PLATFORM reports (which Linux will be
result of 'uname -m').

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-08-07 06:54:18 -05:00
Peter A. Bigot
76ed20b268 doc: releases: 2.4: note SPI gpio CS active level config change
The change to use devicetree instead of the config option will break
anybody who has a devicetree that doesn't include the proper active
level for cs-gpios (which is not zero).

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2020-08-07 06:53:12 -05:00
Ioannis Glaropoulos
13cdeeedc0 tests: arch: arm: add a test for no-multithreading case for Cortex-m
Add a test that verifies basic ARCH-level functionality
when building Zephyr without support for multithreading.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-08-07 13:06:04 +02:00
Ioannis Glaropoulos
fa04bf615c arch: arm: cortex-m: hw stack protection under no multi-threading
This commit adds the support for HW Stack Protection when
building Zephyr without support for multi-threading. The
single MPU guard (if the feature is enabled) is set to
guard the Main stack area. The stack fail check is also
updated.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-08-07 13:06:04 +02:00
Ioannis Glaropoulos
4338552175 arch: arm: cortex-m: introduce custom switch to main function
For the case of building Zephy with no-multithreading
support (CONFIG_MULTITHREADING=n) we introduce a
custom (ARCH-specific) function to switch to main()
from cstart(). This is required, since the Cortex-M
initialization code is temporarily using the interrupt
stack and main() should be using the z_main_stack,
instead. The function performs the PSP switching,
the PSPLIM setting (for ARMv8-M), FPU initialization
and static memory region initialization, to mimic
what the normal (CONFIG_MULTITHREADING=y) case does.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-08-07 13:06:04 +02:00
Ioannis Glaropoulos
e9a85eec28 arch: arm: cortex-m: extract common code block into a static function
We extract the common code for both multithreading and
non-multithreading cases into a common static function
which will get called in Cortex-M archictecture initialization.
This commit does not introduce behavioral changes.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-08-07 13:06:04 +02:00
Ioannis Glaropoulos
1a5390f438 arch: arm: cortex-m: fix the accounted size of IRQ stack in reset.S
This patch is simply adding the guard area (if applicable) to
the calculations for the size of the interrupt stack in reset.S
for ARM Cortex-M architecture. If exists, the GUARD area is
always reserved aside from CONFIG_ISR_STACK_SIZE, since the
interrupt stack is defined using the K_KERNEL_STACK_DEFINE.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-08-07 13:06:04 +02:00
Ioannis Glaropoulos
60bd51aa37 kernel: init: allow custom switch to main for no-multithreading case
Certain architectures, such as ARM Cortex-M require a custom
switch to main(), in case the case we build Zephyr without
support for multithreading (CONFIG_MULTITHREADING=n). So as
to keep the change to kernel/init.c as unintrusive as
possible, we install an ARCH-specific hook in z_cstart(),
which gets called for architectures that require this
customized switch to main() function.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-08-07 13:06:04 +02:00
Kamil Kasperczyk
27ed1c3e13 net: openthread: radio: Removed retranssmisions from radio caps.
Zephyr platform does not support MAC retransmissions on its own,
so OT_RADIO_CAPS_TRANSMIT_RETRIES capability was removed.
It should not be enabled basing on IEEE802154_HW_CSMA support,
as these are quite seperate features. Current implementation
assumes that platform performs retransmissions on its own,
what is not provided and leads to lack of MAC retransmissions.

Signed-off-by: Kamil Kasperczyk <kamil.kasperczyk@nordicsemi.no>
2020-08-07 12:35:20 +02:00
Hubert Miś
3182af00d7 boards: Move 802.15.4 SOC configuration from Nordic boards to SOCs
IEEE 802.15.4 is available for each board with Nordic SOC implementing
this protocol. Because of that protocol configuration shall be tied to
SOC instead of board.

Signed-off-by: Hubert Miś <hubert.mis@nordicsemi.no>
2020-08-07 11:56:35 +02:00
Jukka Rissanen
b143213dc1 net: tcp2: Remove the temporary connection handler
We need to remove the temporary connection handler after the
connection is established.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2020-08-07 10:35:48 +03:00
Jukka Rissanen
18b145a5d5 tests: net: poll: Increase the TX/RX pkt counts and MAX_CONN
TCP2 uses slightly more network packets and connections in the
socket poll test, so increase the values for the test.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2020-08-07 10:35:48 +03:00
Jukka Rissanen
5007509c3f tests: net: tcp: These unit tests are only for legacy TCP
Run the TCP tests in tests/net/tcp only for legacy TCP stack.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2020-08-07 10:35:48 +03:00