Commit graph

85,247 commits

Author SHA1 Message Date
Martin Jäger
00717da689 dts: riscv: espressif: esp32c3: add TWAI node
Add nodes to enable the TWAI (CAN bus) peripheral.

Signed-off-by: Martin Jäger <martin@libre.solar>
2022-10-14 09:55:09 +02:00
Martin Jäger
2a035f775b drivers: can: esp32_twai: add support for newer MCUs
Newer ESP32 series MCUs like the ESP32-C3 contain some register changes
incompatible to the original ESP32 and the SJA1000.

The additions in this commit consider these changes and fix the
incompatibilities in the TWAI front-end for the SJA1000 driver.

Signed-off-by: Martin Jäger <martin@libre.solar>
2022-10-14 09:55:09 +02:00
Martin Jäger
9326d113a2 soc: riscv: esp32c3: include espressif's soc.h
The soc.h from the espressif HAL module provides register definitions
like APB_CLK_FREQ, which are required for the Zephyr TWAI driver.

Signed-off-by: Martin Jäger <martin@libre.solar>
2022-10-14 09:55:09 +02:00
Martin Jäger
f936d68916 drivers: can: sja1000: use generic can_set_timing API
This is a preparation to use the custom implementation in ESP32 TWAI
frontend for newer ESP32 series chips like the ESP32-C3, which have
timing registers incompatible with the SJA1000.

Signed-off-by: Martin Jäger <martin@libre.solar>
2022-10-14 09:55:09 +02:00
Emil Gydesen
23562448dc Bluetooth: Audio: Fix reset PAC records on bt_audio_discover
When calling bt_audio_discover, the discovered PAC records
were just added to the pac_cache. If called multiple times,
the PAC records would just be duplicated.

This change reset the pac records for the direction when
called.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2022-10-14 09:53:57 +02:00
Emil Gydesen
f307c08331 Bluetooth: Audio: Add additional check and log for stream->conn
bt_audio_stream_config should not be called with a stream
that is already configured to another connection.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2022-10-14 09:53:43 +02:00
Emil Gydesen
bd773158e1 Bluetooth: PACS: Add PAC records to the debug log
Logs the PAC records with BT_DBG for easier debugging
of the values.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2022-10-14 09:53:36 +02:00
Emil Gydesen
59a9dd6054 Bluetooth: Audio: Add misisng stream_count reset for broadcast sink
This caused the sink to attempt to sync to more stream
for each call to bt_audio_broadcast_sink_sync as the
stream count was stored in the struct bt_audio_broadcast_sink
but never reset.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2022-10-14 09:53:23 +02:00
Emil Gydesen
65f130b73e Bluetooth: Audio: add missing CONFIG_BT_AUDIO_DEBUG_STREAM_DATA guards
Some places did not properly guard debug messages for sending
ISO data.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2022-10-14 09:53:11 +02:00
Emil Gydesen
0f30fbec96 Bluetooth: Audio: Increase unicast client Kconfig ranges
There is no reason for the previous limitation.

The limit of 255 for the ASEs is based on the ASE IDs
which is a uint8_t, so there is a maximum of 255 of
each ASE type.

The limit of 73 * 2 = 146 is based on the maximum size of an
GATT attribute (512), and the minimum size of a PAC record (7)
makes it a total of 73 PAC records for each direction.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2022-10-14 09:52:56 +02:00
Andries Kruithof
eb78f9f808 Bluetooth: controller: llcp: fix access to context after release
There is access to the procedure context after a potential release
of the context, which (in theory) can lead to incorrect behaviour

There is no good way of testing this with a unittest without adding
specal debug code to the ull_llcp_local module
After code-inspection no other location has been found with
potential access after context release

Signed-off-by: Andries Kruithof <andries.kruithof@nordicsemi.no>
2022-10-14 09:52:41 +02:00
Emil Gydesen
7ab1cafbc2 Bluetooth: Audio: Add Broadcast source application AD
This refactors how the BAP broadcast source handles the
extended and periodic advertising.

First it removes the start and stop of the extended
advertising, and instead expects the application
(or upper layers) to do this.

Second it exposes API functions to get the
necessary advertising data from BAP (service data and
the BASE), which the upper layers will then also
be responsible for setting and updating.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2022-10-14 09:51:39 +02:00
Emil Gydesen
cb4541ae51 Bluetooth: Audio: Fix missing metadata_updated calls
The metadataa_updated callback has existed for a long
time, but was never actually used. The metadata is set
or updated in the enabling and streaming state.

