Commit graph

41120 commits

Author SHA1 Message Date
Ioannis Glaropoulos
1fa958510f soc: nordic: add Kconfig structure for nRF9160 SOC definition
This commit introduces the Kconfig file structure for nrf9160
SoC in the Zephyr tree.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2019-01-15 17:18:34 -05:00
Kumar Gala
801ee9c5f0 dts: nrf: Add SoC compatible property
Add a compatible property to the SoC level nodes to tell what SoC we
are on.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2019-01-15 17:17:28 -05:00
Karl Zhang
80a9fc3fa1 arm: v2m musca: Add support for v2m musca SoC and board
Support musca board as a variant, it is a Cortex-M33 based SoC.

Signed-off-by: Karl Zhang <karl.zhang@linaro.org>
Signed-off-by: Minos Galanakis <minos.galanakis@arm.com>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2019-01-15 15:40:37 -06:00
Andy Gross
0859f34f3b arch: arm: mpu: arm_mpu: Fix compiler error on stack_obj
This patch adds a required cast for the size calculation utilizing
pointer arithmetic.  The stack_obj needs a cast to u32_t.  This was
caught using a newer compiler.

Signed-off-by: Andy Gross <andy.gross@linaro.org>
2019-01-15 15:40:37 -06:00
Andy Gross
9cc4b59069 serial: Add Support for ARM PL011 UART
This patch adds a serial driver for the ARM PL011 IP block.

Signed-off-by: Andy Gross <andy.gross@linaro.org>
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2019-01-15 15:40:37 -06:00
Miguel A. Borrego
aea3645817 soc: select CONFIG_CPU_CORTEX_M_HAS_VTOR for SAMD2x.
SAMD2x series have available the Optional Vector Table Offset Register
(VTOR). If this option is not selected, SCB->VTOR is not configured
properly and the application hangs if it's located in an offset
different than 0.

Removed select CPU_CORTEX_M from SAMD20, as it's already selected by
select CPU_CORTEX_M0PLUS

Signed-off-by: Miguel A. Borrego <jimjim17@gmail.com>
2019-01-15 14:37:19 -06:00
Karol Lasończyk
c0a5739bda drivers: watchdog: align sample and test to new DT
Sample application and test are aligned to new DT naming convention.

Signed-off-by: Karol Lasończyk <karol.lasonczyk@nordicsemi.no>
2019-01-15 12:40:13 -06:00
Varun Sharma
229e9f79e5 samples: Modify samples to use DEVICE_AND_API_INIT()
tests: Modify tests to use DEVICE_AND_API_INIT()

Modified samples/tests drivers to use DEVICE_AND_API_INIT() instead
of deprecated DEVICE_INIT() api

Signed-off-by: Varun Sharma <varun.sharma@intel.com>
2019-01-15 10:39:34 -08:00
Varun Sharma
77c643a5a3 drivers: Modify drivers to use DEVICE_AND_API_INIT()
Modified drivers to use DEVICE_AND_API_INIT() instead of DEVICE_INIT()

This will make sure driver_api,is populated at build time and is exposed
to user space

