Commit graph

47498 commits

Author SHA1 Message Date
Enjia Mai
53ca709828 tests: coverage: exclude the CODE UNREACHABLE of code coverage
1. Exclude the CODE UNREACHABLE line while generating coverage report.
2. Exclude the memory domain deprecated API when calculating code
coverage.

Signed-off-by: Enjia Mai <enjiax.mai@intel.com>
2021-01-15 12:42:00 -05:00
Enjia Mai
07d67c1bd4 tests: device: add two more error case testing
1. Add a null dynamic name testing for device_get_binding().
2. Add a driver which initialization failed in SYS_INIT.

Signed-off-by: Enjia Mai <enjiax.mai@intel.com>
2021-01-15 12:18:16 -05:00
Noelle Clement
b9d45ecf27 dts: arm: stm32: stm32l1x remove eeprom reg attribute & add eeprom sizes
'reg' attribute removed from overall stm32l1 dts,
so eeprom size has to be specified for each SoC
in stm32l1x series.
Adds remaining stm32l1x SoCs that didn't have eeprom size specified yet.
Eeprom size added in stm32l151Xb-a & stm32l151X8-a dtsi files,
(based on device overview in datasheet DocID024330 Rev 5).
Eeprom size added in stm32l151Xb dtsi file (based on
device overview in datasheet DocID17659 Rev 12).

Signed-off-by: Noelle Clement <noelleclement@hotmail.com>
2021-01-15 12:15:40 -05:00
Jukka Rissanen
ebd077b258 tests: net: af_packet: Increase main stack size
The main stack size is too small by default in many boards.
Increase the size to 1024 bytes which works fine with
sam_e70_xplained board.

Fixes #31343

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2021-01-15 12:14:53 -05:00
Enjia Mai
173b192602 tests: mutex: remove and refine some error test cases
1. Remove the error test cases that trigger assertion.
2. Refine the NULL and invalid kobject parameter test case.
3. Use the common fatal error handler to reduce code.

Signed-off-by: Enjia Mai <enjiax.mai@intel.com>
2021-01-15 12:13:52 -05:00
Nicolas Pitre
7a22a4bdf6 heap: clean up some size related issues
First, the maximum heap size must fit in 31 bits worth of chunks
because the internal 32-bit field holding the size is shared with
the `used` bit.

Then the mention of a 256-byte block in the doc is no longer
relevant. That pertained to the previous allocator implementation.

And ditto for the HEAP_MEM_POOL_MIN_SIZE kconfig option.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2021-01-15 12:08:20 -05:00
Ningx Zhao
4b46aa7a95 kernel: dlist: add test cases to cover APIs
Add a testcase to test the APIs which not
covered by existing testcases.

Signed-off-by: Ningx Zhao <ningx.zhao@intel.com>
2021-01-15 11:42:48 -05:00
Mulin Chao
ab199d87da driver: host-subs: replace defined() macro with IS_ENABLED().
Replace marco function, defined(), with IS_ENABLED() in host sub-devices
driver implementation. In this PR, we won't replace the macros which
cause -Wimplicit-function-declaration warning if related configuration
is not enabled or its type is not boolean..

Signed-off-by: Mulin Chao <mlchao@nuvoton.com>
2021-01-15 11:39:45 -05:00
Emil Gydesen
69d8b0a0b4 drivers: bluetooth: hci: Add support for ISO packets in rpmsg
This adds supports for ISO packets so then can be transmitted and
received with rpmsg driver.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2021-01-15 11:39:09 -05:00
Xinrong Han
898b1736b5 drivers: led: ht16k33: fix a typo
Fix a typo to make the LOG_ERR info right.

Signed-off-by: Xinrong Han <hanxr19@mails.tsinghua.edu.cn>
2021-01-15 11:38:39 -05:00
Xinrong Han
3c6ffaf7e2 samples: drivers: dac: src: add error check of dac_write_value()
Validate that dac_write_value() succeeds.

Fixes #30205

Signed-off-by: Xinrong Han <hanxr19@mails.tsinghua.edu.cn>
2021-01-15 11:38:39 -05:00
Morten Priess
3617128cf4 Bluetooth: controller: Add vendor operations to TICKER_USER_LLL_OPS
Allow vendor specific increase of user operation capacity for LLL, to
support queuing additional ticker operations from lower link layer
context. These would typically take place in lll_xxx_prepare.