Added checks to see if the state actually changes when going
into these states, and if not, then it means that the
metadata was updated.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2022-10-14 09:51:23 +02:00
Manuel Arguelles
2daa539580 codeowners: add owner for NXP S32 platforms
Add ownership to NXP S32 platform related files.

Signed-off-by: Manuel Arguelles <manuel.arguelles@nxp.com>
2022-10-14 09:51:14 +02:00
Manuel Arguelles
390f5bad8f boards: s32z270dc2_r52: add docs
Document supported features and basic how-to for s32z270dc2_r52 boards.

Signed-off-by: Manuel Arguelles <manuel.arguelles@nxp.com>
2022-10-14 09:51:14 +02:00
Manuel Arguelles
2c62966621 tests: gpio: add overlays for s32z270dc2_r52 boards
Enable testing of GPIO driver minimal API's on s32z270dc2_r52 boards.
These boards do not have built-in user LED, therefore a GPIO pin is used
instead.

Signed-off-by: Manuel Arguelles <manuel.arguelles@nxp.com>
2022-10-14 09:51:14 +02:00
Manuel Arguelles
c74d032433 boards: arm: s32z270dc2_r52: enable GPIO driver
Enable GPIO driver on s32z270dc2_r52 boards. S32Z27 pads are grouped
into GPIO ports A to N.

Signed-off-by: Manuel Arguelles <manuel.arguelles@nxp.com>
2022-10-14 09:51:14 +02:00
Manuel Arguelles
48c4b93b12 drivers: gpio: add support for NXP S32 devices
Implement GPIO driver minimal API's for NXP S32 devices, based on SIUL2
peripheral. SIUL2 allows to control the pins electrical characteristics
such as internal pull resistors, pin direction and more.

GPIO driver API's for interrupts will be implemented in a future patch.

Signed-off-by: Manuel Arguelles <manuel.arguelles@nxp.com>
2022-10-14 09:51:14 +02:00
Manuel Arguelles
88685d32fa boards: arm: s32z270dc2_r52: enable serial driver
Enable serial driver and Zephyr console on this board.

Signed-off-by: Manuel Arguelles <manuel.arguelles@nxp.com>
2022-10-14 09:51:14 +02:00
Dat Nguyen Duy
3e8f854506 drivers: serial: support NXP S32 LINFlexD UART
This patch introduces support for NXP S32 LINFlexD peripheral operating
in UART mode. Polling and interrupt-based serial API's are supported.

Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
Signed-off-by: Manuel Arguelles <manuel.arguelles@nxp.com>
2022-10-14 09:51:14 +02:00
Manuel Arguelles
396054961d boards: arm: s32z270dc2_r52: enable pinctrl driver
Enable pinctrl driver, configuration for pinctrl node to be added in
future patches.

Signed-off-by: Manuel Arguelles <manuel.arguelles@nxp.com>
2022-10-14 09:51:14 +02:00
Manuel Arguelles
337dc5d651 soc: arm: add pinctrl support for NXP S32Z/E SoC's
Introduce support for Pinctrl driver on NXP S32Z/E SoC's.
The NXP S32 pin controller is a singleton node responsible for
controlling the pin function selection and pin properties, based on the
pin node group approach. The pinmux configuration is encoded in a
32-bit value.

Each S32 SoC implementing Pinctrl must create a `pinctrl_soc.h` header
which define SoC-specific macros to initialize the pinctrl structure.

Signed-off-by: Manuel Arguelles <manuel.arguelles@nxp.com>
2022-10-14 09:51:14 +02:00
Manuel Arguelles
cdd7c5a572 drivers: pinctrl: add NXP S32 SIUL2 driver
Introduce Pinctrl driver for SIUL2 module present on NXP S32 devices,
which provides control over all pins, such as function selection and
electrical characteristics that appear on external chip pins.

Signed-off-by: Manuel Arguelles <manuel.arguelles@nxp.com>
2022-10-14 09:51:14 +02:00
Manuel Arguelles
6bee9e1157 boards: arm: introduce s32z270dc2_r52 support
This patch introduces the support for NXP X-S32Z27X-DC(2) board.
Each S32Z27 Real-Time Unit (RTU) is defined as a separate board to
allow the user to run Zephyr on a specific RTU.

