Commit graph

41120 commits

Author SHA1 Message Date
Erwan Gouriou
79edb8b632 dts: stm32wb: Limit flash size to 812K
stm32wb55rg is a dual core SoC (M4/M0) with a radio/protocol stack
running on M0 core. M0 FW starts at flash address 0x80CB000.
So flash size available to zephyr is 812K instead of 1M.
Configure package size to reflect this (flash size is now 812K)
and update MPU setting to exclude M0 FW. From MPU point of view,
we set flash size to 512K since we should chose a size being a power
of 2.
If we consider there will be 2 images partitions in a FOTA scheme,
512 K is beyond image-0 and hence is sufficient to cover application
image.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2019-06-03 09:38:19 -04:00
Erwan Gouriou
d777413b19 drivers/flash: stm32wb: Add driver for stm32wb
Add flash driver for stm32wb

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2019-06-03 09:38:19 -04:00
Erwan Gouriou
d3601f0d98 boards: nucleo_wb55rg: Configure HCI driver
Add requested configuration to enable HCI driver

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2019-06-03 09:38:19 -04:00
Erwan Gouriou
9ce27ff1a5 dts: stm32wb: Delete useless sram definitions
sram2a and sram2b where defined in the prospect of defining
HCI shared memory sections from device tree.
Remove them, since this is not the case anymore.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2019-06-03 09:38:19 -04:00
Erwan Gouriou
c6ebfad7a7 include/arch/arm: linker.ld: Add shared memory sections definitions
STM32WB HCI driver requires definition of 2 RAM regions to support
use of 3 shared memory sections: MAPPING_TABLE, MB_MEM1 and MB_MEM2.
In linker.ld, under conditions of HCI driver to be enabled,
define SRAM1 and SRAM2 based on input defined in stm32wb linker.
Then define the 3 sections MAPPING_TABLE, MB_MEM1 and MB_MEM

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2019-06-03 09:38:19 -04:00
Erwan Gouriou
a0e81717ac ext/hal: stm32wb: Configure M0 FW in LL only
In order to enable HCI mode in M0 firmware,
enable CFG_BLE_LL_ONLY in hci lib.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2019-06-03 09:38:19 -04:00
Erwan Gouriou
3d9416bfed drivers/bluetooth/hci: Implement HCI driver for stm32wb
Implement HCI driver for STM32WB. It allows host to controller.
It is based on ST library allowing communication over RAM shared
bewteen chip's C-M4 and C-M0 cores.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2019-06-03 09:38:19 -04:00
Erwan Gouriou
a2d66d7cc9 ext/hal/st/lib: stm32wb hci shared ram driver
Library providing hci driver for host/controller communication
over shared RAM

Origin: ST Microelectronics
License: BSD-3-Clause
URL: http://www.st.com/en/embedded-software/stm32cubewb.html
Commit: 1.0.0
Purpose: Shared RAM driver for STM32WB
Maintained-by: External

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2019-06-03 09:38:19 -04:00
Radoslaw Koppel
b748a54c7f subsys/settings: Cleanup the initialisation of the subsys
This commit removes redundant checks if the module
was already initialized.
The variable to mark the fact of initialization is
moved as a global module variable.
This allows creating more sophisticated unit tests
of the settings subsystem by giving a possibility to modify
the internal mark of the fact the system was initialized.

Signed-off-by: Radoslaw Koppel <radoslaw.koppel@nordicsemi.no>
2019-06-03 11:58:05 +02:00
Nicolas Pitre
bd001081fc tests: cmsis_rtos_v1: remove cast abuses
Casting the tid variable from a void* into an u32_t just to cast it
back to a pointer is pointless. Let's make it a osThreadId variable
upfront and get rid of those casts around it. This also makes it
64-bit compatible.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2019-06-01 10:21:13 -04:00
Charles E. Youse
546cf75a40 soc/x86/apollo_lake: remove legacy PCI support
The Apollo Lake SoC no longer uses the legacy PCI driver, so remove
references and supporting code.

