Commit graph

345 commits

Author SHA1 Message Date
Maureen Helm 4624f13290 ext: mcux: Remove clock_config.c/h
We have never used the mcux clock_config.c/h files, so remove them. We
configure clocks in soc.c instead to allow more options with Kconfigs.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2018-04-24 07:55:48 -05:00
Maureen Helm 57e80e5345 ext: mcux: Reorganize imported drivers into soc family subfolders
We have been combining imported mcux drivers into a flattened directory
structure to maximize driver reuse, but the introduction of additional
nxp soc families (lpc and imx) to zephyr has introduced driver naming
conflicts. This caused us to rename and modify imported files, such as
fsl_gpio.c/h, to make them unique across all three nxp soc families.
This makes updating the the mcux drivers complicated, especially for the
lpc family.

Reoganize the mcux drivers into soc family subfolders, so we can just
copy all the drivers from an mcux distribution (which is done on an
soc-basis) into the appropriate soc family folder. Undo all of the
naming changes that occurred when lpc and imx drivers were originally
imported. Undo the accidental squashing of the kinetis watchdog and dcdc
drivers that occurred when the imx drivers were introduced.

The drawback to this approach is that we have duplicate files when the
same hw ip modules exist in multiple soc families, however there are
only few cases where this occurs, such as fsl_lpuart and fsl_trng.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2018-04-24 07:55:48 -05:00
Maureen Helm 9791597ef9 ext: mcux: Update README to follow template format
A template for documenting non-apache licensed components was introduced
after mcux was originally imported. Update the README to follow the
template in doc/contribute/code_component_README.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2018-04-24 07:55:48 -05:00
Leandro Pereira 2c58de5735 ext: lib: crypto: Update mbedTLS to 2.8.0
This updates mbedTLS to 2.8.0, which fixes CVEs 2018-0488 and
2048-0487, that affects 2.7.0.

Signed-off-by: Leandro Pereira <leandro.pereira@intel.com>
2018-04-21 05:44:24 -07:00
Andrzej Głąbek 998c79d09b drivers: spi: Add shim for nrfx SPIM driver
This adds a translation layer to make the nrfx driver for the nRF SPIM
(SPI Master with EasyDMA) peripheral accessible via the Zephyr's API.
The shim is provided only for nRF52840 because of a hardware anomaly
present in nRF52832. See Anomaly 58 (SPIM: An additional byte is clocked
out when RXD.MAXCNT = 1) in Errata for this chip.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2018-04-12 14:19:53 -04:00
Andrzej Głąbek ea1d14e529 hal: nordic: Move nrfx IRQ related stuff from SPI shim to nrfx_glue
The simple function that helps to integrate nrfx IRQ handlers with
the IRQ_CONNECT macro can be used in shims for various nrfx drivers,
not only the SPI one.
Similarly, the macro for getting the IRQ number from the peripheral
base address needs to be widely available. It should be even moved
to <nrfx_common.h> in some next nrfx update.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2018-04-12 14:19:53 -04:00
David Leach 03b24082ee subsys: net: ip: l2: openthread: Fixed compiler errors and warnings
- Debug code did not compile when level set to DEBUG.
- OpenThread has a define for BASE which conflicts with the BASE
  field in MTB_Type defined in MKW41Z4.h. The change is consistent
  with how it was handled in the KW41 port in OpenThread.

Signed-off-by: David Leach <david.leach@nxp.com>
2018-04-11 16:57:12 +03:00
Diego Sueiro 346165b2e8 serial: Add imx uart driver shim
Adds a shim layer around the imx uart driver to adapt it to the Zephyr
serial interface.

Modem mode was introduce to control it as DCE and DTE and can be
configured in the device tree:
    modem-mode:
        type: int
        category: required
        description: Set the UART Port to modem mode 0 (dce) 1 (dte)
        generation: define

For now only the UART 2 was tested.

