Commit graph

48761 commits

Author SHA1 Message Date
Joakim Andersson
4a25fb7136 Bluetooth: host: Remove dependency on host emulation for debug ECC keys
Remove the depency on host emulation of ECC for the Use debug keys
option.
This allows the application to use debug keys without shifting the
ECC from the controller to the host, which could potentially alter
the behavior of the application and make debugging this way less useful.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2021-02-18 13:50:22 +01:00
Joakim Andersson
e0787bf31b Bluetooth: host: Add definitions for generate DHKey v2 commands
Add definitions for the HCI command LE Generate DHKey v2.
This command includes the option to use the debug private key.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2021-02-18 13:50:22 +01:00
Joakim Andersson
9235b1b8b3 Bluetooth: Refactor ECC emulation supported commands bits
Refactor the ECC emulation setting the supported command bits in order
to group the supported commands together with the implementation of
these commands.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2021-02-18 13:50:22 +01:00
Morten Priess
5412f61ac6 Bluetooth: controller: Introduce separate done memq
In order to avoid stalling LLCP procedures blocking done event
processing, done events are now put in a separate memory queue,
and processed by own mayfly function.
This ensures prepare/done refcount balancing and prevents assertion
due to lack of done events.

Signed-off-by: Morten Priess <mtpr@oticon.com>
2021-02-18 13:42:43 +01:00
Andrzej Kaczmarek
def2d7cf4e Bluetooth: controller: Fix reset with ext adv enabled
We need to make sure aux is cleared on reset, otherwise we may end up
with legacy advertising with aux.

Signed-off-by: Andrzej Kaczmarek <andrzej.kaczmarek@codecoup.pl>
2021-02-18 13:29:37 +01:00
Andrzej Kaczmarek
74d6b9fae9 Bluetooth: controller: Improve readability
Create shortcuts to set and lll to make code easier to read.

Signed-off-by: Andrzej Kaczmarek <andrzej.kaczmarek@codecoup.pl>
2021-02-18 13:29:37 +01:00
Andrzej Kaczmarek
9d8503c3b1 Bluetooth: controller: Initialize PDUs in set #0 on reset
Set #0 is used for legacy advertising when legacy HCI commands are used
and in such case it's possible to enable advertising without any prior
configuration. This means we should better always have PDUs in set #0
initialized with default empty data.

Signed-off-by: Andrzej Kaczmarek <andrzej.kaczmarek@codecoup.pl>
2021-02-18 13:29:37 +01:00
Andrzej Kaczmarek
55698d26b6 Bluetooth: controller: Remove all advertising sets on reset
We should remove all advertising sets when resetting controller. It's
enough to just clear is_created flag for each set.

Signed-off-by: Andrzej Kaczmarek <andrzej.kaczmarek@codecoup.pl>
2021-02-18 13:29:37 +01:00
Andrzej Kaczmarek
d5fc34491c Bluetooth: controller: Disable advertising before cleanup on reset
It seems more reasonable to first disable all advertising sets before
final cleanup.

Signed-off-by: Andrzej Kaczmarek <andrzej.kaczmarek@codecoup.pl>
2021-02-18 13:29:37 +01:00
Piotr Szkotak
feccb8f59f samples: boards: nrf: ieee802154: Optimize power on nRF53
Add an overlay disabling UART in the prj.conf.

Signed-off-by: Piotr Szkotak <piotr.szkotak@nordicsemi.no>
2021-02-18 15:24:30 +03:00
Gerard Marull-Paretas
0b07077a5c drivers: pwm: stm32: fix expansion-to-defined warning
The definition to check if timers have up to 6 channels was causing
warnings when -Wexpansion-to-defined was enabled.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2021-02-18 07:19:39 -05:00
Kumar Gala
c1e1273df2 drivers: serial: native_posix: Convert 2nd UART to be devicetree based
The first uart instance was already devicetree based.  To be consistent
convert the second instance to also be devicetree based.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2021-02-18 09:06:21 +01:00
Harry Jiang
e287fd7ab2 boards: nucleo_h743zi: Add the IWDG support
This patch enable the independent watchdog support for the
NUCLEO-H743ZI board.

