Commit graph

62099 commits

Author SHA1 Message Date
Jonathan Rico
f4ea0651ac Bluetooth: hci: rpmsg: do not drop hci buffers
This fixes an issue where we would drop the hci event if allocation from
the hci event buffer pool didn't immediately succeed.

The behavior is now to block on allocation, and warn the user every 10
seconds.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2022-03-23 12:54:26 +01:00
Vinayak Kariappa Chettimada
4548bd9a25 Bluetooth: Controller: Use ticker yield to allow chain PDU receive
Use ticker yield interface to allow chain PDU reception that
overlaps with currently reserved time for received PDU.
Without the yield ULL scheduling to receive auxiliary PDU
fails to be scheduled using ticker.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2022-03-23 12:53:38 +01:00
Vinayak Kariappa Chettimada
53996ba459 Bluetooth: Controller: Yield stopped ticker time reservations
Update ticker_yield_abs implementation to allow yielding
expired single shot tickers.

Relates to commit bce82ad49b ("Bluetooth: controller: Add
ticker_yield_abs interface").

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2022-03-23 12:53:38 +01:00
Vinayak Kariappa Chettimada
8482c95884 Bluetooth: Controller: Use minimal time reservation for aux receive
Use minimal time reservation for aux receive.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2022-03-23 12:53:38 +01:00
Vinayak Kariappa Chettimada
5dc29b2c8c Bluetooth: controller: Fix aux offset overhead calculation and margin
Fix missing use of EVENT_TICKER_RES_MARGIN_US and receive
chain delay in the calculation of overhead value that
determines if ULL or LLL scheduling to be used to receive
auxiliary PDUs.

Also, fix missing use of EVENT_TICKER_RES_MARGIN_US when
ULL scheduling for reception of auxiliary PDU.

See also commit 544acb9804 ("Bluetooth: controller: Fix
missing EVENT_TICKER_RES_MARGIN_US").

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2022-03-23 12:53:38 +01:00
Bartosz Golaszewski
c203b033ef boards: shields: adafruit: add a board overlay for arduino_nano_33_ble
This adds an overlay defining a dummy arduino_header with three pins
required by the adafruit 2.8 TFT display to work on arduino_nano_33_ble.

While the nano form factor doesn't really have a proper Rev3 header, this
allows to connect the display to the nano pins and make the display work.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@huawei.com>
2022-03-23 12:53:30 +01:00
Bartosz Golaszewski
4389f75314 boards: arm: arduino_nano_33_ble: add arduino labels for I2C and SPI
Certain overlays reference I2C and SPI by the semi standardized
arduino_i2c/arduino_spi labels. Add them to the DT for arduino_nano_33_ble
for the I2C and SPI interfaces exposed on the headers.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@huawei.com>
2022-03-23 12:53:30 +01:00
Andrei-Edward Popa
12fa630844 drivers: serial: rpi_pico: added reset support for UART devices
added reset controller for Raspberry Pi Pico UART devices

Signed-off-by: Andrei-Edward Popa <andrei.popa105@yahoo.com>
2022-03-23 12:51:39 +01:00
Andrei-Edward Popa
66ec2bac3a dts: arm: rpi_pico: added resets for UART instances
added resets for Raspberry Pi Pico UART instances
enabled reset controller in defconfig

Signed-off-by: Andrei-Edward Popa <andrei.popa105@yahoo.com>
2022-03-23 12:51:39 +01:00
Andrei-Edward Popa
7a02066af8 dts: arm: rpi_pico: added reset controller node
added reset controller node in dtsi
added defines for all reset pins

Signed-off-by: Andrei-Edward Popa <andrei.popa105@yahoo.com>
2022-03-23 12:51:39 +01:00
Andrei-Edward Popa
cf8e214cd9 dts: bindings: serial: added reset bindings for Raspberry Pi Pico
added reset controller bindings for Raspberry Pi Pico board

Signed-off-by: Andrei-Edward Popa <andrei.popa105@yahoo.com>
2022-03-23 12:51:39 +01:00
Andrei-Edward Popa
3d24f62c05 drivers: reset: added Reset Controller for Raspberry Pi Pico
added Reset Controller driver for Raspberry Pi Pico board

Signed-off-by: Andrei-Edward Popa <andrei.popa105@yahoo.com>
2022-03-23 12:51:39 +01:00
Andrei-Edward Popa
a4e762b1fd dts: bindings: reset: added bindings for Raspberry Pi Pico
added reset bindings for Raspberry Pi Pico board

Signed-off-by: Andrei-Edward Popa <andrei.popa105@yahoo.com>
2022-03-23 12:51:39 +01:00
Andrei-Edward Popa
5f35cdeece doc: reference: added documentation for Reset Controller
added documentation for Reset Controller Driver

Signed-off-by: Andrei-Edward Popa <andrei.popa105@yahoo.com>
2022-03-23 12:51:39 +01:00
Andrei-Edward Popa
8645de581e drivers: added file structure for Reset Controller Driver
added needed files for reset controller driver

Signed-off-by: Andrei-Edward Popa <andrei.popa105@yahoo.com>
2022-03-23 12:51:39 +01:00
Andrei-Edward Popa
a49d88ce05 tests: lib: devicetree: api: added test for reset public API
added test reset for reset public API macros

Signed-off-by: Andrei-Edward Popa <andrei.popa105@yahoo.com>
2022-03-23 12:51:39 +01:00
Andrei-Edward Popa
eeaf115291 dts: bindings: test: added bindings for devicetree test reset
added bindings for vnd,reset used for devicetree test reset
added adc temp sensor as supporting reset

Signed-off-by: Andrei-Edward Popa <andrei.popa105@yahoo.com>
2022-03-23 12:51:39 +01:00
Andrei-Edward Popa
ae3d53a491 dts: bindings: added bindings for Reset Controller Driver
added bindings and compatible for reset controller nodes
added bindings for devices that use the reset controller

Signed-off-by: Andrei-Edward Popa <andrei.popa105@yahoo.com>
2022-03-23 12:51:39 +01:00
Andrei-Edward Popa
8e027b9ad3 include: drivers: added header file for Reset Controller Driver
added API and syscalls for reset controller
added reset controller devicetree macro public API header file

Signed-off-by: Andrei-Edward Popa <andrei.popa105@yahoo.com>
2022-03-23 12:51:39 +01:00
Asbjørn Sæbø
75e6680086 Bluetooth: Audio - media: Make local control of local player default
Make local control of local player the default if control of local
player is configured.

Signed-off-by: Asbjørn Sæbø <asbjorn.sabo@nordicsemi.no>
2022-03-23 12:50:53 +01:00
Asbjørn Sæbø
6ca4cf8ff5 Bluetooth: Audio - media - add more guarding
Add include guards for local player local control

Signed-off-by: Asbjørn Sæbø <asbjorn.sabo@nordicsemi.no>
2022-03-23 12:50:53 +01:00
Asbjørn Sæbø
9c43315d4f Bluetooth: Audio - media - guard instance members
Guard media proxy instance members.
As a consequence, change guarding for functions using remote player
member.

Signed-off-by: Asbjørn Sæbø <asbjorn.sabo@nordicsemi.no>
2022-03-23 12:50:53 +01:00
Asbjørn Sæbø
92b35bea92 Bluetooth: Audio - media - do not use non-default values in settings
Remove some project-specific settings for media, rely on defaults
instead.

Signed-off-by: Asbjørn Sæbø <asbjorn.sabo@nordicsemi.no>
2022-03-23 12:50:53 +01:00
Asbjørn Sæbø
347181866e Bluetooth: Audio: Media - change default kconfig values
Change the default URL length value to something that can contain the
default URL string.
Increaste the default track title length.

Signed-off-by: Asbjørn Sæbø <asbjorn.sabo@nordicsemi.no>
2022-03-23 12:50:53 +01:00
Asbjørn Sæbø
476ff198bb Bluetooth: Audio - MCS kconfig - fix spacing in comments
Change double-space after period to single space.

Signed-off-by: Asbjørn Sæbø <asbjorn.sabo@nordicsemi.no>
2022-03-23 12:50:53 +01:00
Asbjørn Sæbø
308390f5af Bluetooth: Audio: MCS config file cleanup
- Rename MCS configs that are only used by MCC to "MCC", add some more
  documentation.

Signed-off-by: Asbjørn Sæbø <asbjorn.sabo@nordicsemi.no>
2022-03-23 12:50:53 +01:00
Asbjørn Sæbø
e494debdc8 Bluetooth: Audio: Use new media control configs in media proxy
Update the media proxy to use the new Kconfigs to include/exclude the
various parts of the implementation. This replaces existing guarding
using other Kconfig values.

Signed-off-by: Asbjørn Sæbø <asbjorn.sabo@nordicsemi.no>
2022-03-23 12:50:53 +01:00
Asbjørn Sæbø
29aa654600 Bluetooth: Audio: Media control Kconfig
Add Kconfig file for the media proxy, for high-level media control
configuration.

The media proxy did not have a Kconfig file, it was relying on the
Kconfigs for GATT media control client and server.

The purpose is to unify the media control configurations, to make the
different media control functionalities available separately, and to
separate the high-level media control from the bluetooth media control
server and client.

Signed-off-by: Asbjørn Sæbø <asbjorn.sabo@nordicsemi.no>
2022-03-23 12:50:53 +01:00
Asbjørn Sæbø
0092f7467f Bluetooth: Audio - remove media controller dependency
The media controller internal header file does not need to depend upon
the media proxy header.

Requires one piece of spec info here, but the media player already
needs to adhere to the media control service spec, so situation no
worse than before.

Signed-off-by: Asbjørn Sæbø <asbjorn.sabo@nordicsemi.no>
2022-03-23 12:50:53 +01:00
Asbjørn Sæbø
8e509b47a9 Bluetooth: Audio: Fix initialization of not present module
Do not initialize the media control service if it is not configured.

This is a temporary fix, there is an issue to fix this properly:
https://github.com/zephyrproject-rtos/zephyr/issues/42965

Signed-off-by: Asbjørn Sæbø <asbjorn.sabo@nordicsemi.no>
2022-03-23 12:50:53 +01:00
Asbjørn Sæbø
e3a7ed4766 Bluetooth: Audio: Separate Kconfig for MPL
Separate out the Kconfig for the media player.
Also removes some unused MCS configs.

The media player has been using MCS configs, while it should be the
other way around.

Also, this will make it easier to move the media player elsewhere, as
has been discussed.

Signed-off-by: Asbjørn Sæbø <asbjorn.sabo@nordicsemi.no>
2022-03-23 12:50:53 +01:00
Asbjørn Sæbø
8c01c69779 Bluetooth: Audio: Bugfix - add cast to conn pointer
Cast conn pointer to void in debug statement, to avoid compilation
error.

(Explanation given: Trying to log an opaque pointer causes error.)

Signed-off-by: Asbjørn Sæbø <asbjorn.sabo@nordicsemi.no>
2022-03-23 12:50:53 +01:00
Dylan Hung
9065bee557 boards: arm: Add ast1030_evb board
Skeleton board support for the aspeed ast1030 evaluation board from
Aspeed Technology.

Signed-off-by: Dylan Hung <dylan_hung@aspeedtech.com>
Change-Id: I16af50dd63cb355071e32f89264d8aeae47184ac
2022-03-23 12:50:28 +01:00
Dylan Hung
a24ab24322 soc: arm: Add Aspeed ast10x0 series support
Aspeed ast10x0 series SoCs contain a ARM Cortex-M4F processor.  This
processor operates at 200MHz and executes on SRAM.

This patch adds support for ast1030 as the first SoC of this series
which is targeted but not limited at the bridge IC in a server system.

Signed-off-by: Dylan Hung <dylan_hung@aspeedtech.com>
Change-Id: I668af1ff8a36a05da791c3329ae08f5ae712bdd4
2022-03-23 12:50:28 +01:00
Mikkel Jakobsen
dbbfb86603 tests: drivers: add tlc5971 led strip driver to build_all
add to build_all for build coverage in CI.

Signed-off-by: Mikkel Jakobsen <mikkel.aunsbjerg@escolifesciences.com>
2022-03-23 12:50:11 +01:00
Mikkel Jakobsen
959afcc93a drivers: led_strip: add tlc5971 driver
the tlc5971 driver uses spi for controlling the global brightness
and individiual pixel brightness of a daisy chain of tlc5971
devices.

Signed-off-by: Mikkel Jakobsen <mikkel.aunsbjerg@escolifesciences.com>
2022-03-23 12:50:11 +01:00
Håkon Øye Amundsen
7aeef175e8 dts: nrf_qspi_nor: add option for specifying size in bytes
If a user has a 1GB external flash it is currently not possible
to configure this through DTS. To allow for such a configuration
we add an option which specifies the size in bytes not bits.

Signed-off-by: Håkon Øye Amundsen <haakon.amundsen@nordicsemi.no>
2022-03-23 12:48:08 +01:00
Stephanos Ioannidis
a4d4384447 ci: twister: Run west config after workspace initialisation
The twister workflow was invoking `west config`, which requires a west
workspace to be set up, prior to initialising the workspace via
`west init`.

This commit relocates the `west config` to be run after the workspace
initialisation.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-03-23 15:31:14 +09:00
Gerard Marull-Paretas
800e31ae76 boards: arm: hexiwear_k64: use regulator driver for 1V8 and 3V3
The LDO line (1V8) used by MAX30101 can be enabled using a regulator
device instead of custom code in the board pinmux.c. The same applies
for the 3V3 line used by multiple sensors.

NOTE: also enabled gpioa, required by LDO_EN. Spotted thanks to
build-time issue (current code did not work...).

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-03-22 23:24:44 -05:00
Gerard Marull-Paretas
4d6d2bf429 boards: arm: hexiwear_k64: use regulator driver for battery sensing
The battery sensing circuit can be enabled using a regulator device
instead of custom code in the board pinmux.c.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-03-22 23:24:44 -05:00
Daniel DeGrasse
69ff24ce97 drivers: memc: memc_mcux_flexspi: move device data into RAM
flexspi driver should not interact with flash whenever possible, and
should never use flash while in a critical write or erase section.
Move device data to RAM to prevent this read-while-write hazard.

Fixes #44043

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-03-22 23:14:00 -05:00
Daniel DeGrasse
8d556c0623 drivers: memc: memc_mcux_flexspi_hyperram: move device data to RAM
flexspi driver should not interact with flash whenever possible, and
should never use flash while in a critical write or erase section.
Move device data to RAM to prevent this read-while-write hazard.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-03-22 23:14:00 -05:00
Daniel DeGrasse
61c3f0aa44 drivers: flash: flash_mcux_flexspi_nor: move device data to RAM
flexspi driver should not interact with flash whenever possible, and
should never use flash while in a critical write or erase section.
Move device data to RAM to prevent this read-while-write hazard.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-03-22 23:14:00 -05:00
Daniel DeGrasse
8ab17128e1 drivers: flash: flash_mcux_flexspi_mx25um51345g: move device data to RAM
flexspi driver should not interact with flash whenever possible, and
should never use flash while in a critical write or erase section.
Move device data to RAM to prevent this read-while-write hazard.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-03-22 23:14:00 -05:00
Daniel DeGrasse
6e1b8435ab drivers: flash: flash_mcux_flexspi_hyperflash: move device data to RAM
flexspi driver should not interact with flash whenever possible, and
should never use flash while in a critical write or erase section. Move
device data to RAM to prevent this read-while-write hazard.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-03-22 23:14:00 -05:00
Tim Lin
0b9c0a0b23 ITE: drivers/i2c: implement i2c specified speed option of 50 KHz
Implement i2c specified speed option of 50 KHz in ITE i2c driver.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2022-03-22 20:30:38 -04:00
Tim Lin
64b2bd7342 I2C: add a define that can write a specified speed from dts
So far the I2C channel connected to the battery has chosen the option
of Standard-mode 100KHz, but according to the SI(Signal Integrity)
test report, the I2C channel doesn’t meet the tHD;DAT Margin/Threshold
in the SI test. In fact, the timing could be adjusted by changing the
settings in the related timing registers in EC, but unfortunately the
limitation exists due to the fact that the timing registers have been
currently occupied by another channel for the same reason, that is,
adjusting the timing.

However, according to the I2C specification, the Standard-mode (Sm)
has a bit rate up to 100 kbit/s, so far the battery use the option
of standard mode 100KHz in the SMCLK setting register. This SMCLK
setting register also provides standard mode 50KHz for usage.
According to another SI test reports, so far the Standard-mode 50KHz
setting looks good in the SI test.

Therefore, add a #define I2C_SPEED_DT allows the device tree to
write a specified speed without causing i2c_configure() and
i2c_get_config() to return error.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2022-03-22 20:30:38 -04:00
Nathan Krueger
6a5520c626 arch/riscv: Adding KConfig options for 'A' and 'M' RISC-V extensions
New KConfig options for 'A' and 'M' RISC-V extensions have been
added.  These are used to configure the '-march' string used by GCC
to produce a compatible binary for the requested RISC-V variant.
In order to maintain compatibility with all currently defined SoC,
default the options for HW mul / Atomics support to 'y', but allow
them to be overridden for any SoC which does not support these.

I tested this change locally via twister agaisnt a few RISC-V platforms
including some 32bit and 64bit. To verify the 4 possibilities of Atomics
& HW Mul: (No, No), (No, Yes), (Yes, No), (Yes, Yes -- current behavior),
I used an out-of-tree GCC (xPack RISC-V GCC) which has multilib support
for rv32i, rv32ia, rv32ima to test against our out-of-tree Intel Nios V/m
processor in HW.  The Zephyr SDK RISCV GCC currently does not contain
multilib support for all variants exposed by these new KConfig options.

Signed-off-by: Nathan Krueger <nathan.krueger@intel.com>
2022-03-22 18:00:32 -04:00
Anas Nashif
ab9de7c6d7 twister: support retrying on build errors
Allow retries on build errors, this is now done using
--retry-build-errors. This option is useful when for example build
failures are caused by licensing issues or intermittent network issues.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-03-22 12:09:14 -04:00
Anas Nashif
becef8c83b twister: Improve counting and count at runtime
Do not wait till the end to update counters, do the counting at
realitime and reuse data for on-screen reporting.

Add a counter summary function for debugging.

This patch changes how we count and report skipped tests and the total
now has the skipped tests included.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-03-22 12:09:14 -04:00