Commit graph

19237 commits

Author SHA1 Message Date
Erwan Gouriou
336e088d52 boards: nucleo_f429zi: fixup space character issue
A space character has been introduced after 'F249ZI' string
in various files. Fix this.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2018-02-21 11:36:48 -06:00
Justin Watson
c1ce290d45 serial: sam: add support for interrupt driven serial
Implements interrupt driven UART for the serial driver.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Signed-off-by: Justin Watson <jwatson5@gmail.com>
2018-02-21 11:26:20 -06:00
Kumar Gala
0c45b84ce1 dts: nxp: Add add addr/size cell to spi nodes
The spi nodes should have #address-cells and #size-cells properties much
like i2c does.  Add these missing properties.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2018-02-21 11:14:59 -06:00
Kumar Gala
5a5e352899 dts: ti: Refactor TI SoC dts.fixup into arch/arm/soc/ti_simplelink
Move common SoC dts.fixup defines into
arch/arm/soc/ti_simplelink/<BAR>/dts.fixup so we remove duplication in
the boards and only have board specific defines in
boards/arm/<FOO>/dts.fixup.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2018-02-21 10:57:23 -06:00
Erwan Gouriou
a8da9a65ac board: nucleo_f412zg: Configure I2C and USB
Configure I2C and USB on nulceo_f412zg
It allows to run Sensor Dashboard demo on Micropython

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2018-02-21 10:04:39 -06:00
Yannis Damigos
899ed91506 drivers: usb_dc_stm32: Get USB configuration from DT
Use defines generated from DT.

Signed-off-by: Yannis Damigos <giannis.damigos@gmail.com>
2018-02-21 09:17:12 -06:00
Yannis Damigos
22c1018bfb dts: arm: 96b_carbon use DT to configure USB
Configure USB using DT for 96b_carbon

Signed-off-by: Yannis Damigos <giannis.damigos@gmail.com>
2018-02-21 09:17:12 -06:00
Yannis Damigos
c431152147 dts: bindings: Add yaml files for STM32 USB support to DT
Add yaml files to DT for initial support of STM32 USB

Origin: original

Signed-off-by: Yannis Damigos <giannis.damigos@gmail.com>
2018-02-21 09:17:12 -06:00
Alberto Escolar Piedras
1827fcf07a CODEOWNERS: added entry for POSIX arch & native_posix board
Added entries for POSIX arch & SOC, native_posix board, and
related drivers

Signed-off-by: Alberto Escolar Piedras <alpi@oticon.com>
2018-02-21 10:03:48 -05:00
Sean Nyekjaer
d9b105fff5 serial: sam0: add samd20 support
There are some minor differences between the UART om SAMD20 and SAMD21
that we need to take into account:

SYNCBUSY bit for the samd20 is located in the STATUS reg.

The samd20 does not have a SAMPR bit like the samd21.

Signed-off-by: Sean Nyekjaer <sean@nyekjaer.dk>
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2018-02-21 08:07:09 -06:00
Kumar Gala
451fc36824 scripts: extract_dts_inculdes: Fix reg prop size/addr cell calculation
When we determine the address and size cells to determine how to parse a
reg property, we need to stop at the parent of the node, not at the node
itself.  If we have #address-cells or #size-cells in a node its meant
for the children of that node and not the node itself.

Fixes #4568

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2018-02-21 06:48:42 -06:00
Jukka Rissanen
7fc5ffa92b net: shell: Fix net mem command output
Pool size is no longer available so it is no use trying to print
its value. This change was introduced in commit dd09cbc1c4
("net: buf: Redesigned API with split data and meta-data")

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2018-02-21 11:05:19 +02:00
Leandro Pereira
214c685726 kernel: mem_domain: Pass proper type to ensure_w_xor_x()
The attributes are an u32_t only on ARM and ARC; on x86, it's something
else entirely.  Use the proper type to avoid attributes being
truncated.

Signed-off-by: Leandro Pereira <leandro.pereira@intel.com>
2018-02-20 16:47:42 -08:00
Leandro Pereira
44be8fbb30 doc: doxygen: Hide implementation detail symbols
Hide all symbols whose names begin with an underscore.  Although these
might be documented, they shouldn't be used by applications, as there's
no guarantee they will be available in subsequent versions, or maintain
API and ABI compatibility.