Currently is only possible to use Lauterbach TRACE32 west runner to load
and execute a Zephyr application from internal SRAM.

Signed-off-by: Manuel Arguelles <manuel.arguelles@nxp.com>
2022-10-14 09:51:14 +02:00
Manuel Arguelles
41c36357bd soc: arm: introduce NXP S32Z/E support
This patch introduces support for NXP S32 devices, specifically for
S32Z27 from S32Z/E family.

NXP S32Z27 processors are composed of two Real-Time Units (RTU)
containing each four ARM Cortex-R52 cores with flexible split/lock
configuration, and dedicated internal SRAM.

Signed-off-by: Manuel Arguelles <manuel.arguelles@nxp.com>
2022-10-14 09:51:14 +02:00
Manuel Arguelles
2668d731df dts: arm: add ARMv8-R skeleton
Introduce base dtsi for ARMv8-R AArch32 based SoCs.

Signed-off-by: Manuel Arguelles <manuel.arguelles@nxp.com>
2022-10-14 09:51:14 +02:00
Manuel Arguelles
31b3993d58 scripts: west: introduce Lauterbach TRACE32 runner
This patch introduces a West runner for flashing and debugging with
Lauterbach TRACE32 debuggers. The runner consists of a wrapper around
TRACE32 software, and allows a Zephyr board to execute a custom start-up
script (Practice Script) for the different commands supported, including
the ability to pass extra arguments from CMake. Is up to the board using
this runner to define the actions performed on each command.

The `debug` command launches TRACE32 GUI to allow debug the Zephyr
application, while the `flash` command hides the GUI and executes the
start-up script in a background process.

Signed-off-by: Manuel Arguelles <manuel.arguelles@nxp.com>
2022-10-14 09:51:14 +02:00
Sebastian Bøe
1dd312fd17 build: test: Update nrf91 flash yaml value
Update flash value in nrf91 board yaml file.

After evaluating the values it was found that they don't correspond
with the available amount reported by the linker.

This value is used for test case filtering.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2022-10-14 09:50:23 +02:00
Stephanos Ioannidis
dd6e1b9f5a ci: Use actions/cache@v3
This commit updates the CI workflows to use the latest "cache" action
v3, which is based on Node.js 16.

Note that Node.js 12-based actions are now deprecated by GitHub and may
stop working in the near future.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-10-14 12:03:07 +09:00
Stephanos Ioannidis
f86be3fe7e ci: Use actions/setup-python@v4
This commit updates the CI workflows to use the latest "setup-python"
action v4, which is based on Node.js 16.

Note that Node.js 12-based actions are now deprecated by GitHub and may
stop working in the near future.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-10-14 12:03:07 +09:00
Stephanos Ioannidis
d4c6f002d8 ci: Use actions/upload-artifact@v3
This commit updates the CI workflows to use the latest
"upload-artifact" action v3, which is based on Node.js 16.

Note that Node.js 12-based actions are now deprecated by GitHub and may
stop working in the near future.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-10-14 12:03:07 +09:00
Stephanos Ioannidis
216b0e6778 ci: Use actions/checkout@v3
This commit updates the CI workflows to use the latest "checkout"
action v3, which is based on Node.js 16.