Signed-off-by: Varun Sharma <varun.sharma@intel.com>
2019-01-15 10:39:34 -08:00
Ioannis Glaropoulos
052121ee7c drivers: clock control: rename Kconfig.nrf5 to Kconfig.nrf
Renaming Kconfig.nrf5 to Kconfig.nrf in the wake of extending
the use of the nRF clock control driver to both nRF5 and nRF91
SOC series.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2019-01-15 18:03:24 +01:00
Ioannis Glaropoulos
2e687653fa drivers: clock control: rename nrf5_power_clock source and header
This commit renames the nrf5_clock_control.h and
nrf5_clock_control.c files to nrf_clock_control.h and
nrf_clock_control.c, respectively, as they are used
in nRF9160 builds, as well.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2019-01-15 18:03:24 +01:00
Ioannis Glaropoulos
302a746bd6 drivers: clock control: nrf: rename CLOCK_CONTROL_NRF5 Kconfig symbol
This commit renames the CLOCK_CONTROL_NRF5 Kconfig symbol to
CLOCK_CONTROL_NRF. The change is required to aleviates confusion
when selecting the symbol in nRF9160 SOC definition.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2019-01-15 18:03:24 +01:00
Kumar Gala
1c7d8cad5c boards: bbc_microbit: Add i2c/gpio as supported peripherals
Add i2c/gpio to board yaml as supported peripherals on the bbc_microbit

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2019-01-15 10:56:42 -06:00
Kumar Gala
6bd9dd2bef boards: warp7_m4: Add i2c/gpio as supported peripherals
Add i2c/gpio to board yaml as supported peripherals on the warp7_m4.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2019-01-15 10:54:14 -06:00
Johan Hedberg
a7a0d27ae2 Bluetooth: Give proper names to Bluetooth threads
Provide names for all Bluetooth threads so that they don't show up as
"NA" when issuing the "kernel stacks" command in the shell.

To get this info the following Kconfig options need to be enabled:

CONFIG_THREAD_STACK_INFO=y
CONFIG_THREAD_MONITOR=y
CONFIG_KERNEL_SHELL=y
CONFIG_INIT_STACKS=y
CONFIG_THREAD_NAME=y

After issuing the "kernel stacks" command the output should look
something like this:

uart:~$ kernel stacks
0x200011D0 BT RX      (real size 1024): unused 760      usage 264 / 1024 (25 %)
0x20001148 BT RX pri  (real size 448):  unused 280      usage 168 / 448 (37 %)
0x20000654 BT ECC     (real size 1100): unused 168      usage 932 / 1100 (84 %)
0x20000764 BT TX      (real size 640):  unused 280      usage 360 / 640 (56 %)
0x20001ED8 sysworkq   (real size 1024): unused 592      usage 432 / 1024 (42 %)
0x200004C4 shell_uart (real size 2048): unused 904      usage 1144 / 2048 (55 %)
0x20000058 logging    (real size 768):  unused 584      usage 184 / 768 (23 %)
0x20001D84 idle       (real size 256):  unused 184      usage 72 / 256 (28 %)
0x20001E08 main       (real size 1024): unused 768      usage 256 / 1024 (25 %)

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2019-01-15 17:39:54 +01:00
Peter A. Bigot
f3f8f96842 tests: i2c_slave_spi: update to proposed DT compatible naming
In driver and application code use the new device-tree values produced
by standard compatible-instance bindings.

As this code may be used as an example add a comment describing how the
binding instance number cannot be reliably used to distinguish multiple
instances.

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2019-01-15 08:29:52 -06:00
Peter A. Bigot
83773ecc19 dts: correct compatible name for I2C EEPROM devices
Zephyr has been using "i2c,eeprom" for the compatible property.  This is
inconsistent with the property documentation which expects
"manufacturer,model" to be used.

The Linux standard compatible name for I2C EEPROMs is "atmel,at24".  The
standard for SPI EEPROMS is "atmel,at25".  We don't have support for the
latter, but change the name for the former.

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2019-01-15 08:29:52 -06:00
Ioannis Glaropoulos
4fccdaf5dd dts: nordic: add missing nRF91 flash controller binding
This commits adds the binding for nRF9160 flash controller.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2019-01-15 08:17:50 -06:00
Ioannis Glaropoulos
1aace66c05 soc: nordic: Fix flash driver defines nomenclature in fixup.h
In the wake of 9cbe468a470fe6a103557d4352d37604a632b2fe we need
to update the nomenclature of DT_FLASH_DEV_NAME macros.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2019-01-15 08:17:26 -06:00
Kumar Gala
0891ad4362 dts: nordic: Fix vendor prefix for flash controller
The vendor prefix for the flash controller should be "nordic," not
"nrf,".

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2019-01-15 08:17:26 -06:00
Kumar Gala
8f52956905 scripts: extract_dts_includes: Change arg parsing requirements
Changed arg parsing so you can invoke the script and only generate the
include file or conf file as desired.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2019-01-15 08:10:31 -06:00
Andy Ross
7fb8eb57e8 kernel/sched: SWAP_NONATOMIC workaround for timeslicing
Timeslicing works by removing the _current thread from the run queue
and re-adding it at the end of its priority.  On systems with a
_Swap() that can be preempted by a timer interrupt, that means it's
possible for the timeslice to try to slice out a thread that had
already pended itself!

