Commit graph

85,247 commits

Author SHA1 Message Date
Benjamin Cabé
d3db8899c8 lib: bitarray: doc: Add to Data Structures in docs
Promote Bit Array API to Modules > Utilities > Data Structures.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-07-19 21:06:43 -04:00
Jeremy Bettis
d72c4344ed twister: Support --coverage-formats on lcov also
When using twister to generate coverage with the coverage tool lcov,
allow using --coverage-formats to pick if you want lcov or html,
defaulting to both. Picking html will also use lcov, since that is
required for geninfo.  This will allow callers to avoid the potentially
slow and disk intensive html reports if they only wanted the lcov info
file.

Signed-off-by: Jeremy Bettis <jbettis@google.com>
2023-07-19 21:00:10 -04:00
Lukasz Mrugala
48fef88038 scripts: pylib: twister: twisterlib: environment: TwisterEnv fixes
Fixes Issue #60522 by guarding member access against None parameters.
Shortens the init by using the if...else assignment.
Fixes two typos.

Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
2023-07-19 20:47:29 -04:00
Kamil Galik
385ad46a39 boards/xtensa: Skip cleaning intermediate binaries up
This commit removes `CONFIG_CLEANUP_INTERMEDIATE_FILES` y-selection from
some Xtensa board configs. Y-selecting this option causes `west spdx` to
fail, due to reasons described in `CONFIG_CLEANUP_INTERMEDIATE_FILES` help
string.

If CLEANUP_INTERMEDIATE_FILES is y-selected, build files are removed from
the `cfgTarget.target.artifacts` list. This in turn causes the
`addBuildFile` function to nod add them to `pkg`, so `pkg.targetBuildFile`
is `None` in `scripts/west_commands/zspdx/walker.py`. This causes the `west
spdx` command to fail.

Signed-off-by: Kamil Galik <kgalik@internships.antmicro.com>
Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
2023-07-19 20:46:51 -04:00
Filip Kokosinski
7388a07701 kconfig: expand the CLEANUP_INTERMEDIATE_FILES symbol description
Y-selecting CLEANUP_INTERMEDIATE_FILES negatively impacts tools/commands
that depend on the build artifacts being present. One such case is the
`west spdx` command used for Software Bill of Material generation.

If CLEANUP_INTERMEDIATE_FILES is y-selected, build files are removed from
the `cfgTarget.target.artifacts` list. This in turn causes the
`addBuildFile` function to nod add them to `pkg`, so `pkg.targetBuildFile`
is `None` in `scripts/west_commands/zspdx/walker.py`.

This commit expands the help message for the CLEANUP_INTERMEDIATE_FILES
symbol to inform the user of the possible negative impact of selecting this
symbol.

Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
2023-07-19 20:46:51 -04:00
Erwan Gouriou
30d73df1d5 MAINTAINERS: Add Kconfig.zephyr to Kconfig subsystem
Top file Kconfig.zephyr didn't belong to any maintained area.
Add it to Kconfig

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-07-19 20:39:14 -04:00
Anas Nashif
3a24476fb7 tests: kernel: fix some test identifiers
Fixed few test identifiers and tags.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-07-19 18:07:49 -04:00
Peter Mitsis
aa4f24694e test: Enhance benchmark latency reporting
Enhances the reporting of the benchmark latency failures in the
following ways:

1. The failing test is now clearly identified
2. Failures follow the general reporting pattern

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-07-19 17:51:36 -04:00
Peter Mitsis
fe922d30f9 test: refactor benchmark latency PRINT_F() macro
Reduces the stack usage. Also separates the formatting of both the
cycle and nsec printing by pre-printing them to string.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-07-19 17:51:36 -04:00
Peter Mitsis
5c93b92a77 test: benchmark latency macro parameter names
Changes the names of parameters to the PRINT_STATS() and
PRINT_STATS_AVG() macros to be something more meaningful.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-07-19 17:51:36 -04:00
Fabio Baltieri
ebb1fa585f dma: iproc_pax_v2: delay initialization after pcie
The Broadcom pcie setup has a devicetree dependency like:

/pcie/paxdma -> /pcie/pcie -> /soc/pl330

Add a separate init symbol for iproc_pax_v2 so that these gets
initialized in order, fixes this error:

$ west build -p -b bcm958402m2_m7 tests/kernel/common \
	-DCONFIG_CHECK_INIT_PRIORITIES=y