Signed-off-by: Harry Jiang <explora26@gmail.com>
2021-02-17 16:19:21 -06:00
Harry Jiang
5adaba0760 drivers: watchdog: iwdg_stm32: Add support for STM32H7xx SoC
Add the IWDG driver support for STM32H7xx SoC.

Signed-off-by: Harry Jiang <explora26@gmail.com>
2021-02-17 16:19:21 -06:00
Harry Jiang
f8251f3bde dts: arm: st: h7: Add the IWDG1 nodes to STM32H7xx SoC
Add the IWDG1 nodes to STM32H7xx Series Soc

Signed-off-by: Harry Jiang <explora26@gmail.com>
2021-02-17 16:19:21 -06:00
Erwan Gouriou
5d2150efa4 drivers/interrupt_controller: stm32: Make use of DEVICE_DT API
Convert stm32 interrupt controller driver to DEVICE_DT API.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2021-02-17 14:26:23 -06:00
Erwan Gouriou
e987d51815 dts: stm32: Add exti nodes to stm32 series
Add exti node for each stm32 series and matching binding description.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2021-02-17 14:26:23 -06:00
Trond Einar Snekvik
135af76666 Bluetooth: Mesh: Reduce proxy rx buffer to an exact fit
Removes the 3 byte padding at the end of each proxy connection's rx
buffer.

Fixes #18509.

Signed-off-by: Trond Einar Snekvik <Trond.Einar.Snekvik@nordicsemi.no>
2021-02-17 23:16:29 +03:00
Ioannis Glaropoulos
95e6da4716 drivers: sensor: nrf: fix dependencies for QDEC_NRFX
QDEC_NRFX shall depend on either HAS_HW_NRF_QDEC,
or HAS_HW_NRF_QDEC0, since in the nRF5340 Application
core definition we select HAS_HW_NRF_QDEC0 instead of
HAS_HW_NRF_QDEC.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2021-02-17 22:34:20 +03:00
Ioannis Glaropoulos
007c8539f6 dts: arm: nordic: add QDEC nodes for nrf5340
Add device tree nodes for QDEC peripheral instances
for nRF5340 Application core.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2021-02-17 22:34:20 +03:00
Ioannis Glaropoulos
ce134a7970 soc: arm: nrf5340: add QDEC capability in nRF5340 SoC definition
Add Kconfig options to signify that the nRF5340
HW has support for QDEC instances. Select the
options in the nRF5340 Application core definition.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2021-02-17 22:34:20 +03:00
Erwan Gouriou
5ba5dbc333 soc: stm32: Fix backup_sram clock enable
This driver missed #32228 PR that converted STM32 drivers
to use DEVICE_DT_GET for clock activation.
Due to the renaming of STM32_CLOCK_CONTROL_NAME to
STM32_CLOCK_CONTROL_NODE, driver could not compile anymore

Fix this.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2021-02-17 12:24:14 -06:00
Richard McCrae
f8705a6db7 net: sockets: Add EAI error code translations
Added EAI_SOCKTYPE and EAI_FAMILY DNS error code translations

Signed-off-by: Richard McCrae <richard.mccrae@nordicsemi.no>
2021-02-17 18:54:12 +02:00
Øyvind Rønningstad
edfaa3998b tfm: Change TFM_BL2 config from a choice to a bool
The choice allowed for using TFM's own default. We now need full
knowledge over whether BL2 is enabled or not (e.g. to do signing),
so remove this option and simplify to a bool.

Signed-off-by: Øyvind Rønningstad <oyvind.ronningstad@nordicsemi.no>
2021-02-17 19:42:44 +03:00
Peter Bigot
8f8cdc18c4 gpio: clean up flags related to logical initialization
The wrapper function detects when a logic-level initial value requires
inverting the physical level initial value, and updates the flags to
effect the necessary change.  However where logical and physical
levels are not inverted the flag requesting logic-level initialization
was left in place and passed to a driver that got confused by it.

