Commit graph

378 commits

Author SHA1 Message Date
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
Sebastian Bøe 61cf3b0573 mbedtls: Kconfig: Re-organize to enable choosing an mbedtls impl.
CONFIG_MBEDTLS means you are using MBEDTLS
CONFIG_MBEDTLS_BUILTIN means you are using a built-in MDEDTLS
CONFIG_MBEDTLS_LIBRARY means you are using an external MBEDTLS

This patch ensures that you must select one or the other
implementation when MBEDTLS is enabled.

Tested by opening xconfig and observing that when MBEDTLS was enabled,
BUILTIN was automatically enabled, and a radio-button interface
existed to change the implementation.

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
Michał Kruszewski aee2ff526d ext: nordic: Replace HAL and MDK with the ones from nrfx
The old HAL and MDK have been removed from the source tree.
Since RADIO HAL is not yet present in nrfx, the "nrf_radio.h" file
was temporarily moved to "nrfx/hal" folder. It will be replaced with
the proper file from nrfx in its next update.

Signed-off-by: Michał Kruszewski <michal.kruszewski@nordicsemi.no>
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2018-01-29 03:02:06 +05:30
Andrzej Głąbek c84c2eaa82 ext: nordic: Add initial adaptation layer for nrfx
This commit adds a glue layer that adapts nrfx to be usable in Zephyr
as a host environment and files with static configuration of nrfx
drivers for several supported SoCs.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2018-01-29 03:02:06 +05:30
Andrzej Głąbek f06c000911 ext: nordic: Import relevant files from nrfx 0.8.0
nrfx is an extract from the nRF5 SDK that contains solely the drivers
for peripherals present in Nordic SoCs, for convenience complemented
with the MDK package containing required structures and bitfields
definitions, startup files etc.

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

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2018-01-29 03:02:06 +05:30
Vincent Veron 096314872a drivers: sensor: vl53l0x: ST library customization for Zephyr
The generic library provided by ST in ext/hal/st/lib/sensor/vl53l0x
needs to be adapted to the platform. In this case, the main
modification is the way to use I2C. This is now using the Zephyr
I2C API.

Signed-off-by: Vincent Veron <vincent.veron@st.com>
2018-01-23 10:14:49 -06:00
Vincent Veron 2862c8559b ext: enable st/lib compilation
This commit modify the ext/ build system to add
the ST Microelectronics libraries.

Signed-off-by: Vincent Veron <vincent.veron@st.com>
2018-01-23 10:14:49 -06:00
Vincent Veron 45bf893164 ext: Fix warnings in vl53l0x ST library when compiling on Zephyr
Warning are present in the default ST source code, fix them here.

Signed-off-by: Vincent Veron <vincent.veron@st.com>
2018-01-23 10:14:49 -06:00
Vincent Veron 81d4342dc0 ext: Add official ST library for vl53l0x
In order to ease the usage of its sensors, STMicroelectronics provides
some generic libraries. The first sensor to use that is vl53l0x time of
flight sensor. I have made the implementation generic enough to add some
more libraries in the future.

All the libraries will be located in ext/hal/st/lib.

The vl53l0X library is made of 2 parts :
    * the core, that is generic to all platforms
    * the platform, contains the adaptation layer. This will be
      implemented in driver as it is Zephyr specific.

Origin: ST Microelectronics
License: BSD-3-Clause
URL: http://www.st.com/en/embedded-software/stsw-img005.html
Commit: 1.0.2
Purpose: API to ease the usage of vl53l0x sensor
Maintained-by: External

Signed-off-by: Vincent Veron <vincent.veron@st.com>
2018-01-23 10:14:49 -06:00
Shiksha Patel 53cbfd3fd3 lpc: Add usart shim driver for lpcxpresso54114
Add usart-yaml in dts.

Build fsl_lpc_usart and fsl_lpc_flexcomm in
ext/hal/nxp/mcux/drivers/Makefile.

Only polling mode is implemented in usart now. Interrupt can be added in
future.

Signed-off-by: Shiksha Patel <shiksha.patel@nxp.com>
Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2018-01-23 09:18:32 -06:00
Shiksha Patel 460d68e425 lpc: Add device header and driver files for lpc54114 from mcux 2.2.1
Renamed fsl drivers for lpc board as fsl_lpc drivers.

Origin: NXP MCUXpresso SDK 2.2.1
URL: mcux.nxp.com
Maintained-by: External