Signed-off-by: Morten Priess <mtpr@oticon.com>
2021-01-15 11:37:23 -05:00
Lingao Meng
c262239680 Bluetooth: Mesh: Fix friendship counter increasing order
For Bluetooth Mesh, counter shall be increasing by one when
every try to establishing friendship.

Counter to be used when create friendship security material.
So this value shall be consist between friend and lpn.

Due to zephyr bluetooth mesh send previous counter, after that
it will automatically increase one, which will result in the
incorrect generation of friend key when key rephase.

Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
2021-01-15 11:36:48 -05:00
Andy Ross
51d8e36249 tests/lib: Add p4wq test
Add test for the P4 Work Queue gadget.  Includes coverage sections
detailing all elements of the API, and a reasonably extensive stress
suite that will saturate the device for 1k events.

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2021-01-15 11:35:50 -05:00
Andy Ross
d2eadfa162 lib/os: P4 Work Queue: Pooled Parallel Preemptible Priority-based
This adds a somewhat special purpose IPC mechanism.  It's intended for
applications which have a "work queue" like architecture of discrete
callback items, but which need the ability to schedule those items
independently in separate threads across multiple CPUs.  So P4 Work
items:

1. Can run at any Zephyr scheduler priority and with any deadline
   (this feature assumes EDF scheduling is enabled)

2. Can be submitted at any time and from any context, including being
   resubmitted from within their own handler.

3. Will preempt any lower priority work as soon as they are runnable,
   according to the standard rules of Zephyr priority scheduling.

4. Run from a pool of worker threads that can be allocated efficiently
   (i.e. you need as many as the number of CPUs plus the number of
   preempted in-progress items, but no more).

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2021-01-15 11:35:50 -05:00
Andy Ross
ef626571b2 kernel/sched: Optimize deadline comparison
Needing to check the current cycle time (which involves a spinlock and
register read on most architectures) is wasteful in the scheduler
priority predicate, which is a hot path.  If we "burn" one bit of
precision (and document the rule), we can do the comparison without
knowing the current time.

2^31 cycles is still far longer than a live deadline thread in any
legitimate realtime app should ever live before being scheduled.

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2021-01-15 11:35:50 -05:00
Meng xianglin
912914a915 test: msgq: imporve test coverage for message queue
Add code to wake up a thread waiting for message on a message
queue.

Signed-off-by: Meng xianglin <xianglinx.meng@intel.com>
2021-01-15 11:35:22 -05:00
Jordan Yates
f70efbcd9b dts: nrf: add UICR and FICR peripherals
Add UICR and FICR peripherals to dts for SoC's that are missing them.

Fixes #24338

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2021-01-15 11:31:39 -05:00
Daniel Leung
e9c28e41e2 tests: debug/coredump: change to dump minimal memory
The default of coredump is to dump all RAM as defined in
the linker script. However, this takes a while on boards
with bigger memory space, and would slow down automated
testing due to the need to grab all the data via serial.
So change it to dump minimal memory, as this would still
test the memory dumping capability.

Fixes #28547

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2021-01-15 11:29:50 -05:00
Mulin Chao
1c21ca829b drivers: wdt: add watchdog driver support for NPCX7 series.
In npcx7 series, the Timer and Watchdog module (TWD) generates the
clocks and interrupts used for timing periodic functions in the system.
It also provides watchdog reset signal generation in response to a
failure detection.

The CL also includes:
    — Add npcx watchdog device tree declarations.
    — Zephyr watchdog api implementation.
    — Add Watchdog definitions for npcx7 series in
      tests/drivers/watchdog/wdt_basic_api/src/test_wdt.c for
      supporting test suites.

Signed-off-by: Mulin Chao <MLChao@nuvoton.com>
2021-01-15 11:27:10 -05:00
Tim Lin
981166eb8e drivers/i2c: add i2c driver on it8xxx2 platform
This commit is about the it8xxx2 i2c master driver which
includes six SMBus channels. The enhanced channel i2c3,
i2c4, i2c5 are controller which are designed to support
the I2C protocol.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2021-01-15 11:22:57 -05:00
Tim Lin
8f4692083c soc/riscv: correct the name of the register
correct the name of bit5 of GCR2 register from SMB4E to SMB3E.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2021-01-15 11:22:57 -05:00
Vinayak Kariappa Chettimada
21d9bb6e51 Bluetooth: controller: Remove BIT64 redundant definition
Remove the redundant definition of BIT64 macro.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2021-01-15 11:21:25 -05:00
Markus Fuchs
ea6f7a4292 disk: disk_access_flash: Make sector size configurable in Kconfig
Make sector size used by flash disk configurable and expose new disk and
fatfs configurations to Kconfig.