Signed-off-by: Leandro Pereira <leandro.pereira@intel.com>
2018-02-20 16:42:35 -05:00
Leandro Pereira
3beb481bab soc: esp32: Fix compile warnings when redefining BIT() macro
Include `soc.h` first, which will include the ESP-IDF headers -- which
will define the `BIT()` macro without checking if they're already
defined, like the Zephyr headers do.

Signed-off-by: Leandro Pereira <leandro.pereira@intel.com>
2018-02-20 16:23:53 -05:00
Christopher Collins
3e30e8164f samples: subsys: mgmt: smp_svr: add sample app
This commit adds the sample `smp_svr` app from the mcumgr repo.

Signed-off-by: Christopher Collins <ccollins@apache.org>
2018-02-20 22:07:52 +01:00
Christopher Collins
5ed30f0360 subsys: stats - Statistics support
Implements the definition, manipulation, and delivery of statistics.

Signed-off-by: Christopher Collins <ccollins@apache.org>
2018-02-20 22:07:52 +01:00
Christopher Collins
3986ef2770 subsys: mgmt: CMake and Kconfig support.
Add the necessary CMakeLists.txt and Kconfig files for the mgmt
subsystem.

Signed-off-by: Christopher Collins <ccollins@apache.org>
2018-02-20 22:07:52 +01:00
Christopher Collins
d14b1aca62 mgmt: Bluetooth transport for SMP (mcumgr).
Add a Bluetooth service dedicated to transporting mcumgr SMP requests
and responses.

Signed-off-by: Christopher Collins <ccollins@apache.org>
2018-02-20 22:07:52 +01:00
Christopher Collins
14735116d1 subsys: mgmt: UART transport for SMP (mcumgr).
Add a UART driver dedicated to transporting mcumgr SMP requests and
responses.

Signed-off-by: Christopher Collins <ccollins@apache.org>
2018-02-20 22:07:52 +01:00
Christopher Collins
76bf5646d5 subsys: mgmt: Shell transport for SMP (mcumgr).
Enable the shell to transport mcumgr SMP requests and responses.

Signed-off-by: Christopher Collins <ccollins@apache.org>
2018-02-20 22:07:52 +01:00
Christopher Collins
6721d64735 subsys: mgmt: SMP protocol for mcumgr.
The Simple Management Protocol (SMP) is a basic protocol that sits on
top of mcumgr's mgmt layer.  This commit adds the functionality needed
to hook into mcumgr's SMP layer.

More information about SMP can be found at:
`ext/lib/mgmt/mcumgr/smp/include/smp/smp.h`.

Signed-off-by: Christopher Collins <ccollins@apache.org>
2018-02-20 22:07:52 +01:00
Christopher Collins
2ad7ccdb2d subsys: dfu: boot: mcuboot: Query current img ver
Allow a running image to query its own version number.

Signed-off-by: Christopher Collins <ccollins@apache.org>
2018-02-20 22:07:52 +01:00
Christopher Collins
7b27fa6d5a subsys: dfu: boot: Allow inspection of boot state.
Exposes the operation that MCUboot will perform on the next reboot
(e.g., stay on current image, swap to alternate image, etc.).

Signed-off-by: Christopher Collins <ccollins@apache.org>
2018-02-20 22:07:52 +01:00
Christopher Collins
41646dbeee ext: lib: mgmt: mcumgr: Build support for mcumgr.
Adds the necessary CMakeLists.txt and Kconfig files to build the
external mcumgr library.

Signed-off-by: Christopher Collins <ccollins@apache.org>
2018-02-20 22:07:52 +01:00
Christopher Collins
fe5b80ea58 ext: lib: mgmt: mcumgr management infrastructure.
The goal of mcumgr is to define a common management infrastructure with
pluggable transport and encoding components.  In addition, mcumgr
provides definitions and handlers for some core commands: e.g., image
management, file system management, and OS managment.

Origin: mcumgr
License: Apache 2.0
URL: https://github.com/apache/mynewt-mcumgr
commit: 59210e372c927e26637696f2198ff2efe8ea6897
Purpose: Introduction of mcumgr
Maintained-by: External