Signed-off-by: Shiksha Patel <shiksha.patel@nxp.com>
Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2018-01-23 09:18:32 -06:00
Erwin Rol 2e0c11d604 ext: hal: stm32cube: update README
Update the README file to reflect the new Kconfig structure.

Signed-off-by: Erwin Rol <erwin@erwinrol.com>
2018-01-23 08:46:16 -06:00
Erwin Rol 772ac20336 ext: hal: stm32cube: allow HAL/LL files to be selected via Kconfig
By providing USE_STM32_HAL_* and USE_STM32_LL_* menuconfig
options drivers and user aplications can select parts of the HAL
without needing to change the Zephyr source code.

Signed-off-by: Erwin Rol <erwin@erwinrol.com>
2018-01-23 08:46:16 -06:00
Erwan Gouriou 28c2079c63 ext: stm32cube: update stm32l4xx cube version
Update Cube version for STM32L4XX family
from version: V1.9.0
to version: V1.10.0

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2018-01-17 09:55:30 -06:00
Erwan Gouriou 366c31c03b ext: stm32cube: update stm32f4xx cube version
Update Cube version for STM32F4XX family
from version: V1.16.0
to version: V1.18.0

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2018-01-17 09:55:30 -06:00
Erwan Gouriou a6d9fef241 stm32cube: f3: fix wrong package version
Fix stm32f3xx README with actual package version : V1.9.0


Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2018-01-17 09:55:30 -06:00
Neil Armstrong 5f5480ac7d hal: stm32cube: Fix warning when SPI STM32F0 LL API is compiled
Current implementation of LL_SPI_TransmitData16 on F0 family
generates following warning:
"warning: dereferencing type-punned pointer will break strict-aliasing
rules [-Wstrict-aliasing]"
Besides being forbidden by rule, this cast is not needed, as register is
16 bits wide. Modification has been tested on F0 SoC.
stm32yyxx_ll_spi.h being included in soc.h file, warning is generated
at each compiled object, this commit allows a clean build.
This issue is referenced in ST and tracked under
reference  13359. Code will be updated on upcoming stm32cube updates.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
2018-01-11 19:00:19 -05:00
Neil Armstrong b5938c43fb ext: hal: stm32cube: build LL SPI code for STM32F0
Build the STM32Cube LL SPI Code for STM32F0

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
2018-01-11 19:00:19 -05:00
Anas Nashif 5218b9ad0c ext: tinycrypt: Update README to reflect latest version
We forgot to update the version number in the README

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-01-08 08:08:45 -05:00
Michael Hope aa6b5558fd ext: Import Atmel SAMD21 header files from ASF library
Atmel Software Framework (ASF) provides a set of low-level header
files that give access to different hardware peripherals of Atmel's
ICs.

Origin: Atmel SAMD21 Series Device Support (1.2.276)
License: Apache-2.0
URL: http://packs.download.atmel.com/Atmel.SAMD21_DFP.1.2.276.atpack
Purpose: Introduction of ASF for the SAM0 series.
Maintained-by: External

Signed-off-by: Michael Hope <mlhx@google.com>
2018-01-04 13:18:25 -05:00
Sebastian Bøe 6f642a19fd cmake: Ported mbedTLS to use Zephyr interface libraries
mbedTLS include directories will now default to be in the 'app'
include path when mbedTLS has been enabled.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2018-01-02 22:09:01 -05:00
Ramakrishna Pallala e1af972d73 ext: hal: altera: fix PIO build config option
Fix Kconfig option of PIO HAL to CONFIG_ALTERA_AVALON_PIO

Signed-off-by: Ramakrishna Pallala <ramakrishna.pallala@intel.com>
2017-12-21 12:02:24 -08:00
Michael Scott 2fc554b8fc crypto: config: config-coap: add CONFIG for setting max content length
The CoAP samples use an MBEDTLS config "config-coap.h" which could be
re-used by the LwM2M sample, except that most servers use a larger
maximum content length setting of 1500 bytes.

Let's add a CONFIG to set this for users of the CoAP lib and set the
CONFIG value for the samples to the 256 size currently used.