Signed-off-by: Markus Fuchs <markus.fuchs@de.sauter-bc.com>
2021-01-15 11:21:01 -05:00
Ningx Zhao
11f89c1fda tests: stack: remove and refine some test cases
Use the common fatal error handler to reduce code.

Signed-off-by: Ningx Zhao <ningx.zhao@intel.com>
2021-01-15 11:18:40 -05:00
Michał Narajowski
b386853367 Bluetooth: tester: Implement Friend and LPN callbacks
Use these callbacks to send BTP events. They are useful for test
automation in auto-pts.

Signed-off-by: Michał Narajowski <michal.narajowski@codecoup.pl>
2021-01-15 11:14:24 -05:00
Michał Narajowski
d4247b3503 Bluetooth: tester: Set LPN Poll timeout to smaller value
Smaller poll timeout means shorter test time.

Signed-off-by: Michał Narajowski <michal.narajowski@codecoup.pl>
2021-01-15 11:14:24 -05:00
Michał Narajowski
71577b2d98 Bluetooth: tester: Use Linux Foundation Company ID
PTS now does not accept 0xffff as a company ID so set it to Linux
Foundation ID.

Signed-off-by: Michał Narajowski <michal.narajowski@codecoup.pl>
2021-01-15 11:14:24 -05:00
Johan Hedberg
c88dae574c x86: early_serial: Suppress output attempts prior to init
Until now, any attempts to call printk prior to early serial init has
caused page faults due to the device not being mapped yet. Add static
variable to track the pre-init status, and instead of page faulting
just suppress the characters and log a warning right after init to
give an indication that output characters have been lost.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2021-01-15 11:01:23 -05:00
Robert Lubos
7628eb51f1 samples: net: lwm2m_client: Remove nrf52dk_nrf52832 from the allowlist
BLE and LwM2M grew in terms of RAM usage so that the sample does not
fit into nRF52832 anymore in the default configuration. This cause
twister to report an error when overflows errors are enabled.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2021-01-15 10:57:01 -05:00
Kumar Gala
b09f543673 watchdog: sifive: Remove use of DEVICE_DT_INST_DECLARE
DEVICE_DT_INST_DECLARE is no longer needed and this one case was missed
in the cleanup to remove it.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2021-01-15 10:55:20 -05:00
Erwan Gouriou
7f39d745c9 dts/arm/st: wb: Add quadspi node
Add quadspi support to stm32wb series.
Tested on nucleo_wb55rg + nor flash.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2021-01-15 10:29:30 -05:00
Erwan Gouriou
dc110506d9 drivers/flash: flash_stm32_qspi: Set DMA as optional
In order to ease reuse on other series, set DMA as optional
and use IT if no DMA channel is specified in the qspi node.

Tested on disco_l475_iot1

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2021-01-15 10:29:30 -05:00
Erwan Gouriou
b711028539 scripts/Kconfig: Add dt_node_has_prop Kconfig function
Add dt_node_has_prop function to query the presence of 'prop'
for given node label.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2021-01-15 10:29:30 -05:00
Erwan Gouriou
ee199eed10 samples/subsys: littlefs: Add disco_l475_iot1
Add disco_l475_iot1 as build platform for this sample

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2021-01-15 10:29:30 -05:00
Erwan Gouriou
e2ff107cf2 samples: spi_flash: Add compatibility with st,stm32-qspi-nor
Enable using st,stm32-qspi-nor compatible driver for this
sample.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2021-01-15 10:29:30 -05:00
Erwan Gouriou
b711740c8f boards: disco_l475_iot1: Enable support for MX25R6435F QSPI NOR
Configure QSPI NOR support and MX25R6435F on disco_l475_iot1 board.
Set MX25R6435F as flash controller and arrange partitions to take
newlay available space into account.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2021-01-15 10:29:30 -05:00
Erwan Gouriou
4de9f27651 dts: Add stm32 quadspi support on L4 series
Add device tree description for qspi node on STM32L4 and
signals on whole family.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
Signed-off-by: Piotr Mienkowski <piotr.mienkowski@gmail.com>
2021-01-15 10:29:30 -05:00
Erwan Gouriou
9bfb889088 drivers/flash: stm32: Add qspi-nor flash-controller
Add support for DMA based STM32 QSPI NOR flash controller.
Driver configures both NOR flash and also QSPI hardware block.
Reuses existing jesd216 library.