This behavior used to be benign (or at least undetectable) as the
duplicated list operations were idempotent.  But now the dlist code is
stricter about correctness and has exposed the bug -- it will blow up
if you try to remove an already-removed list node.

Fix (on affected platforms) by stashing the _current pointer in
_pend_current_thread() that is checked and cleared in the timer
interrupt.  If we discover we're trying to interrupt a thread that's
already interrupted itself, we can safely exit z_time_slice() as a
noop.  The timeslicing bookeeping was already done for us underneath
the pend code.

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2019-01-15 13:06:35 +01:00
Andy Ross
23c5a63aa8 kernel/sched: Predicate SWAP_NONATOMIC workaround properly
This is a refactoring of the fix in commit 6c95dafd82 to limit its
application to affected platforms now that the root cause is
understood.

Note that the bug that fix was addressing was rare and seen only on
after multi-hour sessions on Michael Scott's test rig.  So if
something regresses, this is where to look!

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2019-01-15 13:06:35 +01:00
Andy Ross
7f42dbaf48 kernel: Add CONFIG_SWAP_NONATOMIC flag
On ARM, _Swap() isn't atomic and a hardware interrupt can land after
the (irq_locked) caller has entered _Swap() but before the context
switch actually happens.  This will require some platform-specific
workarounds in a few places in the scheduler.

This commit is just the Kconfig and selection on ARM.

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2019-01-15 13:06:35 +01:00
Vincent Wan
3fd89baca4 net: Fix inet_pton when offloading is enabled
When offloading is enabled, a call to inet_pton() results in a call to
zsock_inet_pton() based on its implementation in include/net/socket.h.
This eventually leads to a call to _impl_zsock_inet_pton(), which is
not defined when offloading is enabled.

In this commit, we have chosen to directly call net_addr_pton() in
inet_pton() in the offload case to be efficient, and keep the
implementation as it is when offload is not enabled.

Fixes #12441

Signed-off-by: Vincent Wan <vincent.wan@linaro.org>
2019-01-15 10:39:52 +02:00
Johan Hedberg
eba16555ce Bluetooth: Increase default TX stack size
The current stack consumption with the H4 driver on qemu_x86 is as
follows with a change from 256 to 512:

	usage 396 / 512 (77 %)

Increase the default for this configuration, as well as other similar
configurations. Set the fallback default to a higher value as well.

Fixes #12429

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2019-01-15 10:31:55 +02:00
Anas Nashif
3ba7097e73 linker: add orphan sections to linker script
Add missing sections being reported as orphan with latest compiler
version for x86 and discard them. Do the same on ARM.

Those sections are used for dynamic linking which we do not support in
Zephyr.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2019-01-14 17:10:27 -05:00
Jakub Rzeszutko
ef672165a7 shell: documentation update according to new meta-keys
Updated shell.rst accoring to newly added meta-keys.

Signed-off-by: Jakub Rzeszutko <jakub.rzeszutko@nordicsemi.no>
2019-01-14 16:01:48 -05:00
Jakub Rzeszutko
63696968eb shell: add meta-keys
Added following meta-keys:
Ctrl-B - moves the cursor backward one character
Ctrl-D - deletes the character under the cursor
Ctrl-F - moves the cursor forward one character
Ctrl-K - deletes from the cursor to the end of the line
Alt-F  - moves the cursor forward one word
Alt-B  - moves the cursor backward one word