Note that Node.js 12-based actions are now deprecated by GitHub and may
stop working in the near future.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-10-14 12:03:07 +09:00
Stephanos Ioannidis
c7d96253c0 ci: twister: Use output parameter file
This commit updates the workflow to use the output parameter file
(`GITHUB_OUTPUT`) instead of the stdout-based output parameter setting,
which is now deprecated by GitHub and will be removed in the near
future.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-10-14 12:03:07 +09:00
Stephanos Ioannidis
d9e8132ecc ci: release: Use output parameter file
This commit updates the workflow to use the output parameter file
(`GITHUB_OUTPUT`) instead of the stdout-based output parameter setting,
which is now deprecated by GitHub and will be removed in the near
future.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-10-14 12:03:07 +09:00
Stephanos Ioannidis
74e9e09f8a ci: codecov: Use output parameter file
This commit updates the workflow to use the output parameter file
(`GITHUB_OUTPUT`) instead of the stdout-based output parameter setting,
which is now deprecated by GitHub and will be removed in the near
future.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-10-14 12:03:07 +09:00
Stephanos Ioannidis
ea02843716 ci: clang: Use output parameter file
This commit updates the workflow to use the output parameter file
(`GITHUB_OUTPUT`) instead of the stdout-based output parameter setting,
which is now deprecated by GitHub and will be removed in the near
future.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-10-14 12:03:07 +09:00
Stephanos Ioannidis
ebbf0b5b9b ci: footprint-tracking: Use "concurrency" to cancel previous runs
This commit adds a concurrency group to the workflow in order to ensure
that only one instance of the workflow runs for an event-ref
combination.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-10-14 12:03:07 +09:00
Stephanos Ioannidis
a4c24f9dc5 ci: footprint: Use "concurrency" to cancel previous runs
This commit adds a concurrency group to the workflow in order to ensure
that only one instance of the workflow runs for an event-ref
combination.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-10-14 12:03:07 +09:00
Stephanos Ioannidis
b880d1286e ci: codecov: Use "concurrency" to cancel previous runs
This commit adds a concurrency group to the workflow in order to ensure
that only one instance of the workflow runs for an event-ref
combination.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-10-14 12:03:07 +09:00
Stephanos Ioannidis
e00a3cb600 ci: clang: Use "concurrency" to cancel previous runs
This commit adds a concurrency group to the workflow in order to ensure
that only one instance of the workflow runs for an event-ref
combination.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-10-14 12:03:07 +09:00
Stephanos Ioannidis
3e02f18b7d ci: twister: Use "concurrency" to cancel previous runs
This commit adds a concurrency group to the workflow in order to ensure
that only one instance of the workflow runs for an event-ref
combination.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-10-14 12:03:07 +09:00
Stephanos Ioannidis
35d68c44e4 ci: bluetooth-tests: Use "concurrency" to cancel previous runs
This commit adds a concurrency group to the workflow in order to ensure
that only one instance of the workflow runs for an event-ref
combination.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-10-14 12:03:07 +09:00
Daniel Leung
b09973c460 soc: intel_adsp/common: remove reference to hp_sram_pm_banks
The commit boot code does not call hp_sram_pm_banks() so there is
no need to do an extern declare.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2022-10-13 21:38:41 -04:00
Daniel Leung
a2cb4a7ce3 soc: intel_adsp/ace: always inline funcs to get memory bank cnt
The functions to get memory bank counts are simple enough that
they can be always inlined. This mostly helps with debugging,
especially with NO optimizations, as inlining is being done only
if the inline keyword is specified. This creates a chicken and
egg problem where the SRAM init functions need to call these
before code copying can be done. However, these functions are
not in memory before code copying, resulting in jumping into
memory with random bits.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2022-10-13 21:38:41 -04:00
Daniel Leung
3ffe265426 soc: intel_adsp/common: only memcpy segment if needed
There is a "load" flag associated with segment to be copied
into Xtensa attached memory during manifest parsing. So only
copy those segment if indicated so. There may be some segments
in the struct with NULL destination address. So this is
to avoid memcpy into NULL.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2022-10-13 21:38:41 -04:00
Daniel Leung
195db14400 soc: intel_adsp/ace: zero out memory at ram init
There is an assumption in parse_module() during code/data copying
that the memory has already been zero-ed, and hence no need to
clear memory when a BSS segment is encountered. In CAVS ram
initialization code, bbzero() is called. However, in ACE code,
there is no such call. So add them.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2022-10-13 21:38:41 -04:00
Daniel DeGrasse
635506ec27 drivers: regulator: fix pmic regulator disable function
PMIC regulator disable function was unconditionally disabling the PMIC
regulator when the disable API was called, which does not match the
expected behavior when using the onoff service. Fix this error.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-10-13 17:15:54 -05:00
Marek Pieta
ea38e742b8 drivers: uart_native_posix: Fix reading file input
If the read function returns value of zero, there is no more data
in the file and the function should return value of -1.

Signed-off-by: Marek Pieta <Marek.Pieta@nordicsemi.no>
2022-10-13 16:21:08 -04:00
Tomasz Moń
5c42b42116 doc: Add missing kconfig option prefix
Kconfig options have to be prefixed with :kconfig:option: in order to
appear as links in generated html output.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2022-10-13 13:16:06 -04:00
Anas Nashif
5200d06a3f ci: update cancel-workflow-action action to 0.11.0
Update action to use latest release which resolves a warning Node 12
being deprecated.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-10-14 01:54:54 +09:00