Clear the flag after its purpose has been addressed.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2021-02-17 09:11:29 -06:00
Jukka Rissanen
7699563d81 net: mgmt: Use proper coop thread priority value
If user sets CONFIG_NUM_PREEMPT_PRIORITIES=0, then the priority
of the net_mgmt thread will be -1 which is the same as idle thread.
This will trigger assert in kernel as then the minimum coop priority
is -2 in this case. Remove the net_mgmt thread priority setting from
Kconfig file as it is low value and set the coop thread priority
the same way as other network threads are doing it.

Fixes #32375

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2021-02-17 16:42:15 +02:00
Peter Bigot
bdba2e63f6 samples: nrf: system_off: add RAM retention example for nRF52
Add an object to retain data across both reboots and entry to
SYSTEM_OFF.  This only works on nRF52, since nRF51 and nRF53 require
different low-level operations to configure RAM retention.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2021-02-17 14:34:31 +01:00
Gerard Marull-Paretas
42cf4c76ab tests: drivers: enable MAX6675 build
Enable MAX6675 sensor for the build_all test.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2021-02-17 14:33:29 +01:00
Gerard Marull-Paretas
a0a8a47fcd samples: sensor: add MAX6675 sample application
Add a sample application to test MAX6675 cold-junction-compensated
K-thermocouple to digital converter.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2021-02-17 14:33:29 +01:00
Gerard Marull-Paretas
cbc340c10c drivers: sensor: add support for MAX6675
Add support for MAX6675 cold-junction-compensated K-thermocouple to
digital converter.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2021-02-17 14:33:29 +01:00
Wealian Liao
24d9e31197 dts: npcx7: add support for npcx7m6fc & npcx7m7fc
Add support for Nuvoton npcx7m6fc & npcx7m7fc.

Signed-off-by: Wealian Liao <WHLIAO@nuvoton.com>
2021-02-17 14:33:03 +01:00
Alexander Wachter
9a5525c316 include: clock_control: Fix int return value
The return value of clock_control_get_status is a clock_control_status
enum, but in case the device is not ready, an int is returned.
This leads to compiler errors. Introduced a new enum value
CLOCK_CONTROL_STATUS_UNAVAILABLE and return it instead of -ENODEV.

Signed-off-by: Alexander Wachter <alexander.wachter@leica-geosystems.com>
2021-02-17 14:28:50 +01:00
Håkon Øye Amundsen
f52debbd8e modules: trusted-firmware-m: fix incorrect check of <option> args
'IPC' and 'REGRESSION' are passed to the <option>
argument of cmake_parse_arguments, hence they are always defined,
and 'if (DEFINED)' would always return TRUE.

Use 'if' directly instead of 'if DEFINED' to check if these
options are set or not.

Ref: NCSDK-7702

Signed-off-by: Håkon Øye Amundsen <haakon.amundsen@nordicsemi.no>
2021-02-17 15:04:58 +03:00
Håkon Øye Amundsen
c097690f2a modules: trusted-firmware-m: add kconfig to enable/disable partitions
Also update tfm module cmake to pass them to the trusted-firmware-m
build system.

Signed-off-by: Håkon Øye Amundsen <haakon.amundsen@nordicsemi.no>
2021-02-17 15:04:58 +03:00
Martin Åberg
88f478108d sparc: write through switched_from in arch_switch()
Write through switched_from in arch_switch() as required by the
switch protocol.

Also restructure the implementation to better match the template in
kernel_arch_interface.h, by removing a wrapper routine and instead
use CONTAINER_OF().

Fixes #32197

Signed-off-by: Martin Åberg <martin.aberg@gaisler.com>
2021-02-17 06:35:03 -05:00
Alexander Wachter
0c1877a999 ztest: fix z_assert_within() bounds
zassert_within should also compare on equality instead
of only greater/lower.
example:
zassert_within(1,1,0); // should return true
zassert_within(1,2,1); // should return true

Signed-off-by: Alexander Wachter <alexander@wachter.cloud>
2021-02-17 06:32:02 -05:00
Carlo Caione
a8b97075bf boards: qemu_cortex_a53_xip: Add Cortex-A53 XIP board
This is the copy of the QEMU Cortex-A53 board but with XIP support.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2021-02-17 14:13:10 +03:00
Carlo Caione
fadbe9d2f2 arch: aarch64: Add XIP support
Add the missing pieces to enable XIP for AArch64. Try to simulate the
XIP using QEMU using the '-bios' parameter.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2021-02-17 14:13:10 +03:00
Jacob Siverskog
3781d5f553 usb: mass storage: set thread stack size from Kconfig
allow user to select stack size depending on the situation.

