Commit graph

41120 commits

Author SHA1 Message Date
Mariusz Skamra
74318e61ca Bluetooth: Change l2cap accept callback return error
This changes EKEYREJECTED to EPERM due to newlib dependencies
errors.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2018-10-26 16:56:01 +01:00
Aurelien Jarno
8d204f85af drivers: entropy nRF5x: hide the driver on non-nRF boards
The nRF5x entropy driver does not depends on SOC_FAMILY_NRF is therefore
visible and selectable non-nRF5x SoCs. Fix that.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2018-10-26 16:26:37 +01:00
Sebastian Bøe
5e23278bab Bluetooth: Controller: Use a different flag for speed optimization
The bluetooth controller has been using the flag '-Ofast' to keep
within a real-time limit. There are two problems with this; firstly,
when a project should be optimized for size it is standard to use -O2,
not -Ofast.

Secondly, optimization flags have been deemed to be non-portable, so
instead of directly using "-Ofast" we should use the intent-macro
OPTIMIZE_FOR_SPEED_FLAG to ensure toolchain portability.

Testing has shown that we are still within the real-time limit when
changing from -Ofast to -O2. -Ofast is about 1us and 1% faster, but
increases the code size by 13kB (5% of the available flash on a
nRF51).

Since the slowdown is comparatively small compared to the code size
increase we have decided to use -O2 in place of -Ofast.

Other optimization combinations were also measured and their results
can be seen below:

-Ofast in BLE Controller and in #pragma in entropy driver.

        Memory region         Used Size  Region Size  %age Used
                   FLASH:      138920 B       256 KB     52.99%

        [bt] [INF] encode_control: l: 6, 6, 7; t: 75, 45, 132.

-O2 in BLE Controller and in #pragma in entropy driver.

        Memory region         Used Size  Region Size  %age Used
                   FLASH:      125840 B       256 KB     48.00%

        [bt] [INF] encode_control: l: 6, 6, 7; t: 75, 51, 133

-O3 in BLE Controller and in #pragma in entropy driver.

        Memory region         Used Size  Region Size  %age Used
                   FLASH:      138920 B       256 KB     52.99%

        [bt] [INF] encode_control: l: 6, 6, 7; t: 75, 50, 132.

No extra CFLAGS for BLE and entropy driver (pragmas removed), using
CONFIG_SIZE_OPTIMIZATIONS=y

        Memory region         Used Size  Region Size  %age Used
                   FLASH:      120124 B       256 KB     45.82%

        [bt] [ERR] isr_rx_conn: assert: '!radio_is_ready()' failed

No extra CFLAGS for BLE and entropy driver (pragmas removed), using
CONFIG_SPEED_OPTIMIZATIONS=y

        Memory region         Used Size  Region Size  %age Used
                   FLASH:      138004 B       256 KB     52.64%

        [bt] [INF] encode_control: l: 6, 6, 7; t: 61, 51, 130.

NB: RAM usage differences were insignificant.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2018-10-26 15:55:49 +01:00
Vikrant More
5a341f5590 samples: mesh: nrf52: upgrade bound states publish mechanism
If user aggresively vary the state then previous mechanism
failed to publish status of other bounded states since it
has to publish multiple things back to back.
This PR repair the things.

Signed-off-by: Vikrant More <vikrant8051@gmail.com>
2018-10-26 15:26:35 +01:00
Martin Benda
f119ffedd5 boards: atsamd20_xpro: Add led/button info to DTS
Add on-board yellow LED and user button to the device tree.

Signed-off-by: Martin Benda <martin.benda@omsquare.com>
2018-10-26 14:52:06 +01:00
Jukka Rissanen
b34da1ad62 net: Drop IPv4 packet if source address is broadcast one
Source address cannot be broadcast one so check it properly.

Fixes #10782

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2018-10-26 15:37:21 +03:00
Jukka Rissanen
7d83543379 net: Properly handle pkt IPv4 broadcast destination address
If we receive an IPv4 that has broadcast destination address, then
properly handle it.
This means that for
  * ICMPv4, if CONFIG_NET_ICMPV4_ACCEPT_BROADCAST is set (this is the
    default value) and we receive echo-request then accept the packet.
    Drop other ICMPv4 packets.
  * TCP, drop the packet
  * UDP, accept the packet if the destination address is the broadcast
    address 255.255.255.255 or the subnet broadcast address.
    Drop the packet if the packets broadcast address is not in our
    configured subnet.

