Commit graph

99553 commits

Author SHA1 Message Date
Jukka Rissanen
ca8b00a3cc net: if: Make interface IP configuration more flexible
Instead of always allocating both IPv6 and IPv4 address information
to every network interface, allow more fine grained address
configuration. So it is possible to have IPv6 or IPv4 only network
interfaces.

This commit introduces two new config options:
CONFIG_NET_IF_MAX_IPV4_COUNT and CONFIG_NET_IF_MAX_IPV6_COUNT
which tell how many IP address information structs are allocated
statically. At runtime when network interface is setup, it is then
possible to attach this IP address info struct to a specific
network interface. This can save considerable amount of memory
as the IP address information struct can be quite large (depends
on how many IP addresses user configures in the system).

Note that the value of CONFIG_NET_IF_MAX_IPV4_COUNT and
CONFIG_NET_IF_MAX_IPV6_COUNT should reflect the estimated number of
network interfaces in the system. So if if CONFIG_NET_IF_MAX_IPV6_COUNT
is set to 1 and there are two network interfaces that need IPv6
addresses, then the system will not be able to setup IPv6 addresses to
the second network interface in this case. This scenario might be
just fine if the second network interface is IPv4 only. The net_if.c
will print a warning during startup if mismatch about the counts and
the actual number of network interface is detected.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2018-03-27 10:06:54 -04:00
Jukka Rissanen
47dafffb67 net: if: Separate IP address configuration from net_if
Move IP address settings from net_if to separate structs.
This is needed for VLAN support.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2018-03-27 10:06:54 -04:00
Sebastian Bøe
bdc5c72498 samples: Add sample that demonstrates a custom board definition
Add a sample that demonstrates a custom board definition. This proves
that BOARD_ROOT works and can be a useful reference when creating a
custom board definition.

Instead of spending time making up a board, the nrf52840_pca10056
board has been copied as-is. And the hello world sample has been used
as the basis for the application.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2018-03-27 09:35:35 -04:00
Sebastian Bøe
38f8e849b5 doc: Introduce the sample category app. dev. to the docs
There are currently two samples in the
~/zephyr/samples/application_development/ directory. This commit
allows them to be visible in the documentation.

It is not clear why this has not been done already.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2018-03-27 09:35:35 -04:00
Andrzej Głąbek
c4122bb6c1 ext: hal: nordic: Import SVD files for nRF5 SoCs
These files contain addresses of memory-mapped registers and their
bitfields definitions. They may become very useful in debugging.

Origin: nrfx
License: BSD 3-Clause
URL: https://github.com/NordicSemiconductor/nrfx/tree/v1.0.0
commit: cf78ebfea1719d85cf4018fe6c08cc73fe5ec719
Purpose: Facilitate debugging on nRF5 SoCs
Maintained-by: External

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2018-03-27 09:35:21 -04:00
Andrzej Głąbek
3dd8b903d2 ext: hal: nordic: Update nrfx to version 1.0.0
Updates nrfx to the recently released version and adjusts its glue
layer accordingly.
License headers are slightly corrected to match the license text at
https://opensource.org/licenses/BSD-3-Clause.
Deprecated MDK files nrf51xxx_peripherals.h are removed, since they
are replaced by a common file named nrf51_peripherals.h.

Origin: nrfx
License: BSD 3-Clause
URL: https://github.com/NordicSemiconductor/nrfx/tree/v1.0.0
commit: cf78ebfea1719d85cf4018fe6c08cc73fe5ec719
Purpose: Provide peripheral drivers for Nordic SoCs
Maintained-by: External

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2018-03-27 09:35:21 -04:00
Andrzej Głąbek
ad24576501 usb: device: nrf5: Remove support for the ACCESSFAULT event
This event is no longer exposed for the USBD peripheral,
and the newest MDK version (and consequently new nrfx HAL)
does not contain its definition and related bitfields.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2018-03-27 09:35:21 -04:00
Carles Cufi
82f85c6565 doc: samples: hci_uart: Expand instructions for the Controller
Cover the required steps to use the Controller with Linux's BlueZ and
QEMU, and link to the relevant sections in the subsystem developer
guide.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2018-03-27 09:45:08 +02:00
Carles Cufi
9ba007e878 doc; bluetooth: Rework and expand the Bluetooth doc
In order to avoid duplication, move all information relating to QEMU and
BlueZ from samples to subsystems, and expand to cover BlueZ installation
and usage of Controllers with BlueZ and QEMU in detail.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2018-03-27 09:45:08 +02:00
Erwan Gouriou
1ee8eeaccc scripts: extract_dts_include: convert inherited 'id' to 'node_type'
During yaml collapse step, convert inherited 'id' key to 'node_type'.
With this new 'node_type', it's is more easy to apply common treatment
to all bindings that include the same base yaml file but might not
have similar bindings/constraint naming convention.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2018-03-26 14:48:49 -04:00
Bobby Noelte
b6005bfb2a scripts: extract_dts_includes.py: factorize globals for module usage
Prepare to split extract_dts_includes in modules.

