Commit graph

41264 commits

Author SHA1 Message Date
Ioannis Glaropoulos
6e41f9e181 arch: arm: enable/disable MPU using API functions
This commit forces arm_mpu_init() to use the provided API
functions to enable and disable the MPU. Besides the clean-up
the commit enforces the MPU driver to use data and instruction
synchronization barriers every time the MPU is enabled. This
is aligned with the programming recommendations by ARM.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2018-07-16 20:56:25 -04:00
Andrei Emeltchenko
3612802b95 samples: webusb: Change webusb app repository name
Following stripping CDC ACM code from webusb change also webapp.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2018-07-16 19:21:43 -04:00
Andrei Emeltchenko
354e138f01 samples: webusb: Reformat README txt to rst
Reformat README to rst standard fixing minor details.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2018-07-16 19:21:43 -04:00
Anas Nashif
942ab7ed35 esp32: include register headers in soc.h
This fixes a build issue on esp32 that was introduced recently with the
merge of an old PR.

Include the register headers in soc.h rather than soc.c and make them
available to other code via soc.h

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-07-16 19:00:32 -04:00
Anas Nashif
c8b114f25d samples: exclude socket samples on esp32
ESP32 does not like newlib, exclude for now to get a clean sanitycheck
run. We have issues about this already.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-07-16 19:00:32 -04:00
Johann Fischer
f5b91bad17 drivers: usb_dc_kinetis: fix gcc 7.3.1 warning
Use the same variable type for the odd bit handling
and fix the boolean expression warning with gcc 7.3.1.

Signed-off-by: Johann Fischer <j.fischer@phytec.de>
2018-07-16 13:54:02 -05:00
Kumar Gala
16ff8ca2c2 libc: newlib: Enable extended linux errno defines
We utilize defines like -ESHUTDOWN in the network stack.  To support
this errno value with newlib we need to enable
__LINUX_ERRNO_EXTENSIONS__.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2018-07-16 11:33:07 -05:00
Kumar Gala
57fbc66882 ext: hal: altera: Add ifdef protection for __LINUX_ERRNO_EXTENSIONS__
__LINUX_ERRNO_EXTENSIONS__ gets defined in HAL/inc/sys/alt_errno.h,
however we also need to define this if we are building with newlib.  So
add a simple ifdef guard to only define __LINUX_ERRNO_EXTENSIONS__ if
its not defined already.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2018-07-16 11:32:42 -05:00
Diego Sueiro
ecc891b296 drivers: Fix asserts in i.MX UART Driver
After running some tests which enable assert macro I found some issues
with the i.MX UART configuration.

This patch configures the Tx Fifo Watermark and Modem Mode accordingly.

Signed-off-by: Diego Sueiro <diego.sueiro@gmail.com>
2018-07-16 11:04:18 -05:00
qianfan Zhao
32e6d0ca87 usb: set SN string descriptor at runtime
implement a method that can set SN string descriptor at runtime.
but runtime SN and default SN configured in Kconfig must has the
same length.

Fixes: #6593

Signed-off-by: qianfan Zhao <qianfanguijin@163.com>
2018-07-16 17:20:58 +02:00
Krzysztof Chruscinski
46db70ac4c doc: subsys: logging: internal thread and thread wake up
Documenting new logger features: waking up processing thread
and internal logger processing thread.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2018-07-16 11:12:16 -04:00
Krzysztof Chruscinski
000aaf96fb logging: Add internal thread for log processing
When enabled, logger is creating own thread which processes buffered
logs. When no logs to process, thread sleeps for configurable period.
Thread can be waken up if number of buffered log messages exceeds
configured threshold. Logging sample aligned to use new feature.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2018-07-16 11:12:16 -04:00
Krzysztof Chruscinski
1ba542c352 logging: Logger to wake up logs processing thread
Added configurable threshold of number of buffered log messages
on which log wakes up thread which processes buffered logs. Thread
ID is provided during logger initialization. Feature is optional
and can be disabled by setting CONFIG_LOG_PROCESS_TRIGGER_THR to 0.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2018-07-16 11:12:16 -04:00
Kumar Gala
8b8198b58f samples: mesh_demo: Fix Fix warning when building with newlib
If we use newlib the isdigit (and other similar functions) return an
error as char can possibly be viewed as signed:

usr/include/ctype.h:57:54: error: array subscript has type ‘char’ [-Werror=char-subscripts]
 #define __ctype_lookup(__c) ((__ctype_ptr__+sizeof(""[__c]))[(int)(__c)])

Explicity cast to unsigned char so we deal with both this warning and
possible warning when -Wpointer-sign is enabled.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2018-07-16 11:06:20 -04:00
Kumar Gala
f035395ed0 bluetooth: at: Fix warning when building with newlib
If we use newlib the isdigit (and other similar functions) return an
error as char can possibly be viewed as signed:

usr/include/ctype.h:57:54: error: array subscript has type ‘char’ [-Werror=char-subscripts]
 #define __ctype_lookup(__c) ((__ctype_ptr__+sizeof(""[__c]))[(int)(__c)])

Explicity cast to unsigned char so we deal with both this warning and
possible warning when -Wpointer-sign is enabled.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2018-07-16 11:06:20 -04:00
Kumar Gala
c2862eda4d bluetooth: mesh: shell: Fix warning when building with newlib
If we use newlib the isdigit (and other similar functions) return an
error as char can possibly be viewed as signed:

usr/include/ctype.h:57:54: error: array subscript has type ‘char’ [-Werror=char-subscripts]
 #define __ctype_lookup(__c) ((__ctype_ptr__+sizeof(""[__c]))[(int)(__c)])

Explicity cast to unsigned char so we deal with both this warning and
possible warning when -Wpointer-sign is enabled.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2018-07-16 11:06:20 -04:00
Ioannis Glaropoulos
1d9bb5d793 kernel: minor improve in SYS_CLOCK_HW_CYCLES_PER_SEC help description
Minor improvement in the help text description of Kconfig option
SYS_CLOCK_HW_CYCLES_PER_SEC, clarifying that the option can be
defined in either SOC or Board Kconfig file.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2018-07-16 11:01:47 -04:00
Arjun Warty
f5569a9dd3 frdm_k64f: dts: Addition of a Flash Partion
Addition of a Flash partition to the 'frdm_k64f.dts' file in the
currently existing 'Application Area' (Partition Location: 0x0001e000
Partition Size:0x00002000). This partitioned area can be used as a FCB
for Bluetooth and other applications.

Signed-off-by: Arjun Warty <arjun.warty@nxp.com>
2018-07-16 09:56:24 -05:00
Spoorthi K
02addfff50 tests: poll: Add description and RTM links
Add description and RTM links for polling tests.
Also uncrustify changed indentations.

Signed-off-by: Spoorthi K <spoorthi.k@intel.com>
2018-07-16 08:23:42 -04:00
Ramakrishna Pallala
afad09dba6 samples: boards: nrf52: Refactor power_mgr app code
Removed redundant and unused config options from conf files.

Added separate files for handing power management and device
handling functions.

Added the PM policy based on the next timeout event instead of
simply advancing to the next power state.

Signed-off-by: Ramakrishna Pallala <ramakrishna.pallala@intel.com>
2018-07-15 22:48:34 -04:00
Ramakrishna Pallala
a20cc9e78b arch: arm: nrf52: Enable interrupts on wake up from sleep
Enable the interrupts on wake up from low power states

Signed-off-by: Ramakrishna Pallala <ramakrishna.pallala@intel.com>
2018-07-15 22:48:34 -04:00
Ramakrishna Pallala
5f44309018 drivers: timer: nrf: Fix expected_sys_ticks issue in case of k_busy_wait
In case of tickless kernel, k_busy_wait() calls __enable_sys_clock()
which in turn calls _set_time() with maximum RTC counter programmable
value. This will set the expected_sys_ticks to maximum tick value even
though there is no explicit timeout is requested from the kernel or from
an application. In this scenario, if an app calls k_sleep() which in
turn calls _add_timeout() which will adjust timeout value as per the
elapsed program time which based on incorrectly set expected_sys_ticks.

To fix this issue, we should not set the expected_sys_ticks in case
of __enable_sys_clock() as it just requests to run the counter but
a timeout event request.

Signed-off-by: Ramakrishna Pallala <ramakrishna.pallala@intel.com>
2018-07-15 22:48:34 -04:00
Vitor Massaru Iha
f8718758e5 include: drivers: gpio: Turn functions generic - esp32
On 'drivers/i2c_esp32.c' there are functions useful for other
drivers. Functions and struct went moved to:

 * arch/xtensa/soc/esp32/peripheral.h
 * arch/xtensa/soc/esp32/soc.h
 * include/drivers/gpio/gpio_esp32.h

Signed-off-by: Vitor Massaru Iha <vitor@massaru.org>
2018-07-15 16:13:36 -04:00
Krzysztof Chruscinski
6b01c89935 logging: Add log initialization to system startup
Log API can be used before user can explicitly initialize the logger.
In order to ensure that logger core is ready to buffer log messages
it must be initialize as early as possible. Initialization does not
include initialization of default backend since driver may not be
ready and backend is needed only when log messages are processed.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2018-07-14 08:32:44 -04:00
Ulf Magnusson
953cc12464 kconfiglib: Fix paths for gsource'd files in the documentation
$srctree was changed to an absolute path when the documentation building
was switched over to CMake, which uncovered a bug in Kconfiglib that
caused symbols in gsource'd files to show up with absolute paths in the
auto-generated Kconfig documentation.