Signed-off-by: Diego Sueiro <diego.sueiro@gmail.com>
2018-04-11 08:27:05 +02:00
Diego Sueiro 3afc2b6c61 ext/hal/nxp/imx: Import the nxp imx7 freertos bsp
This code component is used to add Zephyr support on iMX7 processors,
exclusively on Cortex M4 core, and to speed up the development process
it was decided to have it based on NXP FreeRTOS BSP implementation.

The source code was imported from the following folders:
    FreeRTOS_BSP_1.0.1_iMX7D/platform/drivers
    FreeRTOS_BSP_1.0.1_iMX7D/platform/devices

This source code depends on headers and sources from zephyr:
    ext/hal/cmsis

Origin: iMX7D NXP FreeRTOS BSP Peripheral Driver
License: BSD 3-Clause
URL: https://www.nxp.com/webapp/Download?colCode=FreeRTOS_iMX7D_1.0.1_LINUX&appType=license
commit: no commit hash
Purpose: The peripheral driver wraps the H/W for i.MX7 M4 core
Maintained-by: External

Signed-off-by: Diego Sueiro <diego.sueiro@gmail.com>
2018-04-11 08:27:05 +02:00
Andrzej Puzdrowski 00f6fc9643 ext: lib: tinycbor: fix half-FP feature compilation
half-FP feature requires <math.h> form newlib_libc. It was include
wrongly by default. This path fix conduction for related include
directive.

Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
2018-04-06 17:01:49 -04:00
Andrzej Puzdrowski ca1cb05438 ext: lib: tinycbor: fix Zephyr specific settings
This path make logic for enabling float and half-float
support positive driven and fix NEWLIB_LIBC selections for
these features.

Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
2018-04-06 17:01:49 -04:00
Andrzej Głąbek 00397c65bc drivers: spi: Add shim for nrfx SPI driver
This adds a translation layer to make the nrfx driver for the legacy
(i.e. without EasyDMA) nRF SPI peripheral accessible via the updated
Zephyr's API of the SPI driver.
Configuration files are already prepared for adding support for SPIM
(Master with EasyDMA) and SPIS (Slave with EasyDMA) peripherals.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2018-04-04 19:02:35 +02:00
Ulf Magnusson 93689bdc80 kconfig: Remove no-op selects of choice symbols
Selecting a choice symbol is always a no-op, and the latest version of
Kconfiglib prints a warning. This commit removes all selects of choice
symbols, which might make the Kconfig files a bit clearer and gets rid
of the warnings.

This is just a dumb removal. I did not try to guess the intent of each
select.

Fixes #6849

Signed-off-by: Ulf Magnusson <ulfalizer@gmail.com>
2018-03-29 08:57:39 -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 Puzdrowski a8b801f171 ext: nffs: update for enabling statistic
Origin: Apache Mynewt NFFS
URL: https://github.com/apache/mynewt-nffs/tree/master
Commit: 199575aa8b309dfe809cc59b9c6854ccdad9bdf7
Maintained-by: External

This patch introduce version whitch enables NFFS statistic.
Statistic functionalities were (recently) introduced within
mgmtm subsystem.

Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
2018-03-21 17:04:07 +01:00
Anas Nashif e5f1b51f01 debug: fix RTT console Kconfig
Use HAS_ Kconfig option as intended, those are invisible option that
signify support of a certain feature that can be selected by a hardware
or platform.

For RTT and system view this was not dont in an inconsistent way.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-03-19 15:37:26 -04:00
Paul Sokolovsky e82578919a mbedtls: Replace COAP-specific max len setting with generic
Instead of CONFIG_COAP_MBEDTLS_SSL_MAX_CONTENT_LEN, use recently
introduced CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN.

Signed-off-by: Paul Sokolovsky <paul.sokolovsky@linaro.org>
2018-03-18 09:38:22 -07:00
Paul Sokolovsky 7558ce8cdb mbedtls: Add CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN
This value allows to set max payload length of a TLS protocol
message, and passed thru to mbedTLS as MBEDTLS_SSL_MAX_CONTENT_LEN
setting. The only safe value is 16384, which translates to 32KB
of RAM required just for mbedTLS input/output buffers. Any other
value can be configured *only* per a particular application
(e.g. knowing that it won't pass more than spefific amount of
data at once and/or won't connect to a server with a long cert
chain). Previosuly, we had quite an adhoc and inflexible config
with random values for that setting, based on protocol.

