Commit Graph

44899 Commits

Author SHA1 Message Date
Armand Ciejak
90262c9a95 eth: mcux: Rename eth_* to eth* to be have consistent naming
Both eth_* and eth* were used before.

Signed-off-by: Armand Ciejak <armand@riedonetworks.com>
2020-10-09 11:50:50 +02:00
Armand Ciejak
df119d2bbf eth: mcux: Enable PTP IRQ only if the ptp node is enabled
This covers the case of 1 controller having PTP enabled and
the other not.

Signed-off-by: Armand Ciejak <armand@riedonetworks.com>
2020-10-09 11:50:50 +02:00
Armand Ciejak
c627ef37ed eth: mcux: Make consistent use of #if defined
As well as #ifndef.
Apply it for all CONFIG_* defines.

Signed-off-by: Armand Ciejak <armand@riedonetworks.com>
2020-10-09 11:50:50 +02:00
Armand Ciejak
cd35b17879 eth: mcux: Rework MAC address assignment functions
Do not override OUI of the local MAC address in the devicetree.
Simplify the mac address assignment conditions. Each interface has
its own function. Code duplication will be eliminated with the
use of DT_INST_FOREACH_STATUS_OKAY in a later commit to completely
remove duplicated code.
The 3 possible MAC address assignment (local, random and unique)
are covered and have been tested.

Signed-off-by: Armand Ciejak <armand@riedonetworks.com>
2020-10-09 11:50:50 +02:00
Armand Ciejak
fde702359e eth: mcux: Do not call eth_name() when dev->name can be used
Spare a function call.

Signed-off-by: Armand Ciejak <armand@riedonetworks.com>
2020-10-09 11:50:50 +02:00
Armand Ciejak
55b88eef22 eth: mcux: Do not compile phy_state_name() if not used
This is better than declaring it unused.

Signed-off-by: Armand Ciejak <armand@riedonetworks.com>
2020-10-09 11:50:50 +02:00
Armand Ciejak
8b38a67ca2 eth: mcux: Replace hard-coded eth_context.clock
This fixes wrong value for i.MX RT.
This is one less hard-coded value in eth_N_context structures.

Signed-off-by: Armand Ciejak <armand@riedonetworks.com>
2020-10-09 11:50:50 +02:00
Armand Ciejak
ac31c4e458 eth: mcux: Get rid of CONFIG_ETH_MCUX_*
Use node's status in device tree instead.

Signed-off-by: Armand Ciejak <armand@riedonetworks.com>
2020-10-09 11:50:50 +02:00
Antoine Zen-Ruffinen
dd72f1f4e6 eth: mcux: Implement set_config
This allows setting the MAC address at run time.

Signed-off-by: Antoine Zen-Ruffinen <antoine@riedonetworks.com>
Signed-off-by: Armand Ciejak <armand@riedonetworks.com>
2020-10-09 11:50:50 +02:00
Andrzej Puzdrowski
18a56fc42c changelog: MCUBoot changes
Added changelog for changes introduced by
latest MCUBoot upgrade.

Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
2020-10-09 11:50:10 +02:00
Andrzej Puzdrowski
8a454f35f7 manifest: synch MCUBoot to upstream 296949e
MCUBoot was synchronized up to:
https://github.com/JuulLabs-OSS/mcuboot/commit/296949e

Improvements:
- hardening against hardware level fault injection and timing attacks
- Abstract crypto primitives to simplify porting.
- boot: Add ram-load upgrade mode
- renamed single-image mode to single-slot mode

- kconfig: provide logic for setting key file, simplify prj.conf

- imgtool: Print image digest during verify
- imgtool: Add possibility to set confirm flag for hex files as well
- imgtool: --confirm implies --pad

- Added single-slot Zephyr-RTOS test build

fixes:
- bootutil: fix boostrapping in swap-move
- bootutil: fix swap-move brick with padded image_0
- Disable HW stack protection (temporary hack)
- reset SPLIM registers before boot
- fixes build issue that occurs if CONF_FILE contains
multiple file paths instead of single file path.
- imgtool: Fix 'custom_tlvs' argument handling
- Turn off cache for Cortex M7 before chain-loading.

Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
2020-10-09 11:50:10 +02:00
Eric Hay
e51b24b429 drivers: clock_control: stm32g0: Enable the Q divisor on g0X1 variants
The PLL Q divisor does not exist on stm32g0X0 variants. It should only
be configured for g0X1 variants.