Signed-off-by: Jakub Rzeszutko <jakub.rzeszutko@nordicsemi.no>
2019-01-14 16:01:48 -05:00
Erwan Gouriou
21d287650d boards: nucleo_l476rg: Update to default configuration guidelines
Update nucleo_l476rg to fit with default configuration guidelines:
- update yaml

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2019-01-14 13:35:44 -06:00
Erwan Gouriou
106a74031b boards: nucleo_l073rz: Update to default configuration guidelines
Update nucleo_l073rz to fit with default configuration guidelines:
- configure I2C1 as arduino i2c and spi1 as arduino spi
- update doc
- update yaml

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2019-01-14 13:35:44 -06:00
Erwan Gouriou
b85794bc03 boards: nucleo_l053r8: Update to default configuration guidelines
Update nucleo_l053r8 to fit with default configuration guidelines:
- configure I2C1 as arduino i2c and spi1 as arduino spi
- update doc

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2019-01-14 13:35:44 -06:00
Erwan Gouriou
a38bb31df5 boards: nucleo_f446re: Update to default configuration guidelines
Update nucleo_f446re to fit with default configuration guidelines:
- add spi support
- configure I2C1 as arduino i2c and spi1 as arduino spi
- update yaml
- disable I2C by default
- update doc

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2019-01-14 13:35:44 -06:00
Erwan Gouriou
c060012705 boards: nucleo_f411re: Update to default configuration guidelines
Update nucleo_f411re to fit with default configuration guidelines:
- add spi support
- configure I2C1 as arduino i2c and spi1 as arduino spi
- update yaml
- update doc

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2019-01-14 13:35:44 -06:00
Erwan Gouriou
a92863e1fc boards: nucleo_f401re: Update to default configuration guidelines
Update nucleo_f401re to fit with default configuration guidelines:
- configure I2C1 as arduino i2c and spi1 as arduino spi
- disable I2C and PWM by default
- update yaml
- update doc

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2019-01-14 13:35:44 -06:00
Erwan Gouriou
f3a42185e0 boards: nucleo_f334r8: Update to default configuration guidelines
Update nucleo_f334r8 to fit with default configuration guidelines:
- configure I2C1 as arduino i2c and spi1 as arduino spi
- reorder pinmux defintion entries to ease reading
- update yaml
- update doc

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2019-01-14 13:35:44 -06:00
Erwan Gouriou
dcdda1cf34 boards: nucleo_f302r8: Update to default configuration guidelines
Update nucleo_f302r8 to fit with default configuration guidelines:
- remove reference to arduino_serial as Ardiuno D1/D0 are actually
mapped on PA2/PA3 which are already used for ST_Link com port,
hence not available by default for arduino serial

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2019-01-14 13:35:44 -06:00
Erwan Gouriou
0bc9473614 boards: nucleo_f103rb: Update to default configuration guidelines
Update nucleo_f103rb to fit with default configuration guidelines:
-configure arduino spi
-update doc
-update yaml

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2019-01-14 13:35:44 -06:00
Erwan Gouriou
7a353e31fa boards: nucleo_f091rc: Update to default configuration guidelines
Update nucleo_f091rc to fit with default configuration guidelines:
-configure arduino spi and i2c
-fix SPI1 pinmux to enable arduino spi
-update doc
-update yaml

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2019-01-14 13:35:44 -06:00
Erwan Gouriou
37b1e19548 boards: nucleo_f070rb: Update to default configuration guidelines
Update nucleo_f070rb to fit with default configuration guidelines:
-configure arduino spi and i2c
-update doc

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2019-01-14 13:35:44 -06:00
Erwan Gouriou
dd580e6fca boards: nucleo_f030r8: Update to default configuration guidelines
Update nucleo_f030r8 to fit with default configuration guidelines:
-configure arduino spi and i2c
-update yaml
-update doc

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2019-01-14 13:35:44 -06:00
Anas Nashif
937e45de74 drivers: spi_sam: initialize tx and rx
initialize both tx and rx in the spi_sam0 driver. Make the spi_sam
driver look the same by splitting the declaration into 2 lines.