Signed-off-by: Michael Scott <michael@opensourcefoundries.com>
2017-12-15 17:52:13 -05:00
Anas Nashif 429c2a4d9d kconfig: fix help syntax and add spaces
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-12-13 17:43:28 -06:00
Neil Armstrong cc9642402d ext: stm32cube: build I2C+RCC LL for STM32F0
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
2017-12-12 12:36:08 -06:00
Ramakrishna Pallala 9906d3a48a ext: hal: altera: Add Altera HAL README file
Add Altera HAL README file as per Zephyr Guidelines.

Signed-off-by: Ramakrishna Pallala <ramakrishna.pallala@intel.com>
2017-11-17 07:46:40 -05:00
Ramakrishna Pallala 41a6b812d9 ext: hal: altera: Add basic infrastructure to enable HAL drivers
Add the basic infrastructure like driver <-> IRQ mapping table
and ZEPHYR_RTOS compile time flag which are neccessary to make
use the HAL drivers from Zephyr shim drivers.

Signed-off-by: Ramakrishna Pallala <ramakrishna.pallala@intel.com>
2017-11-17 07:46:40 -05:00
Ramakrishna Pallala 2c2b087b81 ext: hal: altera: Add Altera HAL into Zephyr build system
Make Altera HAL drivers compilable by adding them into
Zephyr build system.

Signed-off-by: Ramakrishna Pallala <ramakrishna.pallala@intel.com>
2017-11-17 07:46:40 -05:00
Ramakrishna Pallala 3c922749d6 ext: hal: altera: Add altera HAL sources in Zephyr
Add the Altera HAL sources from Altera Quartus Lite SDK
to Zephyr OS under 'ext/hal/altera' folder.

Origin: Altera Quartus Prime Lite SDK
URL: http://dl.altera.com/?edition=lite
Version: v17.0
Purpose: Provides HAL support to Altera's soft IP's
Maintained-by: External

Signed-off-by: Ramakrishna Pallala <ramakrishna.pallala@intel.com>
2017-11-17 07:46:40 -05:00
Maureen Helm 6043c74fd3 gpio: Introduce mcux igpio shim driver
Adds a new gpio driver for the NXP i.MX family of SoCs. Read, write,
configure, and callback API functions are all implemented.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2017-11-15 09:09:58 -06:00
Maureen Helm 0f3b490905 clock_control: Introduce mcux ccm driver
Adds a new clock control driver for i.MX SoCs that have the clock
control module (CCM).

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2017-11-15 09:09:58 -06:00
Maureen Helm 8a1d3b5b11 ext: mcux: Add mcux 2.3.0 for mimxrt1051 and mimxrt1052
Adds mcux 2.3.0 drivers and device header files for the mimxrt1051 and
mimxrt1052. Updates several drivers that were already imported for other
SoCs but also apply to the mimxrt1051 and mimxrt1052.

Origin: NXP MCUXpresso SDK 2.3.0
URL: mcux.nxp.com
Maintained-by: External

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2017-11-15 09:09:58 -06:00
Johann Fischer a14dd6309e cmake: fix build of the entropy drivers
Signed-off-by: Johann Fischer <j.fischer@phytec.de>
2017-11-11 19:01:42 -05:00
Gil Pitney 732b896b1e cmake: Fix ext/hal/ti/simplelink/CMakeLists.txt
After the cmake conversion, the SimpleLink WiFi host
driver would not build, and compiler flags like -Wno-strict-aliasing
were not being applied as they got spliced in before
-Wall rather than after.

This fixes those issues, using the set_source_files_properties()
method as suggeted in the CMakeLists.txt TODO comment.

Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
2017-11-11 10:32:50 -05:00
Kumar Gala 3a5ca91f28 crypto: Update TinyCrypt to 0.2.8
Version 0.2.8 of this library has been released on Aug 29, and this
patch updates the library from version 0.2.7.  A summary of changes
is available at the official repository at:

    https://github.com/01org/tinycrypt/releases/tag/v0.2.8

A number of the changes we already had in tree, so the import to sync
with v0.2.8 is pretty minor.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-11-09 16:39:03 -06:00
Sebastian Bøe fc978328b5 cmake: ext/hal/st/stm32cube: Fixed formatting and removed hal_uart
Signed-off-by: Sebastian Boe <sebastian.boe@nordicsemi.no>
2017-11-08 20:00:22 -05:00
Sebastian Bøe 0829ddfe9a kbuild: Removed KBuild
Signed-off-by: Sebastian Boe <sebastian.boe@nordicsemi.no>
2017-11-08 20:00:22 -05:00
Sebastian Bøe 12f8f76165 Introduce cmake-based rewrite of KBuild
Introducing CMake is an important step in a larger effort to make
Zephyr easy to use for application developers working on different
platforms with different development environment needs.

