Commit Graph

42889 Commits

Author SHA1 Message Date
Joakim Andersson
97ec4a775e Bluetooth: Host: Notify L2CAP that security change failed
Notify L2CAP when pairing procedure fails during SMP pairing
process. L2CAP needs to be notified so that it can cancel
ongoing connection-oriented channel requests.

Rename bt_l2cap_encrypt_change to bt_l2cap_security_changed and
call it from bt_conn_security_changed always, so that L2CAP
is informed when changing security fails.

This also fixes security_changed conn callback not called when
auth_complete returns an error.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2020-08-06 11:47:03 +02:00
Joakim Andersson
42b4719947 Bluetooth: ATT: Avoid warning when no ATT request is pending
Avoid warning in att_handle_rsp, only call this when there is a
pending ATT request. This avoids a warning happens when elevating
security fails but higher security had not been requested by an
ATT request.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>

squash! Bluetooth: ATT: Remove warning when no ATT process pending
2020-08-06 11:47:03 +02:00
Joakim Andersson
53435fdd8f Bluetooth: shell: Add sec_level argument to l2cap connect command
Add argument to set required security level when connection
an L2CAP channel.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2020-08-06 11:47:03 +02:00
Joakim Andersson
521034c63d Bluetooth: L2CAP: Release channel when connect request fails
Release the l2cap channel when sending the l2cap connect request
fails.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2020-08-06 11:47:03 +02:00
Joakim Andersson
5f00ee1e88 Bluetooth: L2CAP: Elevate security level if requested by application
Elevate the security level before sending the connection request if
the application has set a required security level on the channel.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2020-08-06 11:47:03 +02:00
Joakim Andersson
9c3d006471 Bluetooth: L2CAP: Elevate security level when connect request denied
Elevate the security level of the connection when the l2cap channel
connect request is denied with encryption or authentication error
code.
The l2cap channel required_sec_level was used, but this is not
correct as this is set by the user of the API. This resulted in
the call to bt_conn_set_security seeing that the current security
level was already set, decide there is nothing to be done and return
success.

Fixes: #27220

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2020-08-06 11:47:03 +02:00
Joakim Andersson
81e297aa88 Bluetooth: L2CAP: Use safe for-each loop where channel can be removed
Use safe for-each loop in bt_l2cap_encrypt_change since dynamic
channels with pending connection-oriented channel requests will
be canceled and removed from the list if the encryption change
failed.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2020-08-06 11:47:03 +02:00
Joakim Andersson
091565e8d3 doc: relnotes: Document change in L2CAP RX MTU configuration
Document change in how L2CAP RX MTU is set through Kconfig options.
Document recommended new value for applications that have set
CONFIG_BT_RX_BUF_LEN.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2020-08-06 11:46:48 +02:00
Joakim Andersson
1d66c1e491 Bluetooth: host: Use CONFIG_BT_L2CAP_RX_MTU always to set L2CAP RX MTU
Remove dependency on CONFIG_BT_ACL_FLOW_CONTROL and use
CONFIG_BT_L2CAP_RX_MTU always to set L2CAP RX MTU.
The ATT MTU is set from two different KConfig options depending
on if CONFIG_BT_ACL_FLOW_CONTROL is enabled, which makes it
a confusing option and hard to provide a conf file that
supports multiple board configurations.

This changes the behavior when CONFIG_BT_ACL_FLOW_CONTROL and
CONFIG_BT_BUF_RX_LEN was used to set the L2CAP RX MTU, and by
extension the ATT MTU.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2020-08-06 11:46:48 +02:00
Joakim Andersson
6e2ffd28d0 samples: smp_svr: Fix configuration when BT_HCI_ACL_FLOW_CONTROL is on
Fix smp_svr Bluetooth configuration for when BT_HCI_ACL_FLOW_CONTROL
option has been enabled. In this case the CONFIG_BT_L2CAP_RX_MTU
is used instead of CONFIG_BT_RX_BUF_LEN to set the RX MTU.
This lead to a negotiated MTU of 23, which is not supported by
the SMP_SVP protocol.