extract_dts_includes design is based on globals. Every module must be
able to use (import) them.

Signed-off-by: Bobby Noelte <b0661n0e17e@gmail.com>
2018-03-26 14:48:49 -04:00
Tomasz Bursztyka
dfd92b0602 script/dts: Remove unnecessary empty return on functions
No need to use return at the end of a function when it's not returning
anything.

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2018-03-26 14:48:49 -04:00
Tomasz Bursztyka
7ef3ddee0b scripts/dts: De-clutter main function in extract_dts_includes
Moving logical parts into dedicated functions for clarity.
Factorizing a bit the code for potential future changes (more
'zephyr,xxxx' directives related to CONFIG_ option).

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2018-03-26 14:48:49 -04:00
Tomasz Bursztyka
1134393ac1 scripts/dts: Make extract_dts_includes generating both files by itself
Thus no need to parse twice the .dtsi, .dts and .yaml files.
Simplify provided arguments relevancy, letting argparse generating usage
message by itself.

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2018-03-26 14:48:49 -04:00
Tomasz Bursztyka
b34d156693 scripts/dts: Use 4-spaces tabs instead of 2-space tabs in devicetree.py
Mandated by Python PEP-8.
(And normalize the way we write python in dts scripts also)

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2018-03-26 14:48:49 -04:00
Tomasz Bursztyka
6a9ebdcd18 scripts/dts: Fix Copyright headers
One was missing it and the other was not the new format.

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2018-03-26 14:48:49 -04:00
Spoorthi K
f37507604d tests: kernel: mem_protect: Update platform whitelist
Remove arduino_101 from platform whitelist in testcase.yaml as all the
test cases are not meant to run on Arduino_101.

Signed-off-by: Spoorthi K <spoorthi.k@intel.com>
2018-03-26 14:24:34 -04:00
Sebastian Bøe
0da61744fb device.h: doc: Refactor to keep documentation infront of impl.
The ifdef'ing is re-ordering things so that the documentation is
either to far away from the implementation, or in the wrong
order (implementation and then documentation).

This commit reorders the macros and documentation so that we avoid
long-spanning #ifdef's and we keep the documentation at the head of
the implementation.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2018-03-26 13:17:39 -04:00
Sebastian Bøe
f816c39300 init.h: Fix english in comment
Minor fix to broken english in a comment.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2018-03-26 13:17:39 -04:00
Sebastian Bøe
8356045633 docs: Fix reference to non-existent SYS_INIT_PM macro
The documentation is referencing the macro SYS_INIT_PM, but
SYS_INIT_PM does not exist, the correct name is SYS_DEVICE_DEFINE.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2018-03-26 13:17:39 -04:00
Sebastian Bøe
0de21f8a9b doc: drivers: Include device_config declaration in documentation
There are several references to config_info in this documentation, but
no introduction to what it is. Including this declaration makes it
possible to understand the documentation.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2018-03-26 13:17:39 -04:00
Sebastian Bøe
917d8e2f7b doc: drivers: Re-order error-handling section
The paragraphs on error handling are out-of-place, as they are
abruptly explained in the middle of a section that is about the cruft
involved in declaring and implementing drivers.