This commit adds upstream commit ac692af07a123 ("Fix absolute $srctree
prefixes showing up on gsource'd files"), which fixes it.

Upstream commit message:

  When using gsource with $srctree set to an absolute path, the $srctree
  prefix would show up in MenuNode.filename, trickling its way into e.g.
  generated documentation.

  This was due to a broken test: os.path.isabs() was checked after
  joining the pattern with $srctree, making it mistake an absolute
  $srctree for an absolute path in the Kconfig file.

  Fix the test.

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2018-07-14 08:17:58 +02:00
Anas Nashif
93ca721c48 xtools: set toolchain vendor to zephyr
For xtools, we set the vendor to zephyr directly and do not get it from
a variable.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-07-13 16:17:23 -05:00
Robert Lubos
f25baebf27 net: samples: Add TLS support to http_get and big_http_download samples
Add config file that enables to run http_get and big_http_download
samples with TLS enabled and receive the data through HTTPS.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2018-07-13 15:03:45 -04:00
Robert Lubos
47f908872d net: tls: Implement poll with support for mbedTLS pending data
Implement socket poll function for TLS socket. In addition to regular
poll checks, we have to check if there is some decrypted data pending on
mbedTLS.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2018-07-13 15:03:45 -04:00
Robert Lubos
07f1a1fe2c net: tls: Handle TLS socket send and recv
Implement socket recv/recvfrom and send/sendto functions.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2018-07-13 15:03:45 -04:00
Robert Lubos
d08fd07f60 net: tls: Handle TLS handshake
Implement TLS handshake handling in socket connect/accept functions.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2018-07-13 15:03:45 -04:00
Robert Lubos
2d4815dd15 net: tls: Add mbedTLS logging
Add mbedTLS logging function to enable logs from mbedTLS.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2018-07-13 15:03:45 -04:00
Robert Lubos
ccdc6a6bdf net: tls: Add mbedTLS entropy source
Add entropy source for mbedTLS. If no entropy driver is available, use
non-secure, software entropy source.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2018-07-13 15:03:45 -04:00
Robert Lubos
a7c698d936 net: tls: Add TLS context allocation/deallocation
Add tls_context structure that stored data required by TLS socket
implementation. This structure is allocated from global pool during
socket creation and freed during socket closure.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2018-07-13 15:03:45 -04:00
Robert Lubos
00a69bf9bb net: socket: Add switch to enable TLS socket option support
Add switch to a socket layer that will enable switching socket API to
TLS secure sockets. At this point there is no secure sockets
implementation, so secure socket calls redirect to regular socket calls.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2018-07-13 15:03:45 -04:00
Carles Cufi
2516aa07e4 doc: Add doxygen to Chocolatey package list
In order to build the documentation one needs Doxygen. Now that building
the documentation is supported on Windows, include this package.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2018-07-13 15:02:24 -04:00
Carles Cufi
2af9a9e628 doc: cmake: Use flexible variables for inclusion
In order to be able to use this CMakeLists.txt file from other projects,
use the proper variables so that they refer to their own paths.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2018-07-13 19:26:22 +02:00
Maureen Helm
3161617840 ext: mcux: Add a script to import new versions of mcux
NXP periodically releases new versions of the MCUXpresso SDK (mcux).
Automate the process of importing mcux into zephyr with a python script.

Example usage:

$ import_mcux_sdk.py -f SDK_2.3.0_EVK-MIMXRT1050.tar.gz

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2018-07-13 11:32:55 -05:00
Kumar Gala
cfd5c9b43d samples: nats: Fix warning when building with newlib
If we use newlib the isdigit (and other similar functions) return an
error as char can possibly be viewed as signed:

usr/include/ctype.h:57:54: error: array subscript has type ‘char’ [-Werror=char-subscripts]
 #define __ctype_lookup(__c) ((__ctype_ptr__+sizeof(""[__c]))[(int)(__c)])

Explicity cast to unsigned char so we deal with both this warning and
possible warning when -Wpointer-sign is enabled.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2018-07-13 09:42:14 -05:00
Maureen Helm
6693537c54 dts: yaml: Align spi driver clocks bindings
The common spi.yaml defines an optional clocks property that can be
overridden by specific spi driver bindings to be required. The
description and generation attributes are duplicated.

This fixes build warnings:
extract_dts_includes.py: Merge of 'description': 'Clock gate control
	information'  overwrites 'Clock gate information'.
extract_dts_includes.py: Merge of 'generation': 'structures' overwrites
	'define'.

And introduces a different build warning, which is intended behavior:
extract_dts_includes.py: Merge of 'category': 'required'  overwrites
	'optional'.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2018-07-13 09:41:34 -05:00
Maureen Helm
4433d9d3d2 dts: yaml: Align serial driver clocks bindings
The common uart.yaml defines an optional clocks property that can be
overridden by specific serial driver bindings to be required. The
description and generation attributes are duplicated.

This fixes build warnings:
extract_dts_includes.py: Merge of 'description': 'Clock gate control
	information'  overwrites 'Clock gate information'.
extract_dts_includes.py: Merge of 'generation': 'structures'  overwrites
	'define'.

And introduces a different build warning, which is intended behavior:
extract_dts_includes.py: Merge of 'category': 'required'  overwrites
	'optional'.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2018-07-13 09:41:34 -05:00
Maureen Helm
bbda4455e4 dts: yaml: Add missing id property to nxp bindings
Fixes build warnings:

extract_dts_includes.py: 'id' property missing in 'Kinetis GPIO'
	binding. Using '<unknown id>'.
extract_dts_includes.py: 'id' property missing in 'Kinetis I2C
	Controller' binding. Using '<unknown id>'.
extract_dts_includes.py: 'id' property missing in 'Kinetis Pinmux'
	binding. Using '<unknown id>'.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2018-07-13 09:41:34 -05:00
Maureen Helm
f76f7585ab dts: yaml: Remove unused nxp,kw41z-sim.yaml
Kinetis SoCs were updated to use nxp,kinetis-sim.yaml in commit
3291735d11.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2018-07-13 09:41:34 -05:00
Niranjhana N
ed72015dbe samples: console: add print statements for user
Add print statements to let user know what kind
of input the test is waiting for.

Signed-off-by: Niranjhana N <niranjhana.n@intel.com>
2018-07-13 08:48:40 -04:00
Vikrant More
b8b94280b9 samples: mesh: boards: nrf52: avoid responding to wrong messages
If temperature value are out of range which is from 0x0320
to 0x4E20 then no relevant get message handler will execute.

Signed-off-by: Vikrant More <vikrant8051@gmail.com>
2018-07-13 15:48:16 +03:00
Vikrant More
460c585406 samples: mesh: boards: nrf52: edit struct for gen. level
Edit data types defined in struct for gen. level.

Signed-off-by: Vikrant More <vikrant8051@gmail.com>
2018-07-13 15:48:16 +03:00
Vikrant More
00cd491ffe samples: mesh: boards: nrf52: modifications as per 3.3.2.2.3
Added extra case under state binding's switch statement for
Lightness i.e DELTA_LEVEL. Also upgrade binding between

1. root element's LEVEL state & Light Lightness Actual state.
2. Light Lightness Linear state & Light Lightness Actual state.
3. Light CTL lightness state & Light Lightness Actual state

This is as per Bluetooth Mesh Model Specification 3.3.2.2.3.

Signed-off-by: Vikrant More <vikrant8051@gmail.com>
2018-07-13 15:48:16 +03:00
Vikrant More
2708ce561d samples: mesh: boards: nrf52: randomize publishers TID on boot
Now on reboot, NODE as client do not start message publishing
with TID = 1. Instead of that it would start with any random value
from 0 to 255.

Signed-off-by: Vikrant More <vikrant8051@gmail.com>
2018-07-13 15:48:16 +03:00
Vikrant More
06f69b5c64 samples: mesh: improved code readability & remove redudancy
Improved code readability by declaring some pre-processor
definitions in device_composition.c

Remove model_instance variable from some structures define in
device_composition.h & its relevant code.

Signed-off-by: Vikrant More <vikrant8051@gmail.com>
2018-07-13 15:48:16 +03:00
Vikrant More
c58f102c90 samples: mesh: boards: nrf52: improved vendor model
Update Vendor model message handlers & make it to work as per
TID like other Models defined by SIG. Removed union based data
extraction mechanism.

Signed-off-by: Vikrant More <vikrant8051@gmail.com>
2018-07-13 15:48:16 +03:00
Vikrant More
170ca38b75 samples: mesh: boards: nrf52: upgrade to pass PTS test
Updated state Binding as per PTS test requirements. Now if
gen_onoff_server & gen_onpowerup_server received Prohibited values
then they will not react on it further. Plus make necessary changes
wherever required for message handlers as per Mesh Model
Specification which is mostly regarding to default & range values.
Now right Status code would get publish in response to set lightness
& temperature range. Also upgrade Message handler
gen_delta_set_unack() algorithm as per PTS requirements.

Signed-off-by: Vikrant More <vikrant8051@gmail.com>
2018-07-13 15:48:16 +03:00