Commit Graph

43028 Commits

Author SHA1 Message Date
Emil Obalski
27f207694c usb: hid: Allow to send data only if CONFIGURED.
USB device shall be able to send only in CONFIGURED state.
Zephyr USB HID device class allows to send the data no matter
of the USB state what is wrong. Attempting to write to endpoint
buffer in state != CONFIGURED may lead to driver error.

This patch introduces state tracing for USB HID class and
allows to send data using hid_int_ep_write() class API
only if the device remains in CONFIGURED state.

Signed-off-by: Emil Obalski <emil.obalski@nordicsemi.no>
2020-08-13 11:45:31 +02:00
Pete Johanson
b51eeb03f4 posix: linker: Wrap rodata and rwdata in sections.
* zephyr_linker_sources states that RODATA and RWDATA
  included will be wrapped in an outer section, so
  add these sections for the posix arch too.

Signed-off-by: Pete Johanson <peter@peterjohanson.com>
2020-08-13 11:41:39 +02:00
Jedrzej Ciupis
af0b1098e4 modules: nordic: add 802.15.4 multiprotocol support
This commit adds a NRF_802154_MULTIPROTOCOL_SUPPORT Kconfig switch
that makes it possible to use nRF 802.15.4 radio driver in
a multi-protocol scenario.

Signed-off-by: Jedrzej Ciupis <jedrzej.ciupis@nordicsemi.no>
2020-08-13 10:44:36 +02:00
Meng xianglin
34859d0d3e test: logging: Add more test cases for log core
Minimize CONFIG_* and platform restriction.
Handle logging message synchronously or asynchronously depend on board
config.

Signed-off-by: Meng xianglin <xianglinx.meng@intel.com>
2020-08-12 17:08:15 -05:00
Pawel Sagan
137d1d78b1 dts: riscv: Fix a label in litex-vexriscv DTS
This commit fixes a wrong "serial@e0002800" label
in riscv32-litex-vexriscv.dtsi.

Signed-off-by: Pawel Sagan <psagan@internships.antmicro.com>
Signed-off-by: Mateusz Holenko <mholenko@antmicro.com>
2020-08-12 16:40:07 -05:00
Peter Bigot
95d32549e7 tests/unit/util: refactor to test in both C and C++ language environments
Move all the tests into an include file that is included once from the
main C-compiled module, and again from a linked in C++-compiled
module.  The C compile invokes both test suites.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-08-12 16:39:37 -05:00
Peter Bigot
235a5c1771 sys/util: fix macro support when building with C++
true and false in a C environment are macros that are defined to 1 and
0 respectively.  In C++ they are keywords, and as such cause failures
when macro tests require they expand to a 1 or 0 token.  Use the
actual token values rather than the macro names when defining the
macros.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-08-12 16:39:37 -05:00
Peter Bigot
dfb9f11be3 ztest: make arc/cpu.h override C++ safe
This override header declares structures and inline functions, which
must be given C language linkage to avoid conflicting declaration
errors with other headers.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-08-12 16:39:37 -05:00
Andrew Boie
83aedb2377 x86: increment default page pool pages
With the current identity mapping scheme a new test requires
some more memory to be set aside here.

In production this parameter gets turned per-board, and
the pending paging code overhaul in #27001 significantly
relaxes this as driver I/O mappings are no longer sparse.

Fixes a runtime failure in tests/kernel/device on
qemu_x86_64 that somehow slipped past CI.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2020-08-12 16:13:19 -05:00
Kumar Gala
e4c42c24d0 tests: dac_loopback: Exclude building on arduino_zero
The test isn't supported on arduino_zero currently so don't try and
build it there.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-08-12 16:09:19 -05:00
Kumar Gala
d8b2df7338 samples: canbus: isotpfix: Add testing fixture
Add a fixture since we need at least two boards connected for this test
to run correctly w/real hardware.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-08-12 16:07:42 -05:00
Wenbo Yang
999290278e hardening: Deal with empty lines in csv file
The extra empty line broke the "ninja hardenconfig" on my machine with
Python 3.7.5, it complains:

"
... ...
File "/home/zephyrproject/zephyr/scripts/kconfig/hardenconfig.py",
line 46, in compare_with_hardened_conf

name = row[0]
IndexError: list index out of range
FAILED: CMakeFiles/hardenconfig
"

The csv.reader reads this empty line and gets an empty list which will
not be successfully "de-referenced". Adding extra check to skip the
empty lines.