Note that while the safe value is 16384, "backward compatible"
default of 1500 is used (good for DTLS on the other hand).

Signed-off-by: Paul Sokolovsky <paul.sokolovsky@linaro.org>
2018-03-18 09:38:22 -07:00
Ilya Tagunov 849c8a4ea1 ext: hal: stm32l0xx: spi: remove offending cast
stm32l0xx_ll_spi.h causes compile warnings about aliasing.
Solution for F0 works here as well.
Tested on STM32L073RZ with 16-bit transfers.

Signed-off-by: Ilya Tagunov <tagunil@gmail.com>
2018-03-15 10:53:26 -05:00
Kumar Gala 37a5d267d0 ext: hal: cmsis: Update ARM CMSIS headers to version 5.3.0
Origin: ARM CMSIS v5.3.0
License: Apache-2.0
URL: https://github.com/ARM-software/CMSIS_5.git
commit: 49ac527aa7406cecbba46d4d3bdbc7f60c6c6d42
Purpose: CMSIS Headers update.
Maintained-by: External

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2018-03-14 11:45:30 -05:00
Yannis Damigos bb3e5d71a8 ext/hal/stm32l0xx: Remove stm32l0xx_ll_usb from CMakeLists
STM32Cube doesn't provide a USB LL API for STM32L0XX series.
This patch removes stm32l0xx_ll_usb.c from CMakeLists because
it doesn't exist.

Signed-off-by: Yannis Damigos <giannis.damigos@gmail.com>
2018-03-14 08:52:10 -05:00
Kumar Gala d68b6a901a subsys: fs: Fix fs_file_t and fs_dir_t usage
With the introduce of VFS the typedef for fs_file_t & fs_dir_t don't
exist anymore so we need to use 'struct fs_dir_t' or 'struct fs_file_t'.
Fix up some places that got missed in the VFS conversion.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2018-03-13 09:47:58 -05:00
Sebastian Bøe 1d75f251e3 kconfig: Removed source "[...]mgmt/mcumgr/mgmt/port/zephyr/Kconfig"
This Kconfig 'source' statement had no effect as it was referencing a
non-existing Kconfig file. It is not clear if the intention is to
include-if-exists, but I presume not.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2018-03-13 09:39:42 -05:00
Endre Karlson 3c789e6ae7 hal: stm32l0x: Add HAL for the STM32L0x series
This adds the HAL code needed for the SoC in a later patch for
the stm32l0 series.

Origin: ST Microelectronics
License: BSD-3-Clause
URL: http://www.st.com/en/embedded-software/stm32cubel0.html
Commit: 1.10.0
Purpose: HAL layer for stm32l0
Maintained-by: External

Signed-off-by: Endre Karlson <endre.karlson@gmail.com>
2018-03-10 11:42:25 -06:00
Erwan Gouriou 053df3bd30 ext/hal: stm32cube: Update STM32L4 README file
To comply with Zephyr Contributing guidelines regarding
ext/ components, update README for STM32L4 series

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2018-03-08 08:47:15 -06:00
Erwan Gouriou e3679dbf60 ext/hal: stm32cube: Update STM32F7 README file
To comply with Zephyr Contributing guidelines regarding
ext/ components, update README for STM32F7 series

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2018-03-08 08:47:15 -06:00
Erwan Gouriou 138346901e ext/hal: stm32cube: Update STM32F4 README file
To comply with Zephyr Contributing guidelines regarding
ext/ components, update README for STM32F4 series

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2018-03-08 08:47:15 -06:00
Erwan Gouriou 1fe67bd205 ext/hal: stm32cube: Update STM32F3 README file
To comply with Zephyr Contributing guidelines regarding
ext/ components, update README for STM32F3 series

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2018-03-08 08:47:15 -06:00
Erwan Gouriou 0377143f54 ext/hal: stm32cube: Update STM32F1 README file
To comply with Zephyr Contributing guidelines regarding
ext/ components, update README for STM32F1 series

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2018-03-08 08:47:15 -06:00
Erwan Gouriou 9e3bbfd285 ext/hal: stm32cube: Update STM32F0 README file
To comply with Zephyr Contributing guidelines regarding
ext/ components, update README for STM32F0 series

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2018-03-08 08:47:15 -06:00
Sebastian Bøe 7d5755865c stm32cube: cmake: Pure refactoring of build script
Reduce the code duplication in ext/hal/st/stm32cube/CMakeLists.txt by
using a foreach loop instead of copy-paste for each SoC.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2018-03-03 09:01:10 +01:00
Paul Sokolovsky ec207f4250 net: app: Move mbedTLS debug log level config to mbedTLS Kconfig
mbedTLS log level is obviously a mbedTLS config setting. It makes
sense to have it defined in mbedTLS Kconfig, and different parts
of Zephyr to reuse as needed (e.g. net-app vs upcoming TLS wrapper
for sockets).