...
ERROR: /pcie/paxdma@4e100800 POST_KERNEL 40 < \
	/pcie/pcie@4e100000 POST_KERNEL 50

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-07-19 20:22:03 +00:00
Fabio Baltieri
20e7c6db6c video: mcux_csi: set a dedicated init priority for video_mcux_csi
Set a dedicated priority for the video_mcux_csi instead of using the
default kernel device init priority. This allows initializing the device
in a sequence that matches the devicetree hirearchy compared to mt9m114.

Fixes the error:

ERROR: /soc/csi@402bc000 POST_KERNEL 50 <
	/soc/i2c@403f0000/mt9m114@48 POST_KERNEL 60

found using:

$ west build -p -b mimxrt1064_evk samples/subsys/video/capture \
		-DCONFIG_CHECK_INIT_PRIORITIES=y

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-07-19 18:00:20 +00:00
Mike J. Chen
7839eb524c drivers: dma: dma_lpc: fix bug with transfer size/width
Fix for bug:
https://github.com/zephyrproject-rtos/zephyr/issues/59802

The DMA controller only supports one transfer size, but
the Zephyr DMA driver api allows specifying a source_data_size
and dest_data_size which might be different. An old
version was always using dest_data_size for the transfer
size (variable is called "width"), but a recent change
made the driver use the MIN for the source and dest data
sizes. The MIN choice breaks the I2S driver because it
always set source_data_size to 1, but dest_data_size was
typically 4 for like two-channel 16-bit PCM data. So the
old driver worked using dest_data_size, but the new driver
broke I2S using MIN since source_data_size was 1.

To prevent confusion, change the DMA driver to assert that
source_data_size and dest_data_size are the same.

Also assert that the source_address and dest_address for
each block_config are properly aligned for the transfer size,
since that is a documentated requirement for the DMA controller.

Also rename max_xfer to max_xfer-bytes to be more clear what
the units are, and use this value in many places that
are comparing block_size in bytes rather than converting
block_size to words by dividing by width and
then comparing to NXP_LPC_DMA_MAX_XFER.

Signed-off-by: Mike J. Chen <mjchen@google.com>
2023-07-19 10:36:23 -05:00
Mike J. Chen
04f488accf drivers: spi: mcux_flexcomm: fix DMA bug for 2-byte transfers
The MCUX DMA controller only supports a single data_size
for a DMA transfer, not separate ones for source and
dest. An older version of the DMA driver used
dest_data_size as the DMA transfer size, but the
current one uses MIN(dest/source) as the trasnfer
size, which breaks case when SPI wants to do 2-byte
transfers.

Signed-off-by: Mike J. Chen <mjchen@google.com>
2023-07-19 10:36:23 -05:00
Mike J. Chen
f882d31ea7 drivers: i2s: mcux_flexcomm: fix multiple bugs
Fix for bugs described in:
https://github.com/zephyrproject-rtos/zephyr/issues/59803

1. the size argument passed to i2s_write() was being ignored.
   change the code so that the size is queued with the
   tx mem_block and the dma transfer is configured with this
   size.

2. change how CONFIG_I2S_MCUX_FLEXCOMM_RX_BLOCK_COUNT and
   CONFIG_I2S_MCUX_FLEXCOMM_TX_BLOCK_COUNT are used so that
   the queue buffers are allocated correctly when the two
   config values are not the same

3. set source_data_size and dest_data_size to be the same
   since the DMA controller can only set one size per
   DMA transfer. the driver was already computing a dest_data_size
   but always passing 1 for the source_data_size.
   For I2S RX case, I think source_data_size should be
   set to the expected FIFO read size instead of dest_data_size.

Also some smaller improvements like:
* don't allocate two dma_blocks for tx in the static dev_mem
  when it only needs one
* memset both rx_dma_blocks together instead of separtely
* set dma_cfg block_count for tx and rx statically instead
  of at runtime

Signed-off-by: Mike J. Chen <mjchen@google.com>
2023-07-19 10:36:23 -05:00
Benedikt Schmidt
0d33ecd56a drivers: adc: configurable wait for completion timeout
Depending on the ADC implementation it might happen that
the driver is waiting on an external interrupt. If this interrupt
gets lost, for instance due to a race condition with an external
port expander, the system will get stuck.
Making this configurable allows the user to recover from such
an error.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2023-07-19 15:22:33 +00:00
Erwan Gouriou
feef931fbb drivers: counter: stm32: Use const TIM_TypeDef on stm32f2 series
A recent factorisation moved F2 to non const TIM_TypeDef.
This is an error, move it back to const TIM_TypeDef.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-07-19 14:31:31 +00:00
Christopher Friedt
d53bbffb71 MAINTAINERS: add cfriedt as kernel collaborator
I sometimes do kernel-y things too.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-07-19 09:06:40 -05:00
Christopher Friedt
b5f8c7154d tests: posix: barrier: use consistent test names
Test names were changed recently to change
"test_posix_pthread_..." to "test_..." for brevity.