Signed-off-by: Christopher Collins <ccollins@apache.org>
2018-02-20 22:07:52 +01:00
Tomasz Bursztyka
82e832f836 boards/arm: Enabling SPI ports on nucleo_f103rb
Current configuration was choosen to avoid colliding with existing ones
for i2c and uart, but others can be used.

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2018-02-20 12:26:12 -06:00
Tomasz Bursztyka
561161dc0e boards/arm: Enabling SPI ports on nucleo_f030r8
Current configuration was choosen to avoid colliding with existing ones
for i2c and uart, but others can be used (see
drivers/pinmux/stm32/stm32_f0.h)

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2018-02-20 12:26:12 -06:00
Tomasz Bursztyka
c628146eba drivers/pinmux: Provide common SPI1/SPI2 configuration on stm32f0
Other variants exist.

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2018-02-20 12:26:12 -06:00
Tomasz Bursztyka
00b053a4c8 soc/stm32: Add DTS support for SPI port 2 on stm32f030 series
This feature is available on STM32F030x8 and STM32F030xC.

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2018-02-20 12:26:12 -06:00
Johan Hedberg
1e159de848 Bluetooth: Mesh: Use a single transmission from Friend to LPN
As per TSE 10009 the TS will enforce that a Friend ever only uses a
single transmission when sending packets to an LPN. Make sure that our
implementation follows this.

https://www.bluetooth.org/tse/errata_view.cfm?errata_id=10009

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2018-02-20 17:22:23 +02:00
Ruslan Mstoi
76b262cae2 net: pkt: Fix comment typo in word fragment
Fix comment typo in word fragment

Signed-off-by: Ruslan Mstoi <ruslan.mstoi@intel.com>
2018-02-20 09:58:23 -05:00
Ruslan Mstoi
9f376407c0 net: ipv6: Drop NS packet if LL address is too long
This commit fixes the crash of echo_server from overflow in ICMPv6 NS
source link-layer address option.

Fixes #6235

Signed-off-by: Ruslan Mstoi <ruslan.mstoi@intel.com>
2018-02-20 16:54:47 +02:00
Daniel Wagenknecht
1f43e7b684 boards: arm: STM32 boards use DT to configure SPI
Configure SPI using DT for the following STM32 boards:

96b_neonkey
nucleo_f091rc
nucleo_f334r8
nucleo_f401re
nucleo_l432kc
nucleo_l476rg

SPI nodes in <board>.dts file are populated matching boards existing
pinmux default configuration and enabled in Kconfig.defconfig if
SPI is enabled.

For nucleo_l476rg board SPI2 and SPI3 nodes are not yet added, because
of missing pinmux defines.

Fixes #5836

Signed-off-by: Daniel Wagenknecht <wagenknecht.daniel@gmail.com>
2018-02-20 09:47:43 -05:00
Daniel Wagenknecht
44bfd32f22 dts: spi: add remaining SPI fixup defines for STM32
Add SPI fixup defines on STM32 SoC family level for all SPIs that
are supported on one or more SOCs of that SoC family.

Signed-off-by: Daniel Wagenknecht <wagenknecht.daniel@gmail.com>
2018-02-20 09:47:43 -05:00
Daniel Wagenknecht
ab20e83f78 dts: stm32: add SPI nodes and give example for /delete-node/
Most STM32F429 SoCs have 6 SPIs, but STM32F429Vx SoCs only have
4 SPIs. This is one of the rare conditions where device-tree
directive /delete-node/ should be used.

Add spi5 and spi6 node to stm32f429.dtsi. Create file
stm32f429vX.dtsi to delete those nodes and document usage of
/delete-node/ directive.

Signed-off-by: Daniel Wagenknecht <wagenknecht.daniel@gmail.com>
2018-02-20 09:47:43 -05:00
Daniel Wagenknecht
2b26e710f1 dts: stm32: add SPI nodes to dtsi files
Add SPI nodes to existing dtsi files.

Signed-off-by: Daniel Wagenknecht <wagenknecht.daniel@gmail.com>
2018-02-20 09:47:43 -05:00
Yannis Damigos
306298e857 dts/arm/st: Fix SPI1 interrupt priority for STM32f0
STM32F0 family has only 2 interrupt priority bits.

Fixes #6238

Signed-off-by: Yannis Damigos <giannis.damigos@gmail.com>
2018-02-20 09:47:43 -05:00
Daniel Wagenknecht
b4f842db5c dts: stm32: spi2 is not supported on all F4 SoCs
Some stm32f4 SoCs don't support spi2, so remove spi2
device-tree node from stm32f4.dtsi file.