QSPI hardware block handling is done through the use of Cube HAL API.
This requires the use of HAL interface also for DMA besides zephyr
DMA driver.
Zephyr DMA driver is used only for IRQ routing while HAL driver
handles the IP block. To achieve this it is required to:
-Configure both Cube and Zephyr drivers at init.
-Inform Zephyr driver that current channel handling will be done
by another instance and only a limited configuration should be done.
For this last part, a unused parameter is overridden in order to
transmit the information.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
Signed-off-by: Piotr Mienkowski <piotr.mienkowski@gmail.com>
2021-01-15 10:29:30 -05:00
Erwan Gouriou
d43200e9c4 drivers/dma: stm32: Preparation for QSPI DMA mode support
In preparation for QSPI DMA mode:
-Add a possibility to override driver by the HAL DMA. In that case
stream is set as busy and no configuration nor treatment is done.
In case of interrupt, flags clearing is let to HAL.
-Treat Half Transfer interrupt prior to Transfer Complete for the
cases were both IRQ are both raised at the time IRQ handler is called

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2021-01-15 10:29:30 -05:00
Erwan Gouriou
93ced15ef8 dts/bindings: flash_controller: Add stm32 qspi-nor flash controller
Add a binding to describe stm32 qspi-nor flash controller

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2021-01-15 10:29:30 -05:00
Erwan Gouriou
afc3f3ae31 dts/bindings: qspi: Add stm32 qspi binding
qspi bus controller bindings for stm32 family.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2021-01-15 10:29:30 -05:00
Piotr Mienkowski
7b38a5feb9 drivers/clock_control: stm32: Add AHB3 bus support
AHB3 bus support is added for compatible series.
Additionaly, fix condition for AHB2 support and fix
formatting

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
Signed-off-by: Piotr Mienkowski <piotr.mienkowski@gmail.com>
2021-01-15 10:29:30 -05:00
Erwin Rol
f770dc7121 tests: drivers: spi: spi_loopback: Enable nucleo_g474re DMA support
Enable DMA support for the Nucleo g474re board

Signed-off-by: Erwin Rol <erwin@erwinrol.com>
2021-01-15 10:27:43 -05:00
Erwin Rol
5a8d458c8d tests: drivers: spi: spi_loopback: Enable nucleo_l4r5zi DMA support
Enable DMA support for the Nucleo l4r5zi board

Signed-off-by: Erwin Rol <erwin@erwinrol.com>
2021-01-15 10:27:43 -05:00
Erwin Rol
80cc1b71e1 dts: arm: stm32g4: Add dma1, dma2, and dmamux1
Add DTS configuration for dma1, dma2, and dmamux1.

Signed-off-by: Erwin Rol <erwin@erwinrol.com>
2021-01-15 10:27:43 -05:00
Erwin Rol
cceff836ae soc: arm: stm32: Remove mem pool selection
Since the use of kmalloc was removed from the DMAMUX driver
there is no need for a memory pool anymore.

Signed-off-by: Erwin Rol <erwin@erwinrol.com>
2021-01-15 10:27:43 -05:00
Erwin Rol
4cc15d73dd drivers: dmamux: Remove need for kmalloc
Use file static variable for the channel config data, instead
of a dynamic array allocated with kmalloc.

Signed-off-by: Erwin Rol <erwin@erwinrol.com>
2021-01-15 10:27:43 -05:00
Peter Bigot
8c4c72d213 drivers: adc: update to conform to API guidelines
When the async API is not enabled produce a link-time error rather
than a runtime error.  Also document the dependence on the option.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2021-01-15 09:50:40 -05:00
Peter Bigot
2ef30e529b drivers: spi: update to conform to API guidelines
When the async API is not enabled produce a build-time error rather
than a runtime error.  Also document the dependence on the option.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2021-01-15 09:50:40 -05:00