In sending side, make sure that we do not route broadcast address
IPv4 packets back to us. Also set Ethernet MAC destination address
properly if destination IPv4 address is broadcast one.

Fixes #10780

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2018-10-26 15:37:21 +03:00
Jukka Rissanen
a85a123477 tests: net: ip-addr: Add checks for IPv4 broadcast addresses
Make sure that IPv4 broadcast address checks work as expected.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2018-10-26 15:37:21 +03:00
Jukka Rissanen
aa2240a444 net: ip: Add function to check if IPv4 address is broadcast one
Add utility function that returns true if given IPv4 address is
a broadcast address. This will be used in later commits to check
received packet IPv4 source and destination addresses.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2018-10-26 15:37:21 +03:00
Jukka Rissanen
5f66852f62 net: ipv4: Fix network byte ordering for netmask related computing
Remove extra ntohl() calls when checking IPv4 address against
a subnet address.

Convert also the IPv4 address to be const as the netmask related
functions do not change its value.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2018-10-26 15:37:21 +03:00
Jukka Rissanen
601426866a net: Set used transport protocol to net_pkt
Cache the used transport protocol in net_pkt. This way we can
avoid traversing IP header to get the last protocol in network
packet. This is mostly an issue in IPv6 which can have a long
list of extension headers after IPv6 header and before the
transport protocol header.

Fixes #10853

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2018-10-26 14:08:43 +03:00
Vikrant More
87f5fc63fc samples: mesh: nrf52: follow the standard while naming variables
Change variable names to follow standard.

Signed-off-by: Vikrant More <vikrant8051@gmail.com>
2018-10-26 10:21:04 +01:00
Vikrant More
ee6e55ed33 samples: mesh: nrf52: removed unnecessary Models
Generic OnOff Server & Client has removed from Second
element which is redundant.

Signed-off-by: Vikrant More <vikrant8051@gmail.com>
2018-10-26 10:21:04 +01:00
Vikrant More
acbaaed31a samples: mesh: nrf52: improvement in status responses details
If transition is in process, then as per current implementation bound
states only respond with Present value. But with this commit, now
bound states too would respond with present, target & remaining time
values in status response.

Signed-off-by: Vikrant More <vikrant8051@gmail.com>
2018-10-26 10:21:04 +01:00
Vikrant More
ceab98f825 samples: mesh: nrf52: Vendor Model opcodes redefine
Redefine opcode values for Vendor Model to mimic like
Generic OnOff Server opcode values for sake of convenience.

Signed-off-by: Vikrant More <vikrant8051@gmail.com>
2018-10-26 10:21:04 +01:00
Vikrant More
06862268aa samples: mesh: nrf52: coding style improvements
Removed unwanted lines of codes. In transition.c
define Timers just before they get utilised.

Signed-off-by: Vikrant More <vikrant8051@gmail.com>
2018-10-26 10:21:04 +01:00
Vikrant More
0a11c958fe samples: mesh: nrf52: improvements in gen. delta message handler
Now in case of Generic Delta handler, if message with same TID
received after 6 seconds with same source address would consider
as new transaction instead of ignoring it.

Signed-off-by: Vikrant More <vikrant8051@gmail.com>
2018-10-26 10:21:04 +01:00
Vikrant More
7e40faa37f samples: mesh: nrf52: storing of some Prime states on SoC flash
With this commit it is now possible to save some Mesh Model
Servers State on SoC flash. This impacts initialization &
state binding after NODE reset & that is why some additional
modification has done as per requirements & removed some
code & comments which are redundant as per current
implementation.

Signed-off-by: Vikrant More <vikrant8051@gmail.com>
2018-10-26 10:21:04 +01:00
Vikrant More
c0f893480a samples: mesh: nrf52: short time multireset bt-mesh unprovisioning
In general, Bluetooth Mesh provisioning process could be failed
because of any reason. Using some h/w interrupt we can call
bt_mesh_reset() or something which will push device into factory
reset mode.

But with some actual products it is not always possible or feasible
to add extra h/w to achieve this goal.

This commit adds facility to push device into factory reset mode
using power reset. As per current implementation user have to
do 5 times reset so that gap between two consecutive reset
should not exceed 7 seconds.

Co-authored-by: Laczen JMS <laczenjms@gmail.com>

Signed-off-by: Vikrant More <vikrant8051@gmail.com>
2018-10-26 10:21:04 +01:00
Vikrant More
0030aa9e0a samples: mesh: nrf52: support for extra status responses
With this commit, IUT will send additional status responses
whenever required as per PTS requirements.