Signed-off-by: Paul Sokolovsky <paul.sokolovsky@linaro.org>
2018-02-22 18:44:55 -05: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
Anas Nashif 8949233390 kconfig: fix more help spacing issues
Fix Kconfig help sections and add spacing to be consistent across all
Kconfig file. In a previous run we missed a few.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-02-15 23:20:55 -05:00
Paul Sokolovsky 42680b07af mbedtls: Switch default MBEDTLS_CFG_FILE to config-mini-tls1_2.h
The previous default, "config-threadnet.h", is more or less arbitrary
choice made in a commit 312def2c78 1.5 years ago. In particular,
it's not related to Thread support in Zephyr per se (there was no
such support at that time).

It doesn't make sense to have a default intended for a particular,
not widely used (yet) protocol. Instead, the default should work
out of the box with a contemporary widely deployed arrays of TLS
servers, which are HTTPS server. config-mini-tls1_2.h works with
https://google.com, and by extension, with many other servers on
the Internet.

So, have that as the default, and let applications with special
needs to override that to what they need.

Addresses: #6132

Signed-off-by: Paul Sokolovsky <paul.sokolovsky@linaro.org>
2018-02-15 12:35:31 -05:00
Paul Sokolovsky 9f3d335b0c mbedtls: config-mini-tls1_2.h: Update stale comments
This config enables TLS 1.2 (only), as its name suggests, and
contrary to the (copy-pasted) comments in the file header, so
update these comments.

Fixes: #6131

Signed-off-by: Paul Sokolovsky <paul.sokolovsky@linaro.org>
2018-02-15 12:08:36 -05:00
Sean Nyekjaer a09b6f538a arch: atmel_sam0: rename samd SoC series to samd21
Atmel SAMD21 series was classified too broadly as SAMD.
This patch names it correctly to make room,
for other members of SAMD series

Signed-off-by: Sean Nyekjaer <sean@nyekjaer.dk>
2018-02-09 08:34:55 -06:00
Vipul Rahane 19b1ce6b64 ext: lib: tinycbor: Add req Zephyr specific files
Include both build an configuration files required to build
TinyCBOR with Zephyr.

Signed-off-by: Vipul Rahane <vipulrahane@apache.org>
2018-02-08 21:17:22 +01:00
Vipul Rahane 2988deb735 ext: lib: tinycbor: half/full-FP support changes
- Make half float encode/decode conditional
- src/cborpretty.c, src/cbortojson.c and src/cborvalidation.c
  conditionally include math.h and half float type support
- Conditionally include math.h in src/compilersupport_p.h to avoid
  newlib libc from getting compiled in
- Conditionally compile src/cborparser_dup_string.c if newlib libc is
  compiled in

Signed-off-by: Vipul Rahane <vipulrahane@apache.org>
2018-02-08 21:17:22 +01:00
Vipul Rahane 1bcacf5c56 ext: lib: tinycbor: Apply req patch to 0.5.0-beta1
For a full description of changes see the commit message
URL: https://github.com/zephyrproject-rtos/tinycbor/tree/zephyr