Signed-off-by: Charles E. Youse <charles.youse@intel.com>
2019-06-01 10:00:32 -04:00
Charles E. Youse
0fcc484944 boards/up_squared: soc/apollo_lake: I2C driver selection at SoC
While enabling specific I2C ports does indeed belong at the board
level Kconfig, the selection of driver (I2C_DW) is an SoC-level
choice, so it is moved accordingly.

Signed-off-by: Charles E. Youse <charles.youse@intel.com>
2019-06-01 10:00:32 -04:00
Charles E. Youse
2b01e06052 boards/up_squared: soc/apollo_lake: enable UARTs per board, not SoC
Which UARTs are broken out from the SoC on a particular board is
board-specific; don't enable UARTs blindly in the SoC Kconfig.

Also, the default UART options are specified in the driver Kconfig, so
the same defaults specified in the SoC Kconfig are redundant. Removed.

Signed-off-by: Charles E. Youse <charles.youse@intel.com>
2019-06-01 10:00:32 -04:00
Charles E. Youse
c5aa535c98 boards/up_squared: soc/apollo_lake: devicetree default to status="ok"
Since Kconfig is responsible for enabling/disabling devices at build,
the devices in dt are defaulted to status="ok" to keep the output in
generated_dts_board.conf the same across configurations and simplify
the board-level dts files.

Signed-off-by: Charles E. Youse <charles.youse@intel.com>
2019-06-01 10:00:32 -04:00
Charles E. Youse
c0502d9602 soc/apollo_lake: boards/up_squared: move UART fixups to SoC
The UART references in dts_fixup.h are actually SoC-specific, not
board-specific, so they are moved. Since this leaves the board fixups
empty, the file is removed.

The SoC fixups are expanded to include the additional two ports that
are present on some revisions of the Apollo Lake.

Signed-off-by: Charles E. Youse <charles.youse@intel.com>
2019-06-01 10:00:32 -04:00
Charles Youse
629805d881 drivers/pcie: do not verify configured IRQ
Some firmwares (looking at you, slimbootloader) don't set the registers
in PCI configuration space to indicate the IRQ routing, so we remove
the check that verifies that the user and firmware agree on IRQ number.

Also eliminate the return value of pcie_irq_enable() since no one uses
it and we can't return a meaningful value any longer.

Signed-off-by: Charles Youse <charles.youse@intel.com>
2019-06-01 10:00:32 -04:00
Tobias Schlaepfer
c88c91942d drivers/ieee802154: Fix KW41Z driver fault
KW41Z IEEE802154 driver fix, by adding an empty configure function
to resolve HardFault at start up

Signed-off-by: Tobias Schlaepfer <scpf@zhaw.ch>
2019-05-31 19:49:27 -04:00
Ioannis Glaropoulos
c7c02fce3e ext: hal: cmsis: Update ARM CMSIS headers to version 5.5.1
Origin: ARM CMSIS v5.5.1
License: Apache-2.0
URL: https://github.com/ARM-software/CMSIS_5.git
commit: ca812421550b53a0bdd79139e255293ded03968f
Purpose: CMSIS Headers update.
Maintained-by: External

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2019-05-31 16:04:43 -04:00
Mark Wang
b1558bba2b boards: frdm_k64f: button_1 has no callback when button is released
need set the internal pull-up for the button gpio.

Signed-off-by: Mark Wang <yichang.wang@nxp.com>
2019-05-31 14:35:36 -05:00
Anas Nashif
5609115ccc manifest: update to latest MCUMGR head
Use latest revision from MCUMGR tree.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2019-05-31 12:50:09 -04:00
Anas Nashif
78e35408b6 CODEOWNERS: Update owners for subsys/mgmt/
Add new line for subsys/mgmt.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2019-05-31 12:50:09 -04:00
Anas Nashif
fc19539271 mcumgr: move Kconfig to main tree
Keep MCUMGR Kconfig in the main tree to maintain dependencies.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2019-05-31 12:50:09 -04:00
Henrik Brix Andersen
09749bbeb0 tests: benchmarks: latency_measure: use 0.1s sys clk tick for twr_ke18f
Use a system clock tick of 0.1 sec when running on the NXP TWR-KE18F
development board.