Signed-off-by: Vikrant More <vikrant8051@gmail.com>
2018-10-26 10:21:04 +01:00
Vikrant More
9d5697f50a samples: mesh: nrf52: added separate Server's Publisher functions
Separately defined functions for Servers. This would help
to send extra status responses whenever required.

Signed-off-by: Vikrant More <vikrant8051@gmail.com>
2018-10-26 10:21:04 +01:00
Kumar Gala
1becbfcb8b drivers: display: ssd1673: Fixup dts support
There were several issues in the dts binding for the ssd1673 display:
* binding file mixed description & generation up together
* Use of BASE_LABEL
* orientation-flipped should have been of type boolean

Update the binding file to reflect these changes, and made associated
changes to dts_fixup.h and driver as needed.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2018-10-26 08:13:04 +01:00
Johann Fischer
dd964ad38a boards: reel_board: add link to the board schematic
Add link to the board schematic.

Signed-off-by: Johann Fischer <j.fischer@phytec.de>
2018-10-25 23:49:16 +01:00
Vinayak Kariappa Chettimada
a2b26b9811 clock_control: nRF5x: Workaround Errata [192] LFRC frequency offs
Workaround the Errata [192] CLOCK: LFRC frequency offset
after calibration.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2018-10-25 23:36:53 +01:00
Gil Pitney
40bf45a81d samples: net: wifi: Fix README, to account for new shell regression
This updates documentation to account for the new shell which
does not support 'select' for command context anymore.

Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
2018-10-25 20:47:06 +03:00
Gil Pitney
92f4837413 samples: net: wifi: Remove sleep K_FOREVER, which asserts.
The wifi shell sample asserts when trying to do a sleep
forever.

The sleep should not be necessary, so removing it.

Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
2018-10-25 20:46:38 +03:00
Gil Pitney
621ec506e2 net: wifi: Update connect cmd to deal with new shell quoted args
Previously, the wifi shell needed to remove the quotes from the
SSID parameter, passed in by the underlying shell.

The new shell is now able to parse quoted strings as arguments,
so this adjustment can be removed.

Otherwise, it results in a failure to connect to an AP, as the first
character of the SSID name is stripped off.

Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
2018-10-25 20:46:38 +03:00
Szymon Janc
2abd05e9fc Bluetooth: controller: Compile conn complete due to cancel conditionally
BT_HCI_ERR_UNKNOWN_CONN_ID can only be sent when master role is enabled.

Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
2018-10-25 17:03:59 +01:00
Szymon Janc
b732a9a69b Bluetooth: host: Compile master role conn complete conditionally
Connection complete event with error code can be received only for
central role and can be compiled conditionally.

Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
2018-10-25 17:03:59 +01:00
Ruslan Mstoi
f1c67615cf net: ipv6: Add Destination Options Header support
This patch adds support for IPv6 Destination Options Header

Signed-off-by: Ruslan Mstoi <ruslan.mstoi@intel.com>
2018-10-25 16:50:15 +03:00
Jukka Rissanen
72a37e59e5 net: log: Max debug level was forced too high
Wrong Kconfig template was used for max debug level which caused
the max level to be the default level (ERROR). This prevented
all debug prints from showing.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2018-10-25 15:05:19 +03:00
Pawel Dunaj
8d55b03414 subsys: usb: class: hid: Allow control of USB poll interval
This closes issue #10807

Signed-off-by: Pawel Dunaj <pawel.dunaj@nordicsemi.no>
2018-10-25 12:54:24 +01:00
Johannes Hutter
3fb56467bd boards: reel_board: add documentation for udev rules
Flashing the board as described in the docs does not work without having
proper udev rules set. Add documentation for setting those.

Signed-off-by: Johannes Hutter <johannes@proglove.de>
2018-10-25 12:00:24 +01:00
Henrik Brix Andersen
1ee2e69232 boards: reel_board: fix DTS compatible string
Fix the compatible string for the PHYTEC reel_board.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2018-10-25 10:59:44 +01:00
Henrik Brix Andersen
4d77db575e boards: reel_board: add links to the PHYTEC reel board procuct page
Add a link to the reel board product page at PHYTEC to help people in
locating schematics, etc.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2018-10-25 10:58:44 +01:00
Himanshu Jha
fad97ef32c doc: Fix a typo
Fix spelling of `Signed-of-by` -> `Signed-off-by`.