Removed the board specific configuration files as these are just
duplications of the overlay-bt.conf or overlay-bt-tiny.conf and
the readme specifies how these should be used.

Reduced the TX MTU to end up with the same value as the RX MTU,
CONFIG_BT_RX_BUF_LEN - 4 (HCI ACL header) - 4 (L2CAP header).

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2020-08-06 11:46:48 +02:00
Andrew Boie
d0e4b24453 bluetooth: use kernel stacks
These threads don't run in user mode, save some memory if
userspace is enabled.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2020-08-05 21:30:32 -04:00
Greg Leach
41da0769c1 sensor: Add Silabs SI7055 support
Add support for the Silabs SI7055 temperature sensor

Signed-off-by: Greg Leach <greg.leach@lairdconnect.com>
2020-08-05 14:50:52 -05:00
Andrei Gansari
66f454acd4 samples: flash_shell: remove obsolete command function
Removes 'flash' command function that displays the command's subset.
Command's subset will still be displayed in current code.

Signed-off-by: Andrei Gansari <andrei.gansari@nxp.com>
2020-08-05 15:30:20 -04:00
Andrei Gansari
87eeb64370 samples: flash_shell: print 16 bytes of flash
On large memory areas printing 8 bytes/line is not enough.
Increased printing 16 bytes per line.

Signed-off-by: Andrei Gansari <andrei.gansari@nxp.com>
2020-08-05 15:30:20 -04:00
Andrei Gansari
19975af460 samples: flash_shell: unaligned and pattern write
Adds unaligned and pattern write functionality.
The reason this was added is chips with large pages, e.g. 256 can't be
normaly writen via shell, thus the need to write a pattern with any
length to a memory area.
The unaligned write command allows writing a data frament in any place
in memory, the data backup, protection, erasing and writing is
automaticaly handled. This makes it easier to test all flash controller
functionality in one command, also write any persistent data to any
flash address.

Signed-off-by: Andrei Gansari <andrei.gansari@nxp.com>
2020-08-05 15:30:20 -04:00
Andrzej Puzdrowski
4d4455b174 include/drivers/flash: document on the unrestricted source buffers
Document unrestricted source buffer location while writing to
the flash.

Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
2020-08-05 15:27:46 -04:00
Andrzej Puzdrowski
1d8cf859db include/drivers/flash: document on the unrestricted alignment of reads
Unaligned read-out capability become fact among all drivers.
Let's cut this in stone as API requirement.

fixes #16439

Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
2020-08-05 15:27:46 -04:00
Andrew Boie
039c5f62ee usb: use kernel stacks
These threads don't run in user mode. Save some memory
if userspace is enabled.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2020-08-05 15:21:51 -04:00
Andrzej Puzdrowski
52d3701aba manifest: update mcuboot to upmerged to upstream 1cb076c
MCUBoot was synchronized with upsteram
https://github.com/JuulLabs-OSS/mcuboot/commit/1cb076c

Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
2020-08-05 14:11:09 -05:00
Jett Rink
63283621ea ztest: clean up comments, strings, and interface
Clean up comment typos and wording for expect data functions.

Add a cast to (void *) to match convention set in expect value;
this allows the caller to avoid casting on every single call.

Signed-off-by: Jett Rink <jettrink@google.com>
2020-08-05 15:05:44 -04:00
Jett Rink
03c0990275 ztest: fix failure when exceeding mock parameter count
If you tried to use more mock parameters than were set in
CONFIG_ZTEST_PARAMETER_COUNT, you would get a random seg fault somewhere
unrelated to the mocking parameter as we would use memory past an array
bounds.