Fixes #16234.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2019-05-31 10:39:26 -05:00
Bosch Sensortec
86643ecec3 dts : bindings : sensor : bme680 Added support for BME680
Added support to the dts for the BME680 Environmental sensor

Signed-off-by: Bosch Sensortec <github@bosch-sensortec.com>
2019-05-31 10:27:13 -05:00
Bosch Sensortec
992819bc84 samples: sensor: bme680 added sample code
Sample code for the BME680 environmental sensor

Signed-off-by: Bosch Sensortec <github@bosch-sensortec.com>
2019-05-31 10:27:13 -05:00
Bosch Sensortec
b05d5ffc46 driver: sensor: bme680 added support
Added support for the BME680 environmental sensor

Signed-off-by: Bosch Sensortec <github@bosch-sensortec.com>
2019-05-31 10:27:13 -05:00
Bosch Sensortec
44b19bc652 include: added new sensor channel SENSOR_CHAN_GAS_RES
Added new sensor channel SENSOR_CHAN_GAS_RES to support the bme680

Signed-off-by: Bosch Sensortec <github@bosch-sensortec.com>
2019-05-31 10:27:13 -05:00
Henrik Brix Andersen
03bbbb917e tests: drivers: spi_loopback: add twr_ke18f configuration
Add SPI loopback test configuration for the NXP TWR-KE18F development
board.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2019-05-31 09:54:03 -05:00
Henrik Brix Andersen
0382f08f2a boards: arm: twr_ke18f: add SPI support
Add SPI support to the NXP TWR-KE18F development board. There are no
onboard SPI devices, but both SPI busses are available on the primary
Tower System elevator connector.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2019-05-31 09:54:03 -05:00
Henrik Brix Andersen
69c144aff2 soc: nxp: ke1xf: add SPI support
Add SPI support to the NXP Kinetis KE1xF SoC family.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2019-05-31 09:54:03 -05:00
Henrik Brix Andersen
799011c75e ext: hal: nxp: mcux_lpspi: add support for NXP Kinetis LPSPI modules
Add support for MCUX LPSPI on NXP Kinetis SoCs.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2019-05-31 09:54:03 -05:00
Henrik Brix Andersen
fd3d4156d6 tests: flash_map: configure MPU to allow flash writes on twr_ke18f
Configure the NXP MPU to allow flash writes when running the flash_map
test.

This fixes #16224.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2019-05-31 09:50:36 -05:00
Wentong Wu
82d703debc testsuite: coverage: port GCOV linker code to CMake for X86
port GCOV linker code to CMake for X86 platfrom, from linker.ld
to coverage_ram.ld.

Fixes: #16501.

Signed-off-by: Wentong Wu <wentong.wu@intel.com>
2019-05-31 10:49:19 -04:00
Anas Nashif
083617e2c0 modules: move kconfig into tree
Move Kconfig from modules to the main zephyr tree to allow depenedency
resolution.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2019-05-30 19:39:35 -04:00
Anas Nashif
b95e4232b9 ext: move open-amp to an external module
Move open-amp to be an external module and add it manifest.

