Commit Graph

43873 Commits

Author SHA1 Message Date
Francois Ramu
fafb72f8ed drivers: dma: dmamux init needs k_malloc
The dmamux requires HEAP size definition, so that k_malloc
is valid. The HEAP size config is defined in the common for
any stm32 soc instead of specific to dma Kconfig

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2020-09-04 10:42:18 -05:00
Henrik Brix Andersen
40c71cbe47 boards: arm: arty: add reference to the v2c_daplink shield
Add a reference to the V2C-DAPLink shield from the Digilent Arty board
documentation.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2020-09-04 17:37:22 +02:00
Henrik Brix Andersen
c29c1cceb8 boards: shields: add support for the ARM Ltd. V2C DAPLink shield
Add support for the ARM DesignStart DAPLink board for Digilent Arty
S7/A7 (V2C DAPLink) shield.

This shield is designed to be used along with the ARM Cortex-M1/M3
DesignStart FPGA reference designs running on the Digilent Arty.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2020-09-04 17:37:22 +02:00
Henrik Brix Andersen
3ffb779865 boards: arm: arty: add missing default for enabling SPI support
Add missing default for enabling CONFIG_SPI if CONFIG_FLASH is
enabled. This is needed for CONFIG_SPI_NOR.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2020-09-04 17:37:22 +02:00
Henrik Brix Andersen
4c57f3400a boards: arty: add support for daplink qspi mux
The ARM Cortex-M1/M3 DesignStart FPGA reference designs support booting
from an off-board, memory-mapped QSPI NOR flash device. The V2C DAPlink
shield from ARM Ltd. provides support for this feature.

If the board/shield is not configured for booting from the QSPI NOR
device, that same device is available as a regular QSPI NOR flash
device.

The presense of a shield configured for QSPI NOR flash boot is indicated
through an IRQ line used as a level-detect, non-interrupt signal.

Introduce a board specific devicetree binding for the DAPLink QSPI MUX
and provide a board specific API accessing it. Automatically set the
QSPI MUX to to provide regular QSPI NOR flash access if the board/shield
is not configured for memory-mapped QSPI NOR flash boot.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2020-09-04 17:37:22 +02:00
Andrei Gansari
217560d8e1 samples: tfm_integration: BL2 configurable
Make BL2 configurable via Kconfig.

Signed-off-by: Andrei Gansari <andrei.gansari@nxp.com>
2020-09-04 10:36:42 -05:00
Andrei Gansari
37d2ad68e8 modules: tfm BL2 configurable
Make BL2 setting configurable via Kconfig choice.

Signed-off-by: Andrei Gansari <andrei.gansari@nxp.com>
2020-09-04 10:36:42 -05:00
Andrei Gansari
f0a9119e17 west.yml: update to 143df67
Updates west.yml to use modules/tee/tfm commit number
143df675557305b61f7930a50459a53a8d2bb097.
Change: make BL2 configurable.

Signed-off-by: Andrei Gansari <andrei.gansari@nxp.com>
2020-09-04 10:36:42 -05:00
Andrei Gansari
b8b31f9a76 samples: tfm_integration: lpc55s69 support
Adds documentation on how to run TFM samples on LPCxpresso55S69 board.

Signed-off-by: Andrei Gansari <andrei.gansari@nxp.com>
2020-09-04 10:36:42 -05:00
Andrei Gansari
7ff38a9b6d boards: lpcxpress55s69: NS target with TFM support
Configures the Non-Secure target to work with TFM.
Memory (Flash and RAM) mapping according to TFM definitions.
How to build and flash the board.

Signed-off-by: Andrei Gansari <andrei.gansari@nxp.com>
Signed-off-by: Kevin Townsend <kevin@ktownsend.com>
2020-09-04 10:36:42 -05:00
Andrei Gansari
3d6e6a9900 boards: lpcxpresso55s69 mcuboot and tfm partitions
Moved the flash partitioning to the shared device tree include so all
targets can benefit from the partitioning.
This is implemented to MCUboot can run TFM(S) with Zephyr
(lpc55s69 cpu 0 NS).
Also defines RAM partitions as TFM expects them, first part of ram for
S, second half for NS.

Signed-off-by: Andrei Gansari <andrei.gansari@nxp.com>
2020-09-04 10:36:42 -05:00
Andrei Gansari
097125f469 samples: tfm_integration: BL2 configuration
Configure build variable BL2 depending on board configuration. BL2 is
set to True by default. BL2 enabled building TFM with MCUboot.