Simplified, this change retains Kconfig as-is, and replaces all
Makefiles with CMakeLists.txt. The DSL-like Make language that KBuild
offers is replaced by a set of CMake extentions. These extentions have
either provided simple one-to-one translations of KBuild features or
introduced new concepts that replace KBuild concepts.

This is a breaking change for existing test infrastructure and build
scripts that are maintained out-of-tree. But for FW itself, no porting
should be necessary.

For users that just want to continue their work with minimal
disruption the following should suffice:

Install CMake 3.8.2+

Port any out-of-tree Makefiles to CMake.

Learn the absolute minimum about the new command line interface:

$ cd samples/hello_world
$ mkdir build && cd build
$ cmake -DBOARD=nrf52_pca10040 ..

$ cd build
$ make

PR: zephyrproject-rtos#4692
docs: http://docs.zephyrproject.org/getting_started/getting_started.html

Signed-off-by: Sebastian Boe <sebastian.boe@nordicsemi.no>
2017-11-08 20:00:22 -05:00
Bobby Noelte 3849b36f09 arch: arm: soc: provide support for stm32f091
Support the ST STM32F091xC SoC.

Signed-off-by: Bobby Noelte <b0661n0e17e@gmail.com>
2017-11-06 11:39:16 -06:00
Jukka Rissanen ae0f3d7224 net: https: mbedtls buffer length needs to be bigger for https
Mysterious TLS errors are printed if we try to work with too
small crypto buffer when https is enabled.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2017-11-06 09:33:00 -05:00
Youvedeep Singh fc78ddf7d3 ARM: nrf52: Power Management for nrf52 series SOC
Add support for nrf52 series SOC. This patch Adds :-
1. Architecture specific Power Management APIs.
2. APIs for invoking various Power Management tasks into nrf52.

Signed-off-by: Youvedeep Singh <youvedeep.singh@intel.com>
2017-11-06 09:29:10 -05:00
Ramakrishna Pallala 26c1bd545f ext: lib: crypto: mbedtls: Set default MBEDTLS_HEAP_SIZE to 512
Set default MBEDTLS_HEAP_SIZE to 512 which fixes the driver Kconfig
dependency issues.

Signed-off-by: Ramakrishna Pallala <ramakrishna.pallala@intel.com>
2017-11-03 14:27:41 -04:00
Ramakrishna Pallala 34113f0869 ext: lib: crypto: tinycrypt: Fix Kconfig prompt message
Fix TinyCrypt Kconfig prompt message.

Signed-off-by: Ramakrishna Pallala <ramakrishna.pallala@intel.com>
2017-11-03 14:27:41 -04:00
Leandro Pereira da9b0ddf5b drivers: Rename random to entropy
This should clear up some of the confusion with random number
generators and drivers that obtain entropy from the hardware.  Also,
many hardware number generators have limited bandwidth, so it's natural
for their output to be only used for seeding a random number generator.

Signed-off-by: Leandro Pereira <leandro.pereira@intel.com>
2017-11-01 08:26:29 -04:00
Maciej Debski cfe28f579e ext: hal: stm32cube: provide build method for stm32f0 HAL/LL lib.
Fixes #3923

Signed-off-by: Maciej Debski <maciej.debski@rndity.com>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
2017-10-23 12:31:47 +02:00
Maciej Debski 3f0da4ba16 ext: hal: stm32cube: HAL/LL static library for stm32f0xx v.1.9.
The commit delivers HAL/LL static library source files for STM32F0 SoC.
Using STM32Cube provides generic access to all families, maximizes
code reuse across different STM32 families and helps taking benefits
of a mature SDK.

Origin: STM32Cube
URL: http://www.st.com/en/embedded-software/stm32cubef0.html
Purpose: Introduction of STM32F0xx STM32Cube definitions
and Abstraction Layers
Maintained-by: External

Original STM32Cube tree structure has been modified to a minimum
structure for a better fit into Zephyr. HAL is split into 2 parts:
-driver: initially Drivers/STM32F0xx_HAL_Driver, contains HAL and LL
-soc: initially Drivers/CMSIS/Device/ST/STM32F0xx, contains stm32f0xx
SoCs header files.