Discovered with gcc 8.2

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2019-01-14 14:07:52 -05:00
Andrei Laperie
f072a83391 doc: Updated CAN part of stm32f072b_disco documentation
Added CAN pins and provided link for a working CAN transceiver.

Signed-off-by: Andrei Laperie <andrei.laperie@intel.com>
2019-01-14 10:09:44 -05:00
Håkon Øye Amundsen
120aaae268 cmake: Remove kconfig-usage target
This target uses a file which no longer exists.
Invoking it results in an error.

Signed-off-by: Håkon Øye Amundsen <haakon.amundsen@nordicsemi.no>
2019-01-14 10:01:19 -05:00
Dawid Wojciechowski
fdd89c60f3 sanitycheck: Enable Renode tests on m2gl025_miv
The test suite will use the m2gl025_miv.resc Renode script to load the
platform.

Signed-off-by: Dawid Wojciechowski <dwojciechowski@internships.antmicro.com>
Signed-off-by: Jan Kowalewski <jkowalewski@antmicro.com>
Signed-off-by: Piotr Zierhoffer <pzierhoffer@antmicro.com>
2019-01-14 09:12:07 -05:00
Jan Kowalewski
265895b293 sanitycheck: Add Renode support
The change adds an optional capability to kill process by PID in the
BinaryHandler. At the moment proc.terminate only closed the make
process, also closing the stdin/stdout, but this is impossible to detect
in .NET.

Signed-off-by: Dawid Wojciechowski <dwojciechowski@internships.antmicro.com>
Signed-off-by: Jan Kowalewski <jkowalewski@antmicro.com>
Signed-off-by: Piotr Zierhoffer <pzierhoffer@antmicro.com>
2019-01-14 09:12:07 -05:00
Dawid Wojciechowski
92156642d2 sanitycheck: Add Renode cmake configuration
By default Renode is searched for in the system PATH.
The PID is stored in renode.pid - the application must be killed with a
signal after a test.

With the XWT gui layer disabled all UART output is directed to the
stdout.

Signed-off-by: Dawid Wojciechowski <dwojciechowski@internships.antmicro.com>
Signed-off-by: Jan Kowalewski <jkowalewski@antmicro.com>
Signed-off-by: Piotr Zierhoffer <pzierhoffer@antmicro.com>
2019-01-14 09:12:07 -05:00
Sathish Kuttan
39570b5bae soc: intel_s1000: Add SoC routine for GNA power-up
Add an SoC level routine to turn power and clock on for
Intel GNA block in Intel S1000 SoC.

Signed-off-by: Sathish Kuttan <sathish.k.kuttan@intel.com>
2019-01-14 08:43:51 -05:00
Andrei Laperie
f8275da755 dts: Reduced CAN bitrate for stm32f072b_disco
For normal (over-the-wire) mode of CAN sample lowering bitrate to
125000 to ensure reliable transfer on stm32f072b_disco boards

Signed-off-by: Andrei Laperie <andrei.laperie@intel.com>
2019-01-14 07:03:15 -06:00
Kumar Gala
35ecc78cdf scripts/dts/extract: Generate unique defines based on compat & instance
Add support to generate defines of the form
DT_<COMPAT>_<INSTANCE>_<PROP>.  The idea is that we can utilize this in
drivers to remove the need for dts_fixup.h.  The <INSTANCE> value is
determined by the script and starts at 0 and counts up for each instance
of a given <COMPAT>.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2019-01-14 06:33:29 -06:00