Make the same change to "test_posix_pthread_barrier".

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-07-19 09:11:29 -04:00
Christopher Friedt
797a9afd89 MAINTAINERS: remove cfriedt as GPIO collaborator
Unfortunately, I need to reclaim a bit more bandwidth.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-07-19 07:57:13 -04:00
Stine Åkredalen
e5fcca6e99 Bluetooth: mesh: Update default values for transport SAR configuration
Updated SAR default values to align with the latest mesh 1.1 drafts,
and relevant Bsim tests.

Signed-off-by: Stine Åkredalen <stine.akredalen@nordicsemi.no>
2023-07-19 11:07:07 +00:00
Benjamin Cabé
bc0eb32a5e pcie: doc: Fix doxygen doc for PCIe capabilities
Use proper doxygen comments for the PCIe Capabilities.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-07-19 11:06:18 +00:00
Anas Nashif
b7ec7ec638 debug: thread_analyzer: use printk by default
When enabling thread analyzer, use printk by default. Otherwise logging
subsystem is enabled which might not be desired.

Fixes #59919

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-07-19 11:06:04 +00:00
Benjamin Cabé
f6f3eed7a0 bluetooth: ead: doc: Add missing Doxygen header
File was missing Doxygen @brief and @infroup causing it to not be
mounted in the documentation.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-07-19 11:05:39 +00:00
Benjamin Cabé
53b93829a3 bluetooth: ead: Add include guards
Added a missing include guard

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-07-19 11:05:39 +00:00
Serhiy Katsyuba
1c0c2a095b drivers: intel_adsp_gpdma: Fix release ownership
Fixes a bug in intel_adsp_gpdma_release_ownership(). Before fix, this
function actually did nothing for ACE platform and the ownership was
not released. Now ownership is released to host CPU + DSP.

Signed-off-by: Serhiy Katsyuba <serhiy.katsyuba@intel.com>
2023-07-19 06:54:43 -04:00
Francois Ramu
6254527343 drivers: timer: stm32 lptim driver check clock_control_on return code
This PR is Calling "clock_control_on" and checking return value
(as is done elsewhere 10 out of 11 times)
CID 322066:  Error handling issues  (CHECKED_RETURN)

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-07-19 10:14:30 +00:00
Erwan Gouriou
e13c193acf boards: nucleo_wba52cg: Update core freq to provide 48MHz on PLLQ
PLL Q is used as 48MHz clock source, which is required for RNG

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-07-19 10:14:07 +00:00
Erwan Gouriou
ef0d358048 dts: stm32wba: Add RNG node
Add RNG node, configured to use 48MHz clock from PLL_Q.
Configured with NIST parameters.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-07-19 10:14:07 +00:00
Guillaume Gautier
3fba82490b dts: arm: st: update stm32f1 and f3 dtsi with new rcc bindings
Add the new RCC bindings to the dtsi files.
STM32F373 uses the RCC F1 bindings because the ADC prescaler is the same
on the two series.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-07-19 10:13:26 +00:00
Guillaume Gautier
208d962eb8 drivers: clock_control: stm32 set adc prescaler in rcc
For STM32F1 and F3, set the ADC prescaler in RCC if defined in dts.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-07-19 10:13:26 +00:00
Guillaume Gautier
5a55a185dd dts: bindings: clock: add specific rcc bindings for stm32f1x and f3x
Add two new bindings for STM32F1x and F3x RCC to add the ADC prescaler
specific to these series.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-07-19 10:13:26 +00:00
Marc Desvaux
45f4f271d2 dts: arm: st: h5: add Ethernet
add Ethernet for stmh573i_dk

Signed-off-by: Marc Desvaux <marc.desvaux-ext@st.com>
2023-07-19 10:07:22 +00:00
Marc Desvaux
6e2cad555a board: arm: stm32h573i_dk: add Ethernet
add Ethernet for stm32h573i_dk

Signed-off-by: Marc Desvaux <marc.desvaux-ext@st.com>
2023-07-19 10:07:22 +00:00
Martin Kiepfer
09da4cf89d driver: regulator: Add support for AXP192 power management IC
AXP192 is a small and simple power management IC featuring different
LDOs, DCDCs, AINs and also GPIOs. It also offers functionaltiy for
battery management.
This change includes the basic regulator driver functionaltiy for
LDO2-3 and DCDC1-3 as well as the mfd driver layer. Further drivers
for GPIO and ADC will follow.
Drivers have been developed and tested on M5StackCore2, an ESP32-based
board. Support for M5StackCore2 is still in progress.