This commit moves them into their own section.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2018-03-26 13:17:39 -04:00
Sebastian Bøe
b07cb2924b docs: Use simple english
Simplify the sentence by using simple english.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2018-03-26 13:17:39 -04:00
Anas Nashif
993c350b92 cleanup: replace old jira numbers with GH issues
Replace all references to old JIRA issues (ZEP) with the corrosponding
Github issue ID.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-03-26 13:13:04 -04:00
Anas Nashif
788aa45888 drivers: timer: remove unkown jira ID
Remove RTOS-2676 from the comment, this is a jira issue number that was
used with zephyr in the past and not available anywhere for reference.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-03-26 13:13:04 -04:00
Kumar Gala
ca5964d66d board: x86: tinytile: Enable I2C through DTS
For some reason tinytile was missed in the conversion of quark_se boards
to use DTS for I2C.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2018-03-26 10:51:35 -04:00
Vinayak Kariappa Chettimada
4c49df98e5 Bluetooth: controller: Fix missing device filter clear
Fix missing device filter clearing for cases where whitelist
was used and then in subsequent adv/scan enable it was
unused.

This fixes an assert in ll_filter.c at line 248.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2018-03-26 16:44:35 +02:00
Carles Cufi
8761bf05d1 samples: mgmt: Remove unnecessary mbedTLS reference
Since the base64 encoding and decoding functionalit is now provided by a
separate library, remove the line in the CMakeLists.txt file that refers
to it.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2018-03-26 16:29:27 +02:00
Carles Cufi
ab2d3e70c6 samples: mgmt: Remove unneeded DTC overlay
With the new CONFIG_BOOTLOADER_MCUBOOT option there is no longer a need
to define custom overlays in order for a project to be bootable by
MCUboot. Remove therefore those unnecessary complications in the sample.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2018-03-26 16:29:27 +02:00
Youvedeep Singh
43383701ca include: posix: correcting the return type of sleep.
Currently return type of sleep is int, but as per POSIX 1003.1 it
should be unsigned.

Signed-off-by: Youvedeep Singh <youvedeep.singh@intel.com>
2018-03-26 09:50:17 -04:00
Jukka Rissanen
5afa30ccef drivers: eth: native_posix: No need to sleep in select
We can just use polling mode with 0 timeout when waiting data
to arrive from host OS. The 50ms timeout is not needed.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2018-03-26 15:47:48 +03:00
Tomasz Bursztyka
185ff16675 net/mgmt: Remove spurious k_sem_give()
Caller of that function is the one giving the semaphore.

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2018-03-26 15:07:00 +03:00
Tomasz Bursztyka
807f3e335b net/mgmt: Reenforce pushing events into notification list
Previous way was too lazy. Now let's match exactly for the layer and the
layer code.

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2018-03-26 15:07:00 +03:00
Tomasz Bursztyka
059fc95099 net/mgmt: Ensure that event order is kept as FIFO
Make sure also to increase in_event if only inserting event info was
properly done.
Raising also range limit in Kconfig to a much higher value.

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2018-03-26 15:07:00 +03:00
Jukka Rissanen
4d16076efe tests: net: websocket: Fix null at the end of string
We might access too long string when copying URL.

Coverity-CID: 183041
Fixes #6691

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2018-03-26 13:01:07 +03:00
Jukka Rissanen
4402fbcdd6 samples: net: websocket_console: Do not copy pass end of string
We might access too long string when copying URL.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2018-03-26 13:00:11 +03:00
Ulf Magnusson
e3892d9351 scripts: kconfig: Give symbol locations in warnings
Warnings from Kconfiglib itself always give symbol locations, but the
custom value mismatch warning in kconfig.py doesn't. Make it print the
symbol location(s) too. This is helpful when debugging.

Before:

    warning: UART_QMSI_0_HW_FC was assigned the value "y" but got the
    value "n" -- check dependencies

After:

    warning: UART_QMSI_0_HW_FC (defined at
    .../drivers/serial/Kconfig.qmsi:35,
    .../arch/x86/soc/intel_quark/quark_se/Kconfig.defconfig.series:194)
    was assigned the value "y" but got the value "n" -- check
    dependencies

Signed-off-by: Ulf Magnusson <ulfalizer@gmail.com>
2018-03-26 10:03:57 +02:00
David Maitland
f77469a3bb Bluetooth: controller: Refactor to use max macro
Cleaned up the use of conditional statements to use the max macro.

Fixes #6230.

Signed-off-by: David Maitland <hello@davidmaitland.me>
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2018-03-25 11:33:51 +02:00
Reto Schneider
3642a69a6b doc: boards: Remove hint to ini file
Since commit a792a3d410, adding an ini
file in scripts/sanity_chk/arches/ to support a new board is no longer
needed.