Fixes #3923

Signed-off-by: Maciej Debski <maciej.debski@rndity.com>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
2017-10-23 12:31:47 +02:00
Erwan Gouriou de770f56b4 stm32cube: clean kbuild after removing usage of HAL in serial driver
Since STM32 serial driver is no more using HAL, update kbuild for all
STM32 series.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2017-10-20 12:28:11 -05:00
Yannis Damigos a172f72d84 boards: stm32f3_disco: Add I2C support
Add I2C support to STM32F3DISCOVERY board

Signed-off-by: Yannis Damigos <giannis.damigos@gmail.com>
2017-10-20 12:28:11 -05:00
Yannis Damigos b248b85c76 ext: stm32cube: Define USE_FULL_LL_DRIVER
This patch enables the LL API get funtions for system and
peripherals clocks frequency.

Signed-off-by: Yannis Damigos <giannis.damigos@gmail.com>
2017-10-20 12:28:11 -05:00
Maureen Helm 7a60782f67 clock_control: Introduce mcux sim driver
Adds a new clock control driver for Kinetis SoCs that have the system
integration (SIM) module. This will allow mcux shim drivers, such as
uart and i2c, to abstract the call to CLOCK_GetFreq() behind the
clock_control interface and thus be reused for SoCs with different clock
architectures.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2017-10-20 12:28:11 -05:00
Yannis Damigos 213df22c99 ext: hal: stm32cube: Fix LSI_VALUE for F1, F3 families
This patch sets the correct LSI_VALUE, according to
STM32F3 reference manual's (RM0316) section 9.2.5 and
STM32F1 reference manual's (RM0008) section 7.2.5.

Signed-off-by: Yannis Damigos <giannis.damigos@gmail.com>
2017-10-20 12:28:11 -05:00
Manivannan Sadhasivam 49fd036d1f ext: hal: Add MSP432P4XX SDK Kconfig/Build support
This patch adds Kconfig/build support to MSP432P4XX
SDK. MSP432P4XX microcontrollers have driverlib flashed
onto the ROM, which will be used by default.

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-10-19 12:16:11 -05:00
Kumar Gala db4a83752c ext: hal: ti: msp432p4xx: Tweak SDK to build with Zephyr
There are some minor conflicts or porting changes needed to get the
msp432p4xx SDK to work with Zephyr:
1. Remove definition of BIT, as it conflicts with Zephyr defined one
2. Set __SYSTEM_CLOCK define based on Zephyr Kconfig define
3. Fix a build warning that gets treated as an error.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-10-19 12:16:11 -05:00
Kumar Gala 7f638cd9f0 ext: hal: ti: Add MSP432P4XX SDK
MSP432P4XX SDK is a CMSIS based SDK offered by Texas Instruments
for supporting their Simplelink MSP432P4XX microcontrollers. The
version included in Zephyr is V1.50.00.12 which is a stripped
down version containing only HAL and SoC header support.

Origin: SIMPLELINK-MSP432-SDK
License: BSD 3-Clause
URL: http://www.ti.com/tool/simplelink-msp432-sdk
Version: V1.50.00.12
Purpose: Provides HAL support to MSP432P4XX SoC
Maintained-by: External

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
2017-10-19 12:16:11 -05:00
Loic Poulain 8a11f91252 usb: Add support for STM32 family USB driver
This is a USB controller driver for STM32F4xx devices using
the STM32 Cube HAL_PCD framework. This has been tested with
the cdc_acm driver on a 96b_carbon board (STM32F401RE).

This is a refactoring of:
usb: usb_dc_stm: Add support for STM32Cube HAL_PCD USB driver
Signed-off-by: Christer Weinigel <christer@weinigel.se>
[daniel.thompson@linaro.org: Removed STM32F40(157) defconfig changes
together with STM32F4Discovery pinmux and defconfig changes, updated
clock settings and pad configuration to match latest mainline]
Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
[giannis.damigos@gmail.com: Change uint*_t types to u*_t types,
change SYS_LOG_USB_DC_STM_LEVEL to SYS_LOG_USB_DRIVER_LEVEL and
update pinmux to match latest arm branch]
Signed-off-by: Yannis Damigos <giannis.damigos@gmail.com>