Signed-off-by: Jacob Siverskog <jacob@teenage.engineering>
2021-02-17 11:49:52 +01:00
Anas Nashif
c7bc6380bd compiler: do not allow expansion-to-defined
'-Wexpansion-to-defined'
     Warn whenever 'defined' is encountered in the expansion of a macro
     (including the case where the macro is expanded by an '#if'
     directive).  Such usage is not portable.  This warning is also
     enabled by '-Wpedantic' and '-Wextra'.

This is enabled by default in llvm but not in gcc. Given that it is 'not
portable', lets disallow this in gcc and keep both compilers in sync.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-02-17 04:05:42 -05:00
Diwakar C
c860b86822 driver: peci: Wait until rx fifo gets filled up
While running certain peci command, observed when FW attempts
to read last byte (Response FCS), PECI host controller returned
“Read FIFO” empty. Since “Read FIFO” is empty FW didn’t read
the response FCS.

Due to this issue, FW getting corrupted response from the PECI
controller for all the subsequent PECI commands.

To address this issue, FW waits for “Read FIFO” filled up by
the PECI controller.

Signed-off-by: Diwakar C <diwakar.c@intel.com>
2021-02-17 04:05:11 -05:00
Hubert Miś
2f02ca0b39 tests: net: socket: SO_PROTOCOL socket option
This patch adds tests to verify getting SO_PROTOCOL socket option for
TCP, UDP, and TLS sockets.

Signed-off-by: Hubert Miś <hubert.mis@nordicsemi.no>
2021-02-17 10:36:58 +02:00
Hubert Miś
ce3dcf2394 net: socket: getsockopt SO_PROTOCOL implementation
This patch adds implementation of socket option used to get
protocol used for given socket (e.g. IPPROTO_TCP). This option
is not defined in POSIX, but it is Linux extension.

Signed-off-by: Hubert Miś <hubert.mis@nordicsemi.no>
2021-02-17 10:36:58 +02:00
Hubert Miś
a6e83eb769 tests: net: socket: SO_TYPE socket option
This patch adds tests to verify getting SO_TYPE socket option for
TCP, UDP, and TLS sockets.

Signed-off-by: Hubert Miś <hubert.mis@nordicsemi.no>
2021-02-17 10:36:58 +02:00
Hubert Miś
f6263c8143 net: socket: getsockopt SO_TYPE implementation
This patch adds implementation of socket option used to get
type of given socket (e.g. SOCK_STREAM).

Signed-off-by: Hubert Miś <hubert.mis@nordicsemi.no>
2021-02-17 10:36:58 +02:00
Øyvind Rønningstad
b49e395277 Kconfig.tfm: Add TFM_MCUBOOT_IMAGE_NUMBER config
Controlling the number of images in TFM's BL2/mcuboot.

Signed-off-by: Øyvind Rønningstad <oyvind.ronningstad@nordicsemi.no>
2021-02-17 10:07:17 +03:00
Daniel Leung
2011030600 tests: x86/info: enable testing for userspace
This adds some test cases to test with userspace enabled
to make sure will not be broken.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2021-02-16 19:08:55 -05:00
Daniel Leung
bd5da12297 tests: x86/info: enable for qemu_x86
This now can run on qemu_x86.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2021-02-16 19:08:55 -05:00
Daniel Leung
9bd5860440 boards: qemu_x86: use correct memory size
All x86 QEMU boards have a hard-coded memory size of 9MB which
does not corresponding with what is defined in device tree.
So make use of CONFIG_SRAM_SIZE to provide correct memory size.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2021-02-16 19:08:55 -05:00
Daniel Leung
8ed9fecbba boards: x86: enable MULTIBOOT_MEMMAP
QEMU provides multiboot information by default so we can
use the provided memory map to mark reserved physical
memory. Note that 64-bit requires Multiboot2 which
currently both Zephyr and QEMU do not support, hence
it's not enabled for qemu_x86_64.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2021-02-16 19:08:55 -05:00