Signed-off-by: Wenbo Yang <wenbo.yangcn@gmail.com>
2020-08-12 16:43:18 -04:00
Erwin Rol
f2156b9d4a drivers: i2c_ll_stm32_v1: Reset i2c device on timeout
When, due to EMC, a spike happens on the SDA line the hardware hangs
and will not function anymore until the unit is reset.

By adding a timeout to the msg_read and msg_write function we can
detect that something went wrong, and when that happens reset
the I2C bus.

The reset will also reset all configuration, so before reseting
store all important registers and after reseting restore
those settings.

Signed-off-by: Erwin Rol <erwin@erwinrol.com>
2020-08-12 14:53:37 -05:00
Erwin Rol
d49b3e1b68 drivers: i2c_ll_stm32_v1: clear stop bit befor setting start bit
Sometimes the stop bit is still set when starting the next transaction.
When that happens the hardware will generate a start directly followed
by a stop. This will not be detected by the driver and it will endlessly
wait for the next interrupt that will never come.

Signed-off-by: Erwin Rol <erwin@erwinrol.com>
2020-08-12 14:53:37 -05:00
Anas Nashif
379b93f0d3 kernel: do not call swap if next ready thread is current thread
Check if next ready thread is same as current thread before calling
z_swap.
This avoids calling swap to just go back to the original thread.

Original code: thread 0x20000118 switches out and then in again...

>> 0x20000118 gives semaphore(signal): 0x20000104 (count: 0)
>> thread ready: 0x20000118
>> 0x20000118 switched out
>> 0x20000118 switched in
>> end call to k_sem_give
>> 0x20000118 takes semaphore(wait): 0x200000f4 (count: 0)
>> thread pend: 0x20000118
>> 0x20000118 switched out
>> 0x200001d0 switched in

with this patch:

>> 0x200001d0 gives semaphore(signal): 0x200000f4 (count: 0)
>> thread ready: 0x200001d0
>> end call to k_sem_give
>> 0x200001d0 takes semaphore(wait): 0x20000104 (count: 0)
>> thread pend: 0x200001d0
>> 0x200001d0 switched out
>> 0x20000118 switched in
>> end call to k_sem_take

The above is output from tracing with a custom format used for
debugging.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2020-08-12 15:32:29 -04:00
Dominik Ermel
3620d41916 doc: syscalls: Fix typos in syscalls documentation
Fixing typos.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2020-08-12 08:50:19 -07:00
Jukka Rissanen
adf7291211 drivers: serial: native_posix: Add example using gnome-terminal
Add example how to use gnome-terminal when launching a new
terminal for attaching the UART.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2020-08-12 17:12:31 +02:00
Gerard Marull-Paretas
a07d66a1a8 shields: adafruit_2_8_tft_touch_v2: add note about touch IRQ
Add note about the availability of touch panel IRQ linei when a jumper
in the board is soldered. A Device Tree commented entry has also been
added to ease testing it.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2020-08-12 12:35:04 +02:00
Johann Fischer
eacffdb511 shields: adafruit_2_8_tft_touch_v2: enable touch input support
Enable FT6x06 controller driver and touch input support.

Signed-off-by: Johann Fischer <j.fischer@phytec.de>
2020-08-12 12:35:04 +02:00
Gerard Marull-Paretas
ca9dce0d7d drivers: kscan: generalize and improve FT5336 driver
The FT5336 driver has been improved and generalized so that multiple
Focaltech touch controllers can be supported using the same single
driver. According to specifications the following list of controller
variants should be supported: FT5x06, FT5606, FT5x16, FT6x06, Ft6x36,
FT5x06i, FT5336, FT3316, FT5436i, FT5336i and FT5x46.

Tested using ER-TFTM028-4 display module (FT6X06).

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2020-08-12 12:35:04 +02:00
Yuguo Zou
1672e51d51 lib: fix compile error for ARC arch
macro Z_ARC_MPU_SIZE_ALIGN is no longer exist, so change it accordingly

Signed-off-by: Yuguo Zou <yuguo.zou@synopsys.com>
2020-08-12 09:22:37 +02:00
Peter Bigot
78f36fa534 python3: add check_compliance package requirements
Running check_compliance on a PR before submitting it can avert
embarrassing mistakes.  Ensure the packages needed to do so are
installed along with all the others.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-08-11 14:49:48 -04:00
Meng xianglin
9f8d745b7f test: msgq: Add two corner cases in message queue
Put message to a full queue or get message from an empty queue with
different timeout: K_NO_WAIT, a period of time, K_FOREVER.