Signed-off-by: Andrei Gansari <andrei.gansari@nxp.com>
2020-09-04 10:36:42 -05:00
Gerson Fernando Budke
7b8643e373 samples: net: updatehub: Increase shell stack
When running shell commands updatehub alloc data from shell stack.
Increase shell room stack to avoid shell issues.  Memory tuning
should be performed accord with available resources.

Signed-off-by: Gerson Fernando Budke <gerson.budke@ossystems.com.br>
2020-09-04 17:32:29 +02:00
Gerson Fernando Budke
d18f12de23 mgmt: updatehub: Enable flash sha verification
Currently updatehub trust on MCUboot to test a new image. The process
is executed on next boot after a validate the downloaded image.  To
have a more reliable system, is recommended run the SHA-256 algorithm
to attest that firmware was properly stored on the flash memory.  This
implements the use of flash_img_check to achieve that, and as a
consequence, add a new level of trust that avoids an useless reboot
on the system.

Updatehub uses two SHA-256 verification.  One is used to check the
data stream at download.  The second one, realise the verification
reading from flash.  Users have the possibility to chose only one
option or keep both verifications.  However, it is adviced keep
always both verifications enabled to get consistent reports on
back end.

Signed-off-by: Gerson Fernando Budke <gerson.budke@ossystems.com.br>
2020-09-04 17:32:29 +02:00
Gerson Fernando Budke
d0c3dfe093 mgmt: updatehub: Add hash var on context
Currently SHA-256 uses a temporary hash digest to calc final sha sum.
This moves temporary variable from local scope to updatehub context.
The motivation is to use the hash digest on future flash validation.

Signed-off-by: Gerson Fernando Budke <gerson.budke@ossystems.com.br>
2020-09-04 17:32:29 +02:00
Vinayak Kariappa Chettimada
94d7469172 Bluetooth: controller: Add DEBUG_PINS support in nRF5340DK
Add support for BT_CTLR_DEBUG_PINS for nRF5340DK board.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-09-04 17:17:07 +02:00
Vinayak Kariappa Chettimada
03852a5f02 Bluetooth: controller: Fix DEBUG_PINS_CPUAPP dependency
Remove the BT_LL_SW_SPLIT dependency for
BT_CTLR_DEBUG_PINS_CPUAPP when building CPUAPP application
that is using Zephyr BLE HCI controller on the CPUNET core.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-09-04 17:17:07 +02:00
Kamil Piszczek
391730891b samples: bluetooth: adding peripheral_ots sample
Added a Bluetooth Peripheral sample that demonstrates how to use
GATT Object Transfer Service.

Signed-off-by: Kamil Piszczek <Kamil.Piszczek@nordicsemi.no>
2020-09-04 17:06:17 +02:00
Kamil Piszczek
0a7a8fd137 bluetooth: services: add Object Transfer service
Added GATT Object Transfer Service implementation.

Signed-off-by: Kamil Piszczek <Kamil.Piszczek@nordicsemi.no>
2020-09-04 17:06:17 +02:00
Kamil Piszczek
aafb8a50bf bluetooth: uuid: adding object type identifiers for ots
Added Object Type identifiers for OTS.

Signed-off-by: Kamil Piszczek <Kamil.Piszczek@nordicsemi.no>
2020-09-04 17:06:17 +02:00
Jukka Rissanen
3e5a4d79b2 net: tcp2: Make sure all incoming data is given to app at eof
When the connection is terminated, make sure that any pending
data is feed to the application.

Fixes #28057

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2020-09-04 11:04:27 -04:00
Jan Pohanka
e4fe99590c drivers: clock_control: stm32h7 use a macro to define VCO_INPUT_RANGE
VCO input frequency can be checked and set during compile time.
It unfortunately does not work for output frequency because macros in
HAL are defined together with uint32_t type.

This also fixes wrong check in case of HSI used as PLL source.

Signed-off-by: Jan Pohanka <xhpohanka@gmail.com>
2020-09-04 17:03:57 +02:00
Krzysztof Chruscinski
8f2754e027 drivers: usb: device: nrf: Add support for hf192m clock
Added support for nrf53 where hf192m clock must be used.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2020-09-04 16:36:05 +02:00
Krzysztof Chruscinski
17f70df01e drivers: clock_control: nrf: Add support for clk192m
Add support for 192M clock.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2020-09-04 16:36:05 +02:00
Dominik Ermel
1d0fb46165 mgmt: smp: Fix compilation problem
Fix problem with compilation due to incompatible type assignments.