Signed-off-by: Daniel Wagenknecht <wagenknecht.daniel@gmail.com>
2018-02-20 09:47:43 -05:00
Daniel Wagenknecht
34ed38edd5 dts: stm32: fix dts inclusion for stm32f405
stm32f405 is not an expansion of stm32f411, since stm32f411 has more
SPIs than stm32f405.
Fix this by including stm32f401.dtsi in stm32f405.dtsi
(instead of stm32f411.dtsi).

Signed-off-by: Daniel Wagenknecht <wagenknecht.daniel@gmail.com>
2018-02-20 09:47:43 -05:00
Vinayak Kariappa Chettimada
b55e7b784c Bluetooth: controller: Use RADIO_TIES_US to define inter event space
Use RADIO_TIES_US to define minimum inter event space
between concurrent master and slave roles below which it
will be detected as a probable drift towards each other
leading to them overlapping on each other.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2018-02-20 15:34:55 +01:00
Jukka Rissanen
10ef346aed drivers: net: loopback: Fix possible double unref
If we could not send the packet, then do not release the net_pkt
as that will be released in net_if.c:net_if_tx() if driver send()
fails.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2018-02-20 15:28:23 +02:00
Ravi kumar Veeramally
5490d28d8c net: app: Fix issue while configuring local context
When IPv6 and IPv4 both are enabled and net_app acting as a client,
configuring local context has one glitch.

After selection of IPv6 context as a default context  function
should return immediately, otherwise it continue to select IPv4
context as default context.

Signed-off-by: Ravi kumar Veeramally <ravikumar.veeramally@linux.intel.com>
2018-02-20 14:50:39 +02:00
Ravi kumar Veeramally
88e8119078 net: app: Fix connection closure issues with net_app_ctx
In case of TCP and node acting as a APP_SERVER it can have multiple
concurrent connections. Calling close callback when there are still
active connections exists, causing an issue.

e.g. When a node acting as a HTTP server and can support multiple
TCP connections. Let's say one of the connection is in closing
state and the rest are still in active state. net_app_ctx is
calling close (http_closed) callback of registered upper layers.
HTTP assumes all the connections are closed and unref all the
connection related stuff.

Call the close callback only when there are no active connections.
Patch has also moved TCP stuff under one #ifdef.

Signed-off-by: Ravi kumar Veeramally <ravikumar.veeramally@linux.intel.com>
2018-02-20 14:50:39 +02:00
Pedro Martucci
a495b31ee0 sample: net: RPL mesh sample over QEMU
Create a net sample to setup a multi-node RPL mesh network using QMEU.
To enable this, it was necessary implement a hw filter on IEEE 802.15.4
UART Pipe driver and create a QEMU pipe management on cmake.

This sample use a tool developed on zephyr net-tools repository called
virtual-hub.

Signed-off-by: Pedro Martucci <pedropaulomartucci@gmail.com>
2018-02-20 14:47:14 +02:00
Pedro Martucci
ede5b8ffc3 drivers/ieee802154: Add hw filtering support for upipe driver
Implements HW filtering for IEEE802.15.4 UART Pipe driver.

Signed-off-by: Pedro Martucci <pedropaulomartucci@gmail.com>
2018-02-20 14:47:14 +02:00
Jukka Rissanen
023628f3d7 net: Set net_buf alloc timeout for IPv4 ARP and IPv6 ND
Instead of having K_FOREVER when allocating a packet in IPv4 ARP
and IPv6 ND, set a timeout so that we do not have a case where we
would wait net_buf forever.

Fixes #5484

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2018-02-20 14:31:39 +02:00
Vitor Massaru Iha
e84d1a4f31 drivers: gpio: Nios-II: Fix condition on gpio_nios2_config_oput_port()
(flags & GPIO_DIR_IN) is always zero because GPIO_DIR_IN is 0, then
we have to use GPIO_DIR_MASK.

Signed-off-by: Vitor Massaru Iha <vitor@massaru.org>
2018-02-19 20:49:20 -05:00
Luiz Augusto von Dentz
ec6188bc06 net: bt: Call net_if_carrier_down when disconnected
If IPSP channel is disconnected call net_if_carrier_down instead of
net_if_down since the later may still attempt to send packets while the
former just discard them immediatelly.

Fixes #5317

Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
2018-02-19 14:46:33 +02:00
Luiz Augusto von Dentz
656bab0361 net: Introduce net_if_carrier_down
This introduces net_if_carrier_down so the L2 driver can inform when it
has lost connectivity so all packets shall be flushed and the interface
should be put down.

Fixes #5317

Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
2018-02-19 14:46:33 +02:00