Signed-off-by: Martin Kiepfer <mrmarteng@teleschirm.org>
2023-07-19 09:52:15 +00:00
Marcin Zapolski
820bc9267e drivers: flash: stm32l4: Fix STM32L4Q5 support in flash driver
Add STM32L4Q5xx to the list of MCUs that have 4kB flash pages,
instead of 2kB.

Signed-off-by: Marcin Zapolski <mz4pol@gmail.com>
2023-07-19 09:51:18 +00:00
Marc Desvaux
6d824667df modules: align Kconfig.stm32
conforms the Kconfig.stm32 file with the CmakeLists.txt files
for STM32H5x/C0x/U5x/WBx series

Signed-off-by: Marc Desvaux <marc.desvaux-ext@st.com>
2023-07-19 09:51:03 +00:00
Andy Sinclair
024196be9d drivers: regulator: npm1300: Added ship mode
npm1300 ship mode entry added

Signed-off-by: Andy Sinclair <andy.sinclair@nordicsemi.no>
2023-07-19 09:30:22 +00:00
Andy Sinclair
f6aa1c4321 drivers: regulator: Added ship mode to API
Added ship mode entry function to common regulator driver

Signed-off-by: Andy Sinclair <andy.sinclair@nordicsemi.no>
2023-07-19 09:30:22 +00:00
Fabio Baltieri
d95c12848d drivers: input: add few missing gpio_add_callback return check
Add few missing check on gpio_add_callback and gpio_add_callback_dt
calls, fixes a coverity warning.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-07-19 09:18:38 +00:00
Keith Packard
3d94c830a3 scripts/checkpatch: Fix check for libc API defines
Re-ordering the API names moved a trailing '|' causing the pattern to match
*every* #define in the input.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-07-19 08:57:04 +00:00
Tomasz Moń
e47fc45c4d usb: audio: correctly report internal delay
Every USB device must buffer isochronous data for at least 1 frame in
order to remove packet jitter within a frame. USB Specification Revision
2.0 describes necessary buffering in 5.12.5 Data Prebuffering. USB Audio
1.0 specification mentions buffering in 3.4 Inter Channel Synchronization.

Set bDelay to 1 instead of 0, because bDelay 1 is both the minimum
allowed value and matches the actual device behavior.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2023-07-19 08:27:00 +02:00
Maciej Perkowski
93031ad5a0 west_commands: Fix parsing of extra args for test-item
An arg --test-item makes west loading twister's test configurations
form sample/testcase.yaml. It has to mirror twister's behavior.
It was not the case with "extra_args" section. Quotation  marks were
not removed in west as they were in twister. The quotation marks
have to be removed from the extra_args section but left in
extra_configs. The commit adds differentiation for those.

fixes: #60297

Signed-off-by: Maciej Perkowski <Maciej.Perkowski@nordicsemi.no>
2023-07-18 21:33:00 -04:00
Benjamin Cabé
61c38379ba app_memdomain: doc: Properly mount doc page
Properly mount App memory domain APIs into Doxygen doc
hierarchy.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-07-18 21:37:41 +00:00
Benjamin Cabé
d8147ce648 input: doc: document event definitions
Added missing documentation to event types, key codes, etc.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-07-18 21:37:28 +00:00
Nicolas Pitre
141299fb80 tests: timer_behavior: better cope with timer wrap-arounds
Commit a1d21ca69b ("tests: timer_behavior: don't fail the test with
timer wrap-arounds") simply ignored the total time validation whenever
any rollover was detected. Let's adjust the end timestamp according
to the number of rollovers instead.

Documentation for sys_clock_cycle_get_32() says it should count up
monotonically through the full 32 bit space, wrapping at 0xffffffff.
Therefore we just need to add 2^32 times the number of rollovers to
the end timestamp.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2023-07-18 21:36:57 +00:00
Yong Cong Sin
43c549305b posix: signal: check RTSIG limit
Use build assert to make sure that the realtime signal
constants are configured properly in the Kconfig.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-07-18 15:35:42 -04:00
Yong Cong Sin
5970543999 test: posix: signal: add test for big nsig number
Add an extra test config to test large number of signals.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-07-18 15:35:42 -04:00
Yong Cong Sin
335acf817d posix: signal: implement strsignal
Implementation and ztest for strsignal.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-07-18 15:35:42 -04:00
Yong Cong Sin
ff4b81e5e5 posix: signal: implement sigismember
Implementation and ztest for sigismember.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-07-18 15:35:42 -04:00