Signed-off-by: Loic Poulain <loic.poulain@linaro.org>
2017-10-17 09:14:47 -04:00
Kamil Sroka 71c3d340da ext: hal: nordic: drivers: Remove unnecessary linker section
Signed-off-by: Kamil Sroka <kamil.sroka@nordicsemi.no>
2017-10-17 08:03:25 -04:00
Christian Taedcke 4b586157d6 drivers: serial: Add uart driver for Silabs EXX32 MCUs
Signed-off-by: Christian Taedcke <hacking@taedcke.com>
2017-10-10 11:56:47 -05:00
Christian Taedcke 158b635b57 drivers: gpio_gecko: Add gpio driver for Silabs EXX32 MCUs
Signed-off-by: Christian Taedcke <hacking@taedcke.com>
2017-10-10 11:56:47 -05:00
Christian Taedcke 04dd357e11 ext: Integrate Silabs Gecko SDK into Zephyr
The Silicon Labs Gecko SDK provides a set of low-level
header files that give access to different hardware
peripherals of Silabs EXX32 SoCs.

This patch adds build infrastructure files like Makefile
and Kconfig to introduce the Gecko SDK into Zephyr.

Signed-off-by: Christian Taedcke <hacking@taedcke.com>
2017-10-10 11:56:47 -05:00
Christian Taedcke 73f2c5537c ext: gecko: Add Silabs Gecko SDK for EFM32WG SoCs
This includes:
* the Gecko SDK files for the EFM32WG SoCs
* the emlib peripheral driver files

Origin: Silicon Labs Gecko SDK
URL: https://github.com/SiliconLabs/Gecko_SDK
Version: v5.1.2 (SHA: 938464c68e6c3b2237388a692f767bb0767ec010)
Purpose: Add support for Silicon Labs EXX32 SoCs
License: Zlib
Maintained-by: External

To update the Gecko SDK, download the current version from the given URL
and replace the following folders:
* Gecko_SDK/platform/Device/ should replace ext/hal/silabs/gecko/Device/
* Gecko_SDK/platform/emlib/ should replace ext/hal/silabs/gecko/emlib/

Signed-off-by: Christian Taedcke <hacking@taedcke.com>
2017-10-10 11:56:47 -05:00
Johann Fischer 24a4bc25cc ext: mcux: import mcux device headers for MKW22D5 and MKW24D5 SiP
Origin: NXP MCUXpresso KSDK 2.2
URL: https://mcuxpresso.nxp.com/
Maintained-by: External

Signed-off-by: Johann Fischer <j.fischer@phytec.de>
2017-10-10 11:56:47 -05:00
Gil Pitney e1f0abdba9 ext: simplelink: Build files for the SimpleLink host driver and DPL.
This patch adds files to build the SimpleLink host driver
and its DPL port to Zephyr.

It disables the host driver build by default.

Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
2017-10-09 14:27:52 -04:00
Gil Pitney d3b7e80ab5 ext: simplelink: Add SimpleLink DPL porting layer to Zephyr
This ports the SimpleLink WiFi host driver via its OS adaptation
layer to Zephyr OS primitives.

This was validated using an out-of-tree SimpleLink shell
application including functions for:
* WLAN connect, disconnect and scan
* Socket: UDP server and client

Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
2017-10-09 14:27:52 -04:00
Gil Pitney ed81815dee ext: simplelink: dos2unix EOL conversion on wifi/porting files
Convert some files in the Linux SimpleLink SDK installation
which had DOS line endings.

Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
2017-10-09 14:27:52 -04:00
Gil Pitney 7b0a4ecda5 ext: simplelink: Fix file modes of SimpleLink SDK files
Repair file modes of the TI SimpleLink SDK installation.

Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
2017-10-04 07:14:29 -05:00
Gil Pitney d06212707d ext: simplelink: Update cc32xx SDK to version 1.50.00.06
This includes:
- peripheral drivers
- driverlib (HAL)
- WiFi host driver and porting layer interface headers

See README in this patch for details.

Origin: Texas Instruments cc32xx SimpleLink SDK
URL: http://www.ti.com/tool/download/SIMPLELINK-CC3220-SDK
Purpose: Provide driver libraries and HAL for TI CC32XX SoC
Maintained-by: External

Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
2017-10-04 07:14:29 -05:00
Anas Nashif c6a8014e1c subsys: fs: consolidate elm FAT kconfig options
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-10-03 08:43:50 -04:00
Anas Nashif 3580ba539e subsys: fs: consolidate nffs kconfig options
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-10-03 08:43:50 -04:00