Signed-off-by: Reto Schneider <code@reto-schneider.ch>
2018-03-23 22:21:54 -04:00
Anas Nashif
66d60d2941 boards: delete arduino_101_ble board
This board is the same as curie_ble, so remove duplication and have only
one board definition.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-03-23 16:21:16 -04:00
Vinayak Kariappa Chettimada
91a27358bd drivers: gpio: nrf5: Use popcount and first_lsb_set functions
Use the Zephyr toolchain and architecture defined popcount
and first_lsb_set functions instead of GCC specific
functions.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2018-03-23 16:40:58 +01:00
Vinayak Kariappa Chettimada
89cb10f151 drivers: gpio: nrf5: Add support for port P1 in nRF52840 SoC
Added support for GPIO Port P1 in nRF52840 SoC.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2018-03-23 16:40:58 +01:00
Vinayak Kariappa Chettimada
e9fa157245 drivers: gpio: nRF5: Use lowest IRQ priority level as default
Fix the permitted range of IRQ priority to, 0 to 2, as
maximum one priority level is used, for zero latency IRQs
in nRF51, being an ARM Cortex-M0.

Update the Kconfig default GPIOTE IRQ priority level to the
lowest, for nRF51 a level of 2; for nRF52, a level of 5.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2018-03-23 16:40:58 +01:00
Vinayak Kariappa Chettimada
22d31ece2b boards: nRF5x DK: Fix missing pull up for switches
Fixed missing GPIO_PUD_PULL_UP configuration setting for
push button switches in the nRF51_pca10028, nRF52_pca10040
and nRF52840_pca10056 DK boards.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2018-03-23 16:40:58 +01:00
Carles Cufi
20cd4b551b lib: base64: Add statement of changes
As per the Apache v2 License, state changes made to the original code in
the modified version of the files.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2018-03-23 13:54:48 +01:00
Jukka Rissanen
6170ae5e2e net: websocket: Use system provided base64 function
Instead of using mbedtls_base64, use system provided base64 encoding
function.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2018-03-23 08:30:26 -04:00
Bobby Noelte
a5a29e4efc doc: sphinx: Add Pygment lexer for DTS
Add pygment lexer for DTS code-block.

Fixes #6029

Origin: skiboot, https://github.com/qemu/skiboot
Status:  91350c5a926795d8917a4eff699941361f780476
Description: Syntax highlighting of Device Tree Source (dts)
Dependencies: None
URL: https://github.com/qemu/skiboot/blob/master/doc/DtsLexer.py
commit: 91350c5a926795d8917a4eff699941361f780476
Maintained-by: External
License: BSL-1.0
License Link:
    https://github.com/qemu/skiboot/blob/master/doc/DtsLexer.py

Signed-off-by: Bobby Noelte <b0661n0e17e@gmail.com>
2018-03-23 08:16:49 -04:00
Adithya Baglody
093b8b9a6a tests: kernel: semaphore: Added tests for semaphore.
The following test cases have been added for semaphore.

1. Test simple semaphore give/take from an isr.
2. Test simple semaphore give/take from a task.
3. Test semaphore take with no wait.
4. Test semaphore take with no wait and fails.
5. Test semaphore take with timeout and fails.
6. Test semaphore take with timeout.
7. Test semaphore take with timeout as forever
8. Test semaphore take with timeout from an isr.
9. Test semaphore take on multiple threads.
10. Test semaphore give/take from an isr.
11. Test semaphore multiple threads wait on a semaphore.
12. Test semaphore measure timeouts.
13. Test semaphore measure timeout when give is from another thread.
14. Test semaphore multiple sem take and timeouts.
15. Test semaphore multiple sem take with diff timeout & semaphore.

Signed-off-by: Adithya Baglody <adithya.nagaraj.baglody@intel.com>
2018-03-23 08:04:26 -04:00
Praful Swarnakar
d55387e56f tests: crypto: rand32: move rand32 test out of kernel
This test validates random number generator APIs that
is not related to kernel and should not be part of
kernel tests.

Signed-off-by: Praful Swarnakar <praful.swarnakar@intel.com>
2018-03-23 07:29:18 -04:00
Marti Bolivar
98456b30f8 cmake: fix set_ifndef() usage patterns
If the value argument to set_ifndef() may be unset, the entire value
must be double-quoted to avoid a CMake syntax error.

Fix call sites which don't handle this, or which otherwise make
non-idiomatic use of this function.

Signed-off-by: Marti Bolivar <marti@opensourcefoundries.com>
2018-03-23 05:32:44 -04:00