Signed-off-by: Jett Rink <jettrink@google.com>
2020-08-05 15:05:44 -04:00
Jett Rink
a6e1706269 ztest: increase default mock parameter count
If one enables mocking, then they most likely want more than 1 mockable
or verifiable parameter by default. Bump the default number of mockable
parameters to 10 to handle most cases without needing to touch an
additional Kconfig option.

Signed-off-by: Jett Rink <jettrink@google.com>
2020-08-05 15:05:44 -04:00
Jeremy LOCHE
0fe6707199 drivers: clock_control: stm32h7 add HSI divisor support
Add HSI divisor support for clock tree configuration.
Removed HSI calibration trimming to comply with
common STM32 implementation and use reset default
configuration instead.

Signed-off-by: Jeremy LOCHE <lochejeremy@gmail.com>
2020-08-05 16:22:53 +02:00
Jeremy LOCHE
ea6580cdcd drivers: clock_control: stm32h7 change set flash latency
Updated flash latency setting to comply with
common stm32 implementation and datasheet.

Signed-off-by: Jeremy LOCHE <lochejeremy@gmail.com>
2020-08-05 16:22:53 +02:00
Jeremy LOCHE
f3bdf8ae91 drivers: clock_control: stm32h7 add preprocessor clock check
Adds preprocessor clock feasibility check to avoid setting
too high clocks to SYSCLK,AHB,APBx buses.

Also checks if CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC
matches with the desired clock configuration by
the M7 core.

Signed-off-by: Jeremy LOCHE <lochejeremy@gmail.com>
2020-08-05 16:22:53 +02:00
Jeremy LOCHE
63611264c4 drivers: clock_control: stm32h7 fixed inverted assertion
Fixed wrong usage of assertions.
Assertions should check that the value is in range and
not out of range.

Signed-off-by: Jeremy LOCHE <lochejeremy@gmail.com>
2020-08-05 16:22:53 +02:00
Jeremy LOCHE
a686576348 drivers: clock_control: stm32h7 fix high frequency setting
Fixes #27212 by setting the AHB/APBx dividers
prior to configuring the PLL as clock source.

Prevents going over the limits of APBx clocks when
choosing the PLL as system clock source for
high frequencies (close to 480MHz)

Signed-off-by: Jeremy LOCHE <lochejeremy@gmail.com>
2020-08-05 16:22:53 +02:00
Kamil Kasperczyk
e5c65ebe2e net: openthread: Added config for OpenThread version selection.
Config options used for selecting OpenThread stack version
were added.

Signed-off-by: Kamil Kasperczyk <kamil.kasperczyk@nordicsemi.no>
2020-08-05 15:20:52 +02:00
Eug Krashtan
de3c5a2684 dts: arm: Add STM32F412xE chip definition
New dtsi file for STM32F412xE chips

Signed-off-by: Eug Krashtan <eug.krashtan@gmail.com>
2020-08-05 08:11:03 -05:00
Torsten Rasmussen
c9a78257b2 doc: Zephyr module build settings
This commit adds description of the build setting support in the
module.yml file.

It is described how additional board_root, soc_root, dts_root, and
arch_root can be appended to the build system.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2020-08-05 08:06:07 -04:00
Torsten Rasmussen
0a4b0bbb7c doc: zephyr module description restructure
This commit restructures the Zephyr module description.
It places the description of the module yaml file in a dedicated section
as this file is common to module inclusion both when using `west` and
without `west`.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2020-08-05 08:06:07 -04:00
Torsten Rasmussen
25d57ba5af modules: adding support for ROOTs definitions in zephyr/module.yml
Fixes: #25215

This commit introduces the possibility of defining ROOTs in a Zephyr
module and have it automatically appended to list of other ROOTs.
Supported with this commit:
- BOARD_ROOT
- SOC_ROOT
- DTS_ROOT
- ARCH_ROOT

In order to support this in Zephyr module files, the detection of west
has been moved to dedicated west.cmake file and included immediately
after python.cmake.