Signed-off-by: Meng xianglin <xianglinx.meng@intel.com>
2020-08-11 19:32:52 +02:00
Joakim Andersson
b0d8758fb6 Bluetooth: host: Split SSP to it's own module
Refactor the BR/EDR SSP feature out into it's own source file.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2020-08-11 19:32:35 +02:00
Joakim Andersson
487d2be749 Bluetooth: host: Move reset_pairing call to bt_conn_security_changed
Move call to reset_pairing to bt_conn_security_changed, since this
should always be done at the same time, and should be done in the same
order for all calls. For auth_complete this was reset after the
callbacks, which is inconsistent with the other events.

Also call it even if not connected anymore, the disconnection complete
event will be delivered after this event. Callback should alway be
called if security was initiated.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2020-08-11 19:32:35 +02:00
Tomasz Bursztyka
6234a01a0a doc: Add a device structure change entry to release-notes for 2.4 version
Documenting the change.

Fixes #27394

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2020-08-11 19:30:53 +02:00
Tomasz Bursztyka
98d9b01322 device: Apply driver_api/data attributes rename everywhere
Via coccinelle:

@r_device_driver_api_and_data_1@
struct device *D;
@@
(
D->
-	driver_api
+	api
|
D->
-	driver_data
+	data
)

@r_device_driver_api_and_data_2@
expression E;
@@
(
net_if_get_device(E)->
-	driver_api
+	api
|
net_if_get_device(E)->
-	driver_data
+	data
)

And grep/sed rules for macros:

git grep -rlz 'dev)->driver_data' |
	xargs -0 sed -i 's/dev)->driver_data/dev)->data/g'

git grep -rlz 'dev->driver_data' |
	xargs -0 sed -i 's/dev->driver_data/dev->data/g'

git grep -rlz 'device->driver_data' |
	xargs -0 sed -i 's/device->driver_data/device->data/g'

Fixes #27397

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2020-08-11 19:30:53 +02:00
Tomasz Bursztyka
d86f79cbd7 doc: Update device driver documentation on driver_* attributes rename
s/driver_data/data
s/driver_api/api

Fixes #27397

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2020-08-11 19:30:53 +02:00
Tomasz Bursztyka
b2024aeca7 device: Rename driver_api/data attributes to api/data
struct device is by definition representing an device driver instance
and as such, driver_ prefix in attributes is rather redundant and can be
removed.

Fixes #27397

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2020-08-11 19:30:53 +02:00
Tomasz Bursztyka
af6140cc0d device: Apply config_info rename everywhere
Via coccinelle:

@r_device_config@
struct device *D;
@@

D->
-	config_info
+	config

And 2 grep/sed rules for macros:

git grep -rlz 'dev)->config_info' |
	xargs -0 sed -i 's/dev)->config_info/dev)->config/g'

git grep -rlz 'dev->config_info' |
	xargs -0 sed -i 's/dev->config_info/dev->config/g'

Fixes #27397

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2020-08-11 19:30:53 +02:00
Tomasz Bursztyka
a46b4a9921 doc: Update device driver documentation on config_info attribute rename
s/config_info/config

Fixes #27397

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2020-08-11 19:30:53 +02:00
Tomasz Bursztyka
a8cd162d2c device: Rename config_info attribute to config
There use to be a config attribute of type device_config, on which
config_info could be found. config_info was thus named that way to
differentiate easily from config attribute in struct device.

Now that there is no such device_config structure, config_info in
structure device now, can be renamed to config.

Semantically, it makes for sense. We have an attribute pointing to the
configuration of the device driver instance. Configuration information
is correct but has a redundant meaning.

Fixes #27397

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2020-08-11 19:30:53 +02:00
Dominik Ermel
ca7a6f4a45 shell: kconfig: Clarify dependency of UART option from DTS
This commit adds comment clarifying how does DTS chosen node,
'zephyr,shell-uart', impacts default value of option assigning UART
port to the shell.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2020-08-11 19:30:05 +02:00
Kumar Gala
a0a3af1a1a ci: Bump timeout for daily build to 3.5 hours
In an attempt to get the daily builds to complete, but the timeout for
them to 3.5 hours.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-08-11 11:08:49 -05:00
Kumar Gala
c5496e8e7b samples: nvs: Do full chip erase when flashing
Add for various flash runners (pyocd, nrfjprog, and dfu-util) to do a
full chip erase.  This is needed for the sample to pass in sanitycheck
on real hardware.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-08-11 09:39:49 -04:00
Marcin Niestroj
2652dc71a3 sanitycheck: fix --coverage-tool gcovr
Currently '--coverage-tool gcovr' results in using lcov. Fix that to use
gcovr, as requested by user.