Signed-off-by: Himanshu Jha <himanshujha199640@gmail.com>
2018-10-25 09:10:44 +01:00
Mariusz Skamra
c04b70469b Bluetooth: shell: Add possibility to reject L2CAP CoC conn request
This adds a possibility to reject incomming LE Connection request
due to insufficient authorization or encryption key size.
This is needed for qualification purposes

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2018-10-25 08:02:54 +01:00
Mariusz Skamra
e82ebb2c84 Bluetooth: L2CAP: Extend available return codes from accept cb
This adds support for returning various return codes from
the channel accept callback.
This is needed for implementation of incoming connection
authorization for certification purposes.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2018-10-25 08:02:54 +01:00
Mariusz Skamra
2c6065c2d1 Bluetooth: L2CAP: Rename LE Connection Response Results
Rename connection response results to map those that are defined
for BR.
BR: BT_L2CAP_BR_*
LE: BT_L2CAP_LE_*

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2018-10-25 08:02:54 +01:00
Erwan Gouriou
94d3b6a211 scripts/dts: extract: fix 'compatbible' property typo
Replace "Compatibles" with "compatibles".

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2018-10-25 08:02:33 +01:00
Erwan Gouriou
ba79b2f43f scripts/dts: extract: Provide a value to generated compat #define
Compat define is generated without value. This should not harm,
but since generated flag is a "Kconfig like" define, we migth need it
to hold a value.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2018-10-25 08:02:33 +01:00
AJ Palmer
94099df5c8 boards: arm: nucleo_f746zg: Added SPI support
Added support for SPI 1 available from the arduino connector (plus an
extra gpio). Tested against samples/sensor/bme280.

Signed-off-by: AJ Palmer <ajpcode@hotmail.com>
2018-10-25 07:33:30 +01:00
AJ Palmer
6335f0fa64 boards: arm: nucleo_f746zg: Added PWM support
Added support for PWM 1 on channel 3 (arduino pin D3).

Signed-off-by: AJ Palmer <ajpcode@hotmail.com>
2018-10-25 07:33:30 +01:00
AJ Palmer
91065023ca boards: arm: nucleo_f746zg: Added I2C support
Added DT entry, Kconfig.defconfig options, updated .yaml and
documentation, added pinmux for required pins.

Signed-off-by: AJ Palmer <ajpcode@hotmail.com>
2018-10-25 07:33:30 +01:00
AJ Palmer
c28fd8a670 boards: arm: nucleo_f746zg: Added USB support
Added Kconfig.defconfig options, updated .yaml and documentation, added
pinmux for required pins.

Signed-off-by: AJ Palmer <ajpcode@hotmail.com>
2018-10-25 07:33:30 +01:00
AJ Palmer
36a19b43bc boards: arm: nucleo_f746zg: Added ethernet support
Added Kconfig.defconfig options, updated .yaml and documentation, added
pinmux for required pins.

Signed-off-by: AJ Palmer <ajpcode@hotmail.com>
2018-10-25 07:33:30 +01:00
AJ Palmer
2ba13008b6 boards: arm: nucleo_f746zg: Created new board
Basic board with support for UART, 3 user LEDs and 1 user push-button
switch.

Signed-off-by: AJ Palmer <ajpcode@hotmail.com>
2018-10-25 07:33:30 +01:00
Sebastian Bøe
b9c125f64c kconfig: Hide the DesignWare I2C driver on unsupported platforms
When users are configuring nRF applications they are given the option
to enable the DesignWare I2C driver. But they should not be given this
option because nRF SoCs do not have DesignWare I2C HW.

This commit hides the driver by default by introducing the config
option HAS_I2C_DW.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2018-10-25 07:32:05 +01:00
Himanshu Jha
dab64724eb drivers: crypto: Fix precedence issue in if statement
The logical NOT operator has a higher precedence than bitwise
AND operator. Therefore to make the test in if statement
correct, add parenthesis around the operands of bitwise
AND operator.

Found using Coccinelle.

Semantic Patch Language (SmPL) used:

<smpl>

@@
expression x;
constant C;
@@

- !x & C
+ !(x & C)

</smpl>

Signed-off-by: Himanshu Jha <himanshujha199640@gmail.com>
2018-10-25 07:23:49 +01:00
Sebastian Bøe
e8420d91bb doc: Fix pip3 install command
The getting started guide says to run:

pip3 install -r --user zephyr/scripts/requirements.txt

but this is broken. It should be:

pip3 install --user -r zephyr/scripts/requirements.txt

This fixes #10817 and is a regression from:
0d811b9aee

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2018-10-25 07:21:35 +01:00