Signed-off-by: Eric Hay <EHay@sierrawireless.com>
2020-10-09 11:49:39 +02:00
Eric Hay
31fca27d83 soc: arm: stm32g0: Set IRQs to 30 for stm32g070 series
The number of IRQs for the g070 is 30, not 32.

Signed-off-by: Eric Hay <EHay@sierrawireless.com>
2020-10-09 11:49:39 +02:00
Eric Hay
63f2ecdabf dts: arm: stm32g0: Have the stm32g071 inherit from stm32g070
The g071 is a superset of the g070. This change reflects
that relationship.

Signed-off-by: Eric Hay <EHay@sierrawireless.com>
2020-10-09 11:49:39 +02:00
Eric Hay
5f42ba52d8 soc: arm: stm32g0: add STM32G070 SoC series
This commit adds support for the STM32G070xx SoCs
by STMicroelectronics.

Signed-off-by: Eric Hay <EHay@sierrawireless.com>
2020-10-09 11:49:39 +02:00
Marc Herbert
d1f25ce326 doc: ext: link-roles: fix crash when west is available but not used
It should be possible to submit quick documentation fixes without
depending on a complete west workspace. Fixes the following crash:

Exception occurred:
  File "west/src/west/util.py", line 82, in west_topdir
    raise WestNotFound('Could not find a West workspace '
west.util.WestNotFound: Could not find a West workspace in this
                        or any parent directory

Fixes ae8dd14887 ("doc: ext: link-roles: allow non-default baseurl")

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2020-10-09 11:49:29 +02:00
Andrew Boie
25e6c1fece tests: userspace: conserve memory
We don't need 3 different threads/stacks and the stack size
can be smaller, the threads don't do much.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2020-10-09 11:48:53 +02:00
Jakub Rzeszutko
19ef740950 shell: fix compilation error
Fix a compilation error when shell help feature was not selected and
but shell help command was compiled.

Fixes: #29042

Signed-off-by: Jakub Rzeszutko <jakub.rzeszutko@nordicsemi.no>
2020-10-09 11:48:44 +02:00
Kumar Gala
4d60b75588 sensor: vcnl4040: Update dts binding for defaults
* Add comments about the default settings
* Change proximity-trigger default to match POR of 'disabled'
* Added reference to datasheet

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-10-09 11:48:12 +02:00
Peter Bigot
85733c01d3 tests: kernel: work_queue_api: align schedule tests to tick
Detection of transition from delayed to pending can fail in some cases
if the timeouts are not precisely managed.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-10-09 11:48:00 +02:00
Peter Bigot
9cc608a5b1 tests: kernel: work_queue_api: validate legacy no-wait behavior
The current implementation of delayed work will cancel and re-submit a
pending work item that is no-wait, putting it at the back of the
queue.  Verify this behavior.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-10-09 11:48:00 +02:00
Peter Bigot
bd76994dc2 tests: kernel: work_queue_api: validate legacy multiq behavior
The current implementation of delayed work retains a pointer to the
queue unless the work item is successfully cancelled, preventing a
completed item from being resubmitted to a different queue.  Confirm
this behavior and its workaround.

Also validates some unsuccessful cancel return values.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-10-09 11:48:00 +02:00
Peter Bigot
9cce1b0a2e tests: kernel: work_queue_api: coverage for delayed pending
This API function wasn't being tested.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-10-09 11:48:00 +02:00
Peter Bigot
a808475c1d tests: kernel: work_queue_api: clean up work_pending arguments
Pass a pointer to the work item member rather than casting the
augmented work item pointer to a base work item pointer.

Also the return type of k_work_pending() is bool, so use that rather
than comparing it to zero.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-10-09 11:48:00 +02:00
Peter Bigot
cbff3e34d7 doc: kernel: workqueue: correct documentation of delayed work API
The delayed work API has been changed to allow cancellation in
conditions not previously documented, but this feature can cause both
submission and cancellation to fail in the general case.  Summarize
the conditions and highlight the importance of checking result codes
for these functions.

Also explicitly note that no kernel API can reliably indicate that a
work item has been completed, and that doing so is the responsibility
of the code that provides the work handler.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-10-09 11:48:00 +02:00
Peter Bigot
923caadf3b kernel: delayed_work: update k_delayed_work_cancel documentation
Although the documentation states that only work items that have not
completed the delay can be cancelled, in fact pending items can also
be removed from a work queue.  Document that behavior

Also document the specific return value that will be obtained based on
the state of the work item at the time cancellation was attempted
using the current implementation.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-10-09 11:48:00 +02:00
Peter Bigot
16fe3af327 kernel: delayed_work: note restriction in re-using delayed work items
The delayed work work_q pointer is set on submission, and remains set
even after the work item completes.  Attempts to re-submit the
completed work item to a different queue will be rejected because the
code cannot distinguish a completed item from one that is still
waiting for a delay or to be processed.

Document this restriction.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-10-09 11:48:00 +02:00
Peter Bigot
f69f935865 kernel: delayed_work: fix race condition in k_delayed_work_cancel
The implementation checks the work queue pointer before taking a lock
and entering code that, depending on build options, may fault if that
pointer is null.  Move the check under the lock to ensure condition is
preserved.  Then the check in work_cancel is no longer necessary since
condition is verified under lock at all call sites.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-10-09 11:48:00 +02:00
Peter Bigot
8f9410a038 kernel: work: clarify effect of resubmitting pending items
Make more clear that submitting a work item to one queue while it is
pending on another queue has no effect.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-10-09 11:48:00 +02:00
Alexander Kozhinov
c45ac06f08 zephyr: maintainers:
create "Networking: CivetWeb" maintenance section
add Nukersson as maintainer
add jukkar as collaborator

Signed-off-by: Alexander Kozhinov <AlexanderKozhinov@yandex.com>
2020-10-09 11:47:34 +02:00
Alexander Kozhinov
fc7e49fe19 zephyr: codeowners:
add Nukersson as /samples/net/sockets/*civetweb* codeowner

Signed-off-by: Alexander Kozhinov <AlexanderKozhinov@yandex.com>
2020-10-09 11:47:34 +02:00
Siddharth Chandrasekaran
7f4d2c741b mgmt/osdp: Add support for Secure Channel
This patch adds Secure Channel capabilities to osdp Control Panel and
Peripheral Device modes.

Signed-off-by: Siddharth Chandrasekaran <siddharth@embedjournal.com>
2020-10-09 11:45:58 +02:00
Vinayak Kariappa Chettimada
c1c627ce5a Bluetooth: controller: Fix Periodic Advertising cond. compilations
Fix Periodic Advertising conditional compilation to not
fail on undefined declarations.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-10-09 11:41:34 +02:00
Vinayak Kariappa Chettimada
36533d6af6 tests: Bluetooth: init: Periodic Advertising build combinations
Add build only tests to cover Periodic Advertising in
Advertising state and Periodic Advertising in
Synchronization state support.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-10-09 11:41:34 +02:00
Maureen Helm
4310b7ed1a boards: arm: Enable hardware stack protection on nxp lpc boards
Enables hardware stack protection on all possible nxp lpc boards to
help detect stack overflows more easily. Boards that do not have mpu
support are excluded.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2020-10-09 10:23:34 +02:00
Maureen Helm
bc9a498bdf boards: arm: Enable hardware stack protection on nxp kinetis boards
Enables hardware stack protection on all possible nxp kinetis boards to
help detect stack overflows more easily. Boards that do not have mpu
support are excluded.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2020-10-09 10:23:34 +02:00
Maureen Helm
549c7f3f49 boards: arm: Enable hardware stack protection on nxp i.mx rt boards
Enables hardware stack protection on all nxp i.mx rt boards to help
detect stack overflows more easily.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2020-10-09 10:23:34 +02:00
Robert Lubos
2497958298 net: lwm2m: Improve token generation
Improve token handling by removing special meaning of tokenlen == 0,
which allows to handle server requests w/o a token (so far such
requests would cause the lwm2m engine to autogenerate token in the
response).

In order to autogenerate token during message initialization, use
special symbol `LWM2M_MSG_TOKEN_GENERATE_NEW`. If no token is wished to
be used, simply set the tokenlen to 0.

Additionally, fix an issue with token autogeneration, where invalid
token len was used (0 instead of 8).

Fixes #28299

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2020-10-09 10:46:53 +03:00
Oliver Hitz
0c70877ceb net: IPv4 bcast address recognized as multicast
Modified net_ipv4_is_addr_mcast() to not wrongly classify an IPv4
broadcast address as a multicast address.

Signed-off-by: Oliver Hitz <oliver@net-track.ch>
2020-10-09 10:26:38 +03:00
Christopher Friedt
310d149d8b boards: cc1352r_sensortag: add support for TI CC1352R SensorTag
The TI CC1352R SensorTag (LPSTK-CC1352R) is a development kit that
features the CC1352R SoC.

Signed-off-by: Christopher Friedt <chrisfriedt@gmail.com>
2020-10-08 16:08:36 -04:00
Frank Li
e3b5ddac65 dts: boards: mm_swiftio: enable more devices
Enable i2c/spi/uart devices for mm_swiftio.

Signed-off-by: Frank Li <lgl88911@163.com>
2020-10-08 14:23:01 -05:00
Vinayak Kariappa Chettimada
c440c0d92f Bluetooth: controller: Initialize close to locality of reference
Initialize auto variables close to locality of reference.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-10-08 17:29:08 +02:00
Jakub Rzeszutko
c195529615 shell: documentation update
Updating documentation with dictionary commands description.

Signed-off-by: Jakub Rzeszutko <jakub.rzeszutko@nordicsemi.no>
2020-10-08 10:12:25 -04:00
Jakub Rzeszutko
f812e9463d shell: shell example update
Updating shell example to present usage of dictionary commands.

Signed-off-by: Jakub Rzeszutko <jakub.rzeszutko@nordicsemi.no>
2020-10-08 10:12:25 -04:00
Jakub Rzeszutko
a8e45c4f1e shell: dictionary commands feature
Adding dictionary commands concept. It simplifies creation of multiple
commands that are handled by a one function handler.

This is a special kind of static commands. Dictionary commands can be
used every time you want to use a pair: (string <-> corresponding data)
in a command handler. The string is usually a verbal description
of a given data. The idea is to use the string as a command syntax that
can be prompted by the shell and corresponding data can be used to
process the command.

Signed-off-by: Jakub Rzeszutko <jakub.rzeszutko@nordicsemi.no>
2020-10-08 10:12:25 -04:00
Robert Lubos
b932edc772 net: lwm2m: Fix bootstrap finish response code
LwM2M engine did not set response code for the Bootstrap-finish message,
hence it replied with the code copied from the request which is not
correct. Fix this by setting correct code for the Bootstrap-finish
reply.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2020-10-08 16:31:56 +03:00
Andreas Sandberg
cfb6257327 lorawan: Cleanup error handling code
The error handling code currently has a couple of issues:

 * It relies on ordered lists and upstream not changing any constants.

 * Converted messages are not stored in constant memory which means
   that log_strdup is needed whenever they are printed.

This change also factors out error handling to a separate file,
lw_priv.{c,h}, to facilitate reuse in a future secure element and
state storage implementation.

Signed-off-by: Andreas Sandberg <andreas@sandberg.pp.se>
2020-10-08 12:15:38 +02:00
Manivannan Sadhasivam
0e0339ba76 CODEOWNERS: Add entry for LoRaWAN
Add CODEOWNERS entry for LoRaWAN

Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
2020-10-08 12:15:38 +02:00
Kuba Sanak
9c976a2cad lorawan: Rework error handling code
For consistency with other parts of Zephyr, the public APIs available
in lorawan subsystem now returns error codes from the set defined in
errno.h.

Signed-off-by: Kuba Sanak <contact@kuba.fyi>
[mani: reworked the code and commit a bit for upstream]
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
2020-10-08 12:15:38 +02:00
Kuba Sanak
b44dcf88d9 lorawan: Add support for SystemMaxRxError
SystemMaxRxError is used to negotiate overall timing error for Rx
in the loramac-node library. Hence, add support for configuring this
parameter from Kconfig.

Signed-off-by: Kuba Sanak <contact@kuba.fyi>
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
2020-10-08 12:15:38 +02:00