Signed-off-by: Vipul Rahane <vipulrahane@apache.org>
2018-02-08 21:17:22 +01:00
Vipul Rahane b4c2d93495 ext: lib: tinycbor: Add tinyCBOR as an ext lib
The TinyCBOR library is a small Concise Binary Object
Representation (CBOR) encoder and decoder library, optimized for
very fast operation with very small footprint.

Origin: TinyCBOR
License: MIT
URL: https://github.com/intel/tinycbor
Version: 0.5.0-beta1
commit: 497066ee87dd54341adaa1195bf15ad11ee33b20
Purpose: Introduction of TinyCBOR
Maintained-by: External

Signed-off-by: Vipul Rahane <vipulrahane@apache.org>
2018-02-08 21:17:22 +01:00
Ramakrishna Pallala 40c15566eb ext: hal: altera: disable altera_avalon_i2c compilation warnings
Disable compilation warnings for altera_avalon_i2c.c as it is not
maintained in Zephyr.

Cmake does not allow us to use set_source_files_properties on
source files directly, these files need to be linked to either
a target executable or a target library. Due to the above reason,
altera_avalon_i2c CMakeLists.txt creates a library and links the
source file to the zephyr library.

Signed-off-by: Ramakrishna Pallala <ramakrishna.pallala@intel.com>
2018-02-07 19:37:35 -05:00
Ramakrishna Pallala b574a9ba9b ext: hal: altera: Add wrapper functions for Altera HAL runtime API's
Add wrapper or helper functions for Altera HAL runtime API's to
enable Altera HAL drivers on Zephyr.

Signed-off-by: Ramakrishna Pallala <ramakrishna.pallala@intel.com>
2018-02-07 19:37:35 -05:00
Kumar Gala bb72c3d020 crypto: mbedtls: Update mbedTLS to 2.7.0
Due to a security advisory released on February 1st 2018[1], it's
advisable to update mbedTLS to 2.7.0.

The vulnerability, identified as CVE-2018-0488 and CVE-2018-0487, risk
remote code execution when truncated HMAC is enabled or when verifying
RSASSA-PSS signatures.

[1] https://tls.mbed.org/tech-updates/security-advisories/mbedtls-security-advisory-2018-01

Fixes: #6025

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2018-02-07 16:25:27 -05:00
Ioannis Glaropoulos 3d1348e02e cmsis: Update ARM CMSIS headers to version 5.2.0
Origin: ARM CMSIS v5.2.0
License: Apache-2.0
URL: https://github.com/ARM-software/CMSIS_5.git
commit: 80cc44bba16cb4c8f495b7aa9709d41ac50e9529
Purpose: CMSIS Headers update.
Maintained-by: External

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2018-02-06 08:46:41 -06:00
Ramakrishna Pallala be14653754 ext: hal: altera: Add QSPI Controller HAL driver
Add Altera Nios-II QSPI Controller HAL driver to Zephyr.
The sources are taken from the Altera SDK v17.

Signed-off-by: Ramakrishna Pallala <ramakrishna.pallala@intel.com>
2018-02-05 06:30:50 -08:00
Michael Hope cff16051bb disk: delete the GET_DISK_SIZE IOCTL.
The argument is a u32_t which limits the maximum disk size to 4 GiB.
Rather than fix this, delete the ioctl and switch the only use to
GET_SECTOR_COUNT instead.

Signed-off-by: Michael Hope <mlhx@google.com>
2018-01-31 09:14:40 -05:00
Sebastian Bøe c3f53911de mbedtls: Added support for using an externally built mbedtls
Kbuild supported CONFIG_MBEDTLS_LIBRARY and
CONFIG_MBEDTLS_INSTALL_PATH to allow users to link in an externally
built mbedtls. This was not ported over to CMake, causing build
failures when it was kconfig-enabled.

This patch implements this support. This support has been tested
as well as MBEDTLS_LIBRARY was tested in CI.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
Signed-off-by: Ding Tao <miyatsu@qq.com>
2018-01-29 23:46:15 -05:00