See https://github.com/zephyrproject-rtos/open-amp

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2019-05-30 19:39:35 -04:00
Anas Nashif
fe0a50f812 ext: move libmetal to an external module
Move libmetal to be an external module and add it manifest.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2019-05-30 19:39:35 -04:00
Anas Nashif
0b2bb32cb4 cypress: move HAL to external repo
This HAL is now in its own repository on
https://github.com/zephyrproject-rtos/hal_cypress

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2019-05-30 19:39:35 -04:00
Anas Nashif
7ae4180265 silabs: move HAL to external repo
This HAL is now in its own repository on
https://github.com/zephyrproject-rtos/hal_silabs

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2019-05-30 19:39:35 -04:00
Robert Lubos
87462df3ef net: sockets: Remove TI conditional from offloaded fcntl implementation
Offloaded `fcntl` implementation should be available for all offloaded
implementations, not specific for TI. `socket_offload.c` is already
conditionally compiled based on `CONFIG_NET_SOCKETS_OFFLOAD` option, so
there should not be conflicts for non-offloaded interfaces.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2019-05-30 18:41:31 -04:00
Nathaniel Graff
627e27a25f drivers/plic: Remove DTS fixups for RISC-V PLIC
Change the DT macros used by the RISC-V PLIC driver so that fixups
are no longer required.

Signed-off-by: Nathaniel Graff <nathaniel.graff@sifive.com>
2019-05-30 18:40:26 -04:00
Nathaniel Graff
3093f5cd2f drivers/gpio: Remove DTS fixups for SiFive GPIO
Change the DT macros used by the SiFive GPIO driver so that fixups
are no longer required.

Signed-off-by: Nathaniel Graff <nathaniel.graff@sifive.com>
2019-05-30 18:40:26 -04:00
Nathaniel Graff
89d81ab09d boards/hifive1: Add copyright and license to dts
The hifive1 board devicetree was missing a copyright and license.

Signed-off-by: Nathaniel Graff <nathaniel.graff@sifive.com>
2019-05-30 18:40:26 -04:00
Nathaniel Graff
34ad4f01e1 dts/i2c: Remove id field from sifive,i2c0
Resolves warning generated by extract_dts_includes.py

Signed-off-by: Nathaniel Graff <nathaniel.graff@sifive.com>
2019-05-30 18:40:26 -04:00
Nathaniel Graff
a11ebbd48a drivers/uart: Remove DTS fixups for SiFive UART
Change the DT macros used by the SiFive UART driver so that fixups
are no longer required.

Signed-off-by: Nathaniel Graff <nathaniel.graff@sifive.com>
2019-05-30 18:40:26 -04:00
Anas Nashif
10ddb62cf5 manifest: update with module state
Update revision for qmsi and tinycbor.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2019-05-30 17:50:37 -04:00
Anas Nashif
8017c59cb0 modules: move module kconfig to main tree
Due to in-tree dependencies on Kconfig options defined in modules we end
up having warnings and errors when those modules are not part of the
manifest.

Users should be able to remove unwanted modules from their downstream
manifest and still build any board configurations.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2019-05-30 17:50:37 -04:00
Derek Hageman
55bb37e35c drivers: serial: sam0: Implement DMA async API
This adds support for the async API for SAM0 SERCOM USARTs using
DMA to drive the device.

Tested on SAMD21 with a few trivial programs and with
tests/drivers/uart/uart_async_api.

Signed-off-by: Derek Hageman <hageman@inthat.cloud>
2019-05-30 17:18:44 -04:00
Derek Hageman
64e02021ee drivers: dma: sam0: Implement get_status API
Implement the get_status DMA API for the SAM0 DMA controller.
The busy field is set only when the selected channel is
actively transferring data (i.e. both enabled and selected by the
arbiter).  The direction field is left unset, since that
information is not normally retained by the DMA controller.

Signed-off-by: Derek Hageman <hageman@inthat.cloud>
2019-05-30 17:18:44 -04:00
Peter A. Bigot
d6c61513a5 drivers: adc: add API to support calibration
Add a flag to the sequence structure that tells the driver it should
calibrate the ADC prior to initiating the sample.

Implement this for nRF SAADC.  The implementation supports the
workarounds for PAN-86 and PAN-178.

Relates-to: issue #11922
Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2019-05-30 17:18:17 -04:00
Jukka Rissanen
a9c99a60f0 drivers: console: Add support for log level option
Allow user to set log level for UART console drivers. Add
log level option to UART pipe driver in order to see what it
is sending and receiving.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2019-05-30 17:17:51 -04:00