Fixes #28031

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2020-09-04 16:35:37 +02:00
Alexander Falb
402a352279 tests/samples: add samples for Serpente board
Add the supported features section to  serpente.yaml and overlay files
to the corresponding tests and samples.

Signed-off-by: Alexander Falb <fal3xx@gmail.com>
2020-09-04 09:25:02 -05:00
Alexander Falb
44ad011680 boards: Add support for the Serpente Board
The Serpente Boards are small low-cost Atmel SAMD21 based
development boards by @arturo182

Signed-off-by: Alexander Falb <fal3xx@gmail.com>
2020-09-04 09:25:02 -05:00
Andrzej Puzdrowski
6167dbc195 drivers/flash/soc_flash_nrf: remove timeslice terminology from driver
timeslice terminology were used in connection with synchronization
using ll BLE ticker.

Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
2020-09-04 16:08:42 +02:00
Andrzej Puzdrowski
affbafac26 drivers/flash/soc_flash_nrf: introduce synchronization api usage
Rework ticker synchronization using newly introduced
radio synchronization API.
In kconfig synchronization using ll ticker become choice
option.

If CONFIG_SOC_FLASH_NRF_PARTIAL_ERASE is enabled the erase
timing is changed so intervals become similar to slots duration.
Previously interval was always ~90 ms, which looks like it was kept
so disproportional by oversight while the partial erase was
introduced.

Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
2020-09-04 16:08:42 +02:00
Andrzej Puzdrowski
4c2432fdd4 drivers/flash/soc_flash_nrf: implement ticker synch backend
Extract synchronization procedures using LL BLE controller
ticker to newly added synchronization API.

Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
2020-09-04 16:08:42 +02:00
Andrzej Puzdrowski
f8fd2ba519 drivers/flash/soc_flash_nrf: introduce radio synchronization API
Introduced API which allows to decouple radio synchronization
mechanism from NVMC driver.
New API will allows to replace synchronization mechanism if required.

Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
2020-09-04 16:08:42 +02:00
Emil Gydesen
05b0ba01d6 doc: Add HRS/DIS/BAS API change entry in 2.4 release-notes
Adds the API and Kconfig change to the release notes for 2.4.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2020-09-04 15:38:44 +02:00
Emil Gydesen
9c5db74a6e Bluetooth: Remove _gatt_ infix for Device Information Service (DIS)
The _gatt_ infix was determined to be unnecessary as
GATT is implied by it being a Bluetooth service.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2020-09-04 15:38:44 +02:00
Emil Gydesen
8d7b5ebd7a Bluetooth: Remove _gatt_ infix for Heart Rate Service (HRS)
The _gatt_ infix was determined to be unnecessary as
GATT is implied by it being a Bluetooth service.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2020-09-04 15:38:44 +02:00
Emil Gydesen
b4a8229db6 Bluetooth: Remove _gatt_ infix for Battery Service (BAS)
The _gatt_ infix was determined to be unnecessary as
GATT is implied by it being a Bluetooth service.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2020-09-04 15:38:44 +02:00
Joakim Andersson
7ab35145fb Bluetooth: host: Add hardware error event handling
Add handling of the HCI_Hardware_Error event to log the hardware code.
This event was unmasked in set_event_mask.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2020-09-04 14:46:54 +02:00
Peter Bigot
1d026703c4 samples: posix: gettimeofday: incorporate libc time API tests
Use time(), localtime_r(), and asctime() to confirm that the
declarations required for these (newlib) libc functions are made
available in CONFIG_POSIX context.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-09-04 14:46:43 +02:00
Peter Bigot
3cb353c09f include/posix: incorporate toolchain-provided time.h header
Some of what's supposed to be in <time.h> was lost because this header
attempts to define everything using more primitive include files.
Instead incorporate the contents from the toolchain-provided header.
Any gaps should be picked up by the legacy content present in this
file, which should not conflict with the toolchain header.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-09-04 14:46:43 +02:00
Jordan Yates
4f54b4176d bluetooth: controller: add name to TX power choice
Add a name to the Kconfig choice that selects the controller TX power.
This allows board `*.defconfig` files to change the default TX power
as their certifications warrant. For example:

```
choice BT_CTLR_TX_PWR
	default BT_CTLR_TX_PWR_PLUS_4
endchoice
```

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2020-09-04 14:46:05 +02:00
Peter Bigot
13576962b8 doc: guides: dts: document inferred bindings for /zephyr,user
Identify the special case of /zephyr,user as a node for which property
values are generated without having to define a binding.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-09-04 07:41:19 -05:00
Peter Bigot
932532eb0f gen_defines: infer bindings for /zephyr,user
Tell the EDT instance that properties of the /zephyr,user node should
be generated based on the binding types inferred from the property
content.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-09-04 07:41:19 -05:00
Peter Bigot
32e6159f01 edtlib: support inferring binding from node content
Clean up of devicetree tooling removed generation of information
present in devicetree in nodes that have no compatible, or for extra
properties not defined by a binding.  Discussion proposed that these
properties should be allowed, but only in a defined node /zephyr,user.
For that node infer bindings based on the presence of properties.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-09-04 07:41:19 -05:00
Jordan Yates
1723e479ab Bluetooth: controller: preserve TX power
Preserve the TX power set with the `BT_HCI_OP_VS_WRITE_TX_POWER_LEVEL`
command for advertising and scanning procedures. As the TX power is no
longer overwritten on procedure start, the TX powers can now be set
before starting the procedure. This eliminates the chance for the first
transmissions to use the default TX power instead of the request TX
power.

Similar changes are not made to the connection advertising powers as
changing the TX power for a connection to device A should not change
the TX power for a future connection to device B using the same
`struct lll_adv` instance.

Fixes #27921.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2020-09-04 14:37:57 +02:00
Andrzej Kaczmarek
48646e51d0 tests: Bluetooth: bsim_advx_test: Add some tests for scan response
This adds few tests for handling scan response in ext commands:
- trying to set scan response on non-scannable instance should fail
- it should be possible to create scannable instance, set scan data,
  enable and then disable set

Signed-off-by: Andrzej Kaczmarek <andrzej.kaczmarek@codecoup.pl>
2020-09-04 14:30:21 +02:00
Andrzej Kaczmarek
d8864d44f4 Bluetooth: controller: Add ADI support in AUX_SCAN_RSP
ADI field is optional in AUX_SCAN_RSP so by default it's disabled, but
now we'll have an option to include it.

Signed-off-by: Andrzej Kaczmarek <andrzej.kaczmarek@codecoup.pl>
2020-09-04 14:30:21 +02:00
Andrzej Kaczmarek
1b1ab16a64 Bluetooth: controller: Return current ADI when updating aux
When aux is upated, DID is changed and unlike SID it's only stored in
aux PDU. To allow quick access to new DID value, let's just optionally
return current ADI value after aux was updated. It will be useful e.g.
when updating scan response data if we want to put ADI there.

Signed-off-by: Andrzej Kaczmarek <andrzej.kaczmarek@codecoup.pl>
2020-09-04 14:30:21 +02:00
Andrzej Kaczmarek
09115429a1 Bluetooth: controller: Add non-connectable scannable
This enables processing of AUX_SCAN_REQ and sending back AUX_SCAN_RSP
on non-connectabe scannable advertising instances. Similar path will
be used for AUX_CONNECT_REQ so there are few references for connectable
as well, but this is not supported as for now.

Signed-off-by: Andrzej Kaczmarek <andrzej.kaczmarek@codecoup.pl>
2020-09-04 14:30:21 +02:00
Andrzej Kaczmarek
b47df3cc21 Bluetooth: controller: Add scan response data setting restrictions
This adds restrictions for setting scan response data as specified by
Core spec:
* on legacy, only complete data can be set
* on legacy, data cannot be longer than 31 octets
* on ext, if non-scannable, data can only be discarded
* if ext enabled, only complete data can be set
* if ext enabled, data cannot be discarded

Signed-off-by: Andrzej Kaczmarek <andrzej.kaczmarek@codecoup.pl>
2020-09-04 14:30:21 +02:00
Andrzej Kaczmarek
60b8df94e1 Bluetooth: controller: Add support to set scan response data on ext
This allows to set scan response data using ext adv commands.

New AUX_SCAN_RSP can be created without analyzing previous PDU since
the only value that need to be copied from previous PDU is AdvA which
is placed at fixed location. TxPower is omitted since, if enabled, it
is already present in AUX_ADV_IND and does not need to be presed in
other PDUs. ADI support is to be added later.

Signed-off-by: Andrzej Kaczmarek <andrzej.kaczmarek@codecoup.pl>
2020-09-04 14:30:21 +02:00
Andrzej Kaczmarek
e49ef46677 Bluetooth: controller: Add AdvA to connectable and scannable aux
AdvA in aux is mandatory for any connectable and scannable set so make
sure it's always added.

Signed-off-by: Andrzej Kaczmarek <andrzej.kaczmarek@codecoup.pl>
2020-09-04 14:30:21 +02:00