Fixes: f6462a3a8c ("sanitycheck: get rid of global VERBOSE")
Signed-off-by: Marcin Niestroj <m.niestroj@grinn-global.com>
2020-08-11 08:36:39 -04:00
Vincent Wan
26696a4efa net: tcp2: compile out net_tcp_init() in tcp2.h for non-native stacks
For platforms using non-native stacks, net_tcp_init() should be
compiled out, similar to how it is done in tcp_internal.h.

Fixes #27463

Signed-off-by: Vincent Wan <vwan@ti.com>
2020-08-11 07:23:59 -05:00
Emil Gydesen
5580cb4391 Bluetooth: host: Periodic adv sync shell support
Added shell support to create and delete a periodic adv sync
object.

Signed-off-by: Emil Gydesen <emil_gydesen@bose.com>
2020-08-11 14:17:19 +02:00
Emil Gydesen
aea6afe3fa Bluetooth: host: Perodic advertisement synchronization
Added support for syncing to periodic advetisements.
The API and usage is heavily inspired by the extended advertisement
and connection APIs.

Signed-off-by: Emil Gydesen <emil_gydesen@bose.com>
2020-08-11 14:17:19 +02:00
Emil Gydesen
262a0501de Bluetooth: host: Added scan support for periodic advertisement
Added the ext adv report interval to bt_le_scan_recv_info which
denotes whether or not there is periodic advertisement data
associated with the advertisement report.

Signed-off-by: Emil Gydesen <emil_gydesen@bose.com>
2020-08-11 14:17:19 +02:00
Emil Gydesen
d5801316d7 Bluetooth: host: periodic adv shell support
Added shell support for periodic advertisement params,
data and enable.

Signed-off-by: Emil Gydesen <emil_gydesen@bose.com>
2020-08-11 14:17:19 +02:00
Emil Gydesen
8cf01ab590 Bluetooth: host: Add periodic advertising API
Added API to set periodic adv parameters, periodic adv data
and to enable/disable periodic advertisement.

Signed-off-by: Emil Gydesen <emil_gydesen@bose.com>
2020-08-11 14:17:19 +02:00
Dominik Ermel
b74ed8fecb kconfig: Move FAT FS options closer to enable
When FAT FS option is enabled, then the FAT FS sub-menu will appear
next to it, instead of appearing far down the list.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2020-08-11 07:47:08 -04:00
Jan Pohanka
9e462469b4 lib: posix: Fix priority validity check in pthread_setschedparam
New priority value check was faultly done on zephyr priority instead
of posix one.

Signed-off-by: Jan Pohanka <xhpohanka@gmail.com>
2020-08-11 07:46:06 -04:00
Jukka Rissanen
9df168b535 tests: lib: fdtable: Add tests for checking refcounting
Add tests that will make sure that refcounting works as expected.

Also fixed two tests that were using the object values before
the fdtable contained proper values. After reserving a fd by
z_reserve_fd(), we can only call z_finalize_fd() or z_free_fd(),
and only after those calls can fetch obj and vtable values.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2020-08-10 14:56:08 -07:00
Jukka Rissanen
8b578bdceb lib: os: Add refcounting to fdtable entries
Use proper refcounting instead of magic value in obj field
when checking whether the fd is still in use. This will make
sure that if fd is shared between two threads, we do not
release it too soon.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2020-08-10 14:56:08 -07:00
Jukka Rissanen
1e9ae21084 doc: shields: H1 heading was missing for mikroe_eth_click
Because the H1 heading was not set in mikroe_eth_click index.rst
file, the shields listing page was listing H2 headings for this
shield.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2020-08-10 09:07:05 -05:00
Martí Bolívar
e6341de714 soc: silabs_exx32: add missing ifs to Kconfig.defconfig
This file is setting Kconfig options even when it is not the chosen
SoC. I noticed this because without this patch, CONFIG_SOC_GECKO_EMU=y
when building for an unrelated board with SYS_POWER_MANAGEMENT=y.

Hide any subtrees in this file when the EXX32 family isn't selected.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2020-08-10 08:57:37 -05:00
Francois Ramu
4a72108be8 board: counter: rtc for stm32l152 nucleo board
This patch enables the rtc so that the testcase
tests/drivers/counter/counter_basic_api
can run on this nucleo_l152re board
also when running sanity checks patch set

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2020-08-10 12:17:09 +02:00
Francois Ramu
b9c7c35db0 drivers: counter: rtc valid for stm32l1 soc series
The rtc counter is also built for the stm32l1 series
from STMicroelectronics.
The EXTI line 17 is mapped on RTC alarm pin

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2020-08-10 12:17:09 +02:00