Also the inclusion of zephyr_modules.cmake has moved before first use
of BOARD_ROOT.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2020-08-05 08:06:07 -04:00
Torsten Rasmussen
14b60200bd cmake: allowing list of ARCH_ROOTs
This commit aligns ARCH_ROOT to conform to BOARD_ROOT, DTS_ROOT,
SOC_ROOT that all allows list of directories.

Also it avoid code, such as:
if(BOARD STREQUAL my_board_using_out_of_tree_arch)
  set(ARCH_ROOT some/out/of/tree/arch/path)
endif()
in application CMakeLists.txt.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2020-08-05 08:06:07 -04:00
Torsten Rasmussen
bb3946666f cmake: fix include directories to work with out-of-tree arch
Include directories for ${ARCH} is not specified correctly.
Several places in Zephyr, the include directories are specified as:
${ZEPHYR_BASE}/arch/${ARCH}/include
the correct line is:
${ARCH_DIR}/${ARCH}/include
to correctly support out of tree archs.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2020-08-05 08:06:07 -04:00
Torsten Rasmussen
5f7cc8ded9 cmake: kconfig: support for multiple SOC_ROOT
This commit introduces support for multiple SOC_ROOT.

This means that additional SOC_ROOTs specified using -DSOC_ROOT as
argument to CMake will be forming a list together with ${ZEPHYR_BASE}.

This allows for greater flexibility, as developers can now specify
multiple out-of-tree SoCs and not worry about the SoC used for the
board they compile for.

Also it avoid code, such as:
if(BOARD STREQUAL my_board_using_out_of_tree_soc)
  set(SOC_ROOT some/out/of/tree/soc/path)
endif()
in application CMakeLists.txt.

Finally, allowing multiple SOC_ROOTs prepares for specifying SOC_ROOTs
in Zephyr modules.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2020-08-05 08:06:07 -04:00
Torsten Rasmussen
01f55a4e53 cmake: relocation of generated Kconfig file for Zephyr modules
This commit relocates the generated Kconfig.modules file from
${CMAKE_BINARY_DIR} into ${CMAKE_BINARY_DIR}/Kconfig.

This is done as preparation of multiple SOC and ARCH root support.

A single Kconfig folder inside ${CMAKE_BINARY_DIR} helps to keep the
build folder tidy.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2020-08-05 08:06:07 -04:00
Torsten Rasmussen
13153678cb xtensa: SOC_DIR usage cleanup.
This commit is a cleanup of the SOC_DIR usage.
This cleanup is a preparation for supporting a list of SOC_ROOT instead
of just allowing one SOC_ROOT.

Supporting a list of SOC_ROOTs allows for placing of SOC in Zephyr
modules. It also aligns how BOARD_ROOT supports a list, and thus usage
of n_ROOT in Zephyr becomes more consistent.

This commit introduces the following changes:
- soc/xtensa/intel_apl_adsp/bootloader.cmake removed.
  This file is not included elsewhere in the build system, and appears
  to be leftover from #25133. Almost identical content is found in
  `soc/xtensa/intel_apl_adsp/commonbootloader.cmake`
- Changed xtensa/intel_apl_adsp to named library. Using a named library
  allow fetching library files based on library name without the need to
  know build path (and thus removes the need for knowing `${SOC_DIR}`).
- Changed SOC_DIR/ARCH/SOC_FAMILY to use CMAKE_CURRENT_LIST_DIR for
  configure time commands, as CMake code is already located inside this
  path.
- Using generator expression for library files from other CMake targets.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2020-08-05 08:06:07 -04:00
Dominik Ermel
97ca27797f tests/posix/fs: Fix missing close in error paths
Missing close in error paths trigger Coverity to issue "Resource Leak"
errors.

Fixes #27328
Coverity-CID: 211586

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2020-08-05 08:04:29 -04:00
Dominik Ermel
e606801664 tests/posix/fs: Fix close of bad file descriptor
close in error handling attempts to close incorrect file descriptor.

Fixes #27327
Coverity-CID: 211585

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2020-08-05 08:04:29 -04:00
Andrew Boie
9598a5fbff ztest: use kernel stack for cpuhold
These threads don't run in user mode, save some memory if
userspace is not enabled.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2020-08-05 13:21:38 +02:00
Dag Bjarvin
e93963b719 Bluetooth: controller: Add ll_adv_aux_set_clear function
Add ll_adv_aux_set_clear, add to bsim test

Signed-off-by: Dag Bjarvin <Dag.Bjarvin@nordicsemi.no>
2020-08-05 12:52:42 +02:00
Vinayak Kariappa Chettimada
77b820a9ea Bluetooth: controller: Fix incorrect use of ticker user id
Fix incorrect use of LLL ticker user id in ULL_LOW execution
context.

Regression introduced in commit 23ef75f6d9 ("Bluetooth:
controller: split: Fix Low Latency Prepare Done").

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-08-05 12:02:05 +02:00
Vinayak Kariappa Chettimada
139eafacca drivers: flash: nrf: Fix regression with BT_CTLR_LOW_LAT option
Fix a regression that caused flashing on nRF51x Series to stall
the Bluetooth low energy controller and flashing under
BT_CTLR_LOW_LAT option.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-08-05 12:02:05 +02:00
Aleksandr Koltsoff
0f44669ceb cmake: sort shield list and improve indent
Currently, when usage.cmake is run, the shield list is in construction
order, making it difficult to locate the shield of interest. This sorts
the list upon display and also makes the display indent consistent.

Signed-off-by: Aleksandr Koltsoff <czr@iki.fi>
2020-08-05 12:01:49 +02:00
Jakub Rzeszutko
ea9fe2f5ec tests: shell_flash: fix test case scenario
The previous test had two defects. First, the shell command was called
before the backend was initialized.

Second, the test compared the string from shell's backend buffer with
the reference string using strncmp function. This test result was very
susceptible to the time when it was performed because of data contained
in the buffer. Apart from expected string there was data like escape
codes needed to control the terminal.

To fix it, function strncmp was replaced by strstr, which
searches for the reference strings regardless of the characters
controlling the terminal.

Signed-off-by: Jakub Rzeszutko <jakub.rzeszutko@nordisemi.no>
2020-08-05 12:01:14 +02:00
Jukka Rissanen
e73e932153 net: tcp2: Check data length properly
The original return type of tcp_data_get() was unsigned and the
return value <0 was not checked properly.

Fixes #25723
Coverity-CID: 210559

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2020-08-05 08:50:42 +03:00
Aastha Grover
2d9b459f15 syscalls: Add system call for cache flush & invalidate
include/cache.h: System calls declaration and implementation
kernel/cache_handlers.c: Defination of verification functions

Signed-off-by: Aastha Grover <aastha.grover@intel.com>
2020-08-04 17:26:45 -04:00
Michael Hope
d5e1753eb6 boards: arm: document and enable the DAC for the Arduino Zero
The previous commits added the SAM0 DAC driver.  Now document and
enable it, including enabling it in the DAC sample.

Signed-off-by: Michael Hope <mlhx@google.com>
2020-08-04 16:08:48 -05:00
Michael Hope
2b6783aa15 drivers: dac: add a driver for the SAM0 DAC
The Atmel SAM0 DAC is a single channel 10 bit DAC with selectable
reference.

Signed-off-by: Michael Hope <mlhx@google.com>
2020-08-04 16:08:48 -05:00
Michael Hope
5f982e3bc1 dts: atmel: add definitions for the SAM0 DAC
The peripheral is the same on the SAMD20 and SAMD21 except for
different clock and interrupt settings.  There is no DAC on the SAMR21.

Leave disabled by default as the DAC is fairly power hungry.

Signed-off-by: Michael Hope <mlhx@google.com>
2020-08-04 16:08:48 -05:00