Commit graph

85,247 commits

Author SHA1 Message Date
Jordan Yates
ca6c08f960 Bluetooth: hci: spi: use level triggered interrupts
Use level triggered interrupts instead of edge triggered interrupts to
make it impossible for the interrupt line to be active without the RX
thread attempting to read pending data.

This fixes a race condition for re-enabling the interrupt in edge
triggered mode, where `gpio_pin_interrupt_configure_dt` is not called
before the controller re-asserts the interrupt line.

As a result the controller can be reset before booting the RX thread.

Fixes #53980.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2023-05-02 12:36:09 +02:00
Jordan Yates
7fc4c69fb1 samples: bluetooth: hci_spi: IRQ assert delay
Enfore a minimum duration between edges on the IRQ pin to give the HCI
controller time to detect the state change. Without this delay and with
several packets queued on the `rx_queue`, the pin could be re-asserted
almost immediately after being cleared.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2023-05-02 12:36:09 +02:00
Ryan McClelland
272c4e9a8d drivers: ethernet: eth_mcux: fix double-promotion warnings
Some single-precision float constants were being compared against
double-precision floats. Make the constants doubles.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2023-05-02 12:35:14 +02:00
Andriy Gelman
662f48a45b tests: drivers: adc_api: Add copyright header to xmc45_relax_kit
Add missing copyright header.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2023-05-02 12:34:55 +02:00
Andriy Gelman
e4d753ba4d tests: drivers: spi_loopback: Adds xmc47_relax_kit overlay/conf
Adds overlay and conf to run the test on xmc47_relax_kit.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2023-05-02 12:34:55 +02:00
Andriy Gelman
77408116c3 samples: sensor: die_temp_polling: Adds xmc47_relax_kit overlay
Adds overlay to run the sample with the xmc47_relax_kit.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2023-05-02 12:34:55 +02:00
Andriy Gelman
5fd71e35a1 tests: drivers: uart_async_api: Add xmc47_relax_kit overlay/conf
Adds overlay and conf files to run the test with the xmc47_relax_kit.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2023-05-02 12:34:55 +02:00
Andriy Gelman
f8f09300c1 boards: arm: Add xmc47_relax_kit
Adds Infineon xmc47_relax_kit board.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2023-05-02 12:34:55 +02:00
Andriy Gelman
f2b61595f0 soc: arm: infineon_xmc: Add XMC4700 MCU series
Adds XMC4700 MCU series.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2023-05-02 12:34:55 +02:00
Andriy Gelman
7ed4531dbb dts: arm: infineon: xmc4xxx: Add Port 14/15 to device tree
Add Port 14/15 to device tree. These ports can only be configured as input.
Error out in gpio driver if user sets them as output.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2023-05-02 12:34:55 +02:00
Andriy Gelman
4f2b4097af dts: bindings: gpio: gpio-controller: Fix typo
ngpios should be set to max slot number + 1.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2023-05-02 12:34:55 +02:00
Andriy Gelman
58de149050 dts: arm: infineon: xmc4xxx: Define memory regions at each MCU derivative
XMC4500 and XMC47/800 MCUs have a different memory layout. The
definitions have been moved to the derivative .dtsi of each MCU.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2023-05-02 12:34:55 +02:00
Henrik Brix Andersen
6ae5efd663 drivers: can: mcan: regenerate register field definitions
Regenerate/rewrite the Bosch M_CAN register field definitions using the
GENMASK() and BIT() macros.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-05-02 19:26:09 +09:00
Henrik Brix Andersen
d7ae40bbc2 drivers: can: mcan: use uintptr_t for pointer mathematics
Use uintptr_t for doing pointer mathematics.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-05-02 19:26:09 +09:00
Henrik Brix Andersen
c4ae88bea0 drivers: can: mcan: use FIELD_PREP/FIELD_GET macros
Use the FIELD_PREP() and FIELD_GET() macros instead of manual bitshifts and
masking. Be consistent in the use of register field definition macros.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-05-02 19:26:09 +09:00
Henrik Brix Andersen
522f87edf6 drivers: can: mcan: remove unused includes
Remove unused includes and sort the remaining includes alphabetically.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-05-02 19:26:09 +09:00
Henrik Brix Andersen
73ecdd9c91 drivers: can: mcan: use consistent #ifdef ... #else ... #endif comments
Use consistent comments for #ifdef ... #else ... #endif statements to
improve code readability.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-05-02 19:26:09 +09:00
Henrik Brix Andersen
98eac75cb2 drivers: can: mcan: rename local config struct variables
Rename the local "const struct can_mcan_config *" variables from "cfg" to
"config" to be consistent with Zephyr conventions.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-05-02 19:26:09 +09:00
Henrik Brix Andersen
cb904c8a83 drivers: can: mcan: get rid of can_mcan_configure_timing() helper function
Get rid of the can_mcan_configure_timing() helper function as it provides
no benefit to just having the implementation split in can_mcan_set_timing()
and can_mcan_set_timing_data().

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-05-02 19:26:09 +09:00
Henrik Brix Andersen
df6eda64fb drivers: can: mcan: move the driver init function to the bottom of the file
Move the driver initialization function to the bottom of the file to be
consistent with Zephyr conventions.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-05-02 19:26:09 +09:00
Henrik Brix Andersen
a3a4144697 drivers: can: mcan: use proper namespace for internal functions
Use the "can_mcan_*" namespace for all driver-internal functions to improve
code readability.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-05-02 19:26:09 +09:00
Henrik Brix Andersen
2c2165dba3 drivers: can: mcan: pass struct device pointer to internal functions
Pass a pointer to the struct device for internal driver functions instead
of passing around a pointer to the register struct.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-05-02 19:26:09 +09:00
Henrik Brix Andersen
e1fe5e9a1c drivers: can: mcan: reformat source files
Reformat source files using clang-format prior to refactoring the driver
code.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-05-02 19:26:09 +09:00
Brian Juel Folkmann
58088f3a5d boards: Enable die temp sensor on stm32h573i_dk
Enable die temp sensor on stm32h573i_dk

Signed-off-by: Brian Juel Folkmann <bju@trackunit.com>
2023-05-02 10:53:58 +02:00
Brian Juel Folkmann
b356f38a3b dts: Add die_temp sensor to stm32h5
Add die temp sensor to stm32h5 series.

Signed-off-by: Brian Juel Folkmann <bju@trackunit.com>
2023-05-02 10:53:58 +02:00
Brian Juel Folkmann
065a8f25e1 drivers: stm32_temp stm32h5 device must disable icache to access cal
Reading the temperature calibration data requires disabling the icache
of the stm32h5x mcu.
Else a bus fault error occurs reading Address: 0x8fff8014-0x8fff818
Enable afterwards.

Signed-off-by: Brian Juel Folkmann <bju@trackunit.com>
2023-05-02 10:53:58 +02:00
Brandon Del Bel
b1742017e7 boards: arm: atsame54_xpro: Add I2C MAC chip
The atsame54_xpro has an AT24MAC402 MAC chip on SERCOM7 at I2C address
0x5E, but it is not used by default. Fix this by copying from the
sam_e70_xplained and changing the I2C address to match the strapping pins
on the atsame54_xpro. Tested with the dhcpv4_client sample project to
confirm that the MAC address is no longer randomly generated.

Signed-off-by: Brandon Del Bel <delbel@umn.edu>
2023-05-02 10:53:48 +02:00
Brandon Del Bel
3fe1b6b54e doc: boards: atsame54_xpro: Update supported features and pin mapping
The table of supported features for the atsame54_xpro is missing many
peripherals and drivers. The pin mapping list is also incomplete. Update
the table and list to match the set of soc-compatible drivers and the
atsame54_xpro devicetree, respectively.

Signed-off-by: Brandon Del Bel <delbel@umn.edu>
2023-05-02 10:53:35 +02:00
Filip Kokosinski
00efea0c43 dts/sparc/gaisler: add SoC and board compatible strings
This commit adds compatible strings to Gaisler SoCs and boards in
devicetree files.

Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
2023-05-02 10:53:27 +02:00
Alex Ferm
f3d9fd87c5 boards: nucleo_f303re: Update dts to match board labels
Updated i2c1 to match labeling on board and standard Arduino header pinout

Fixes: #57394

Signed-off-by: Alex Ferm <abferm@gmail.com>
2023-05-02 10:53:18 +02:00
Peter Mitsis
2adfa3e1ae doc: Update FIFO and LIFO documentation
Updates the FIFO and LIFO documentation to clarify behavior
surrounding re-adding data items to queues.

Fixes #56336

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-05-02 04:43:08 -04:00
Jordan Yates
8e603d091c Bluetooth: controller: Kconfig TX power dBm
Adds a Kconfig symbol which contains the default controller TX power
directly in dBm. This allows code to directly display/use the configured
power, instead of having to manually iterate over all the
`BT_CTLR_TX_PWR` options.

```
  LOG_INF("BT controller configured for %ddBm TX power",
          CONFIG_BT_CTLR_TX_PWR_DBM);
```

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2023-05-02 10:12:23 +02:00
Henrik Brix Andersen
ef3d01d16f test: drivers: can: move build-only tests to proper location
Move the build-only test for the MCP2515 CAN controller driver to the
tests/drivers/build_all/can/ folder.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-05-01 09:30:42 -05:00
Yuval Peress
f3ee73a1b9 rtio: add missing app_memdomain header
Add the missing app_memdomain.h header needed if userspace is enabled.
This snuck in because the file that was using it already had included
the same header.

Signed-off-by: Yuval Peress <peress@google.com>
2023-05-01 09:26:06 -05:00
Yuval Peress
3fd0a1508b rtio: fix bug in mempool release API
It was previously assumed that the 'sys_mem_blocks' struct would maintain
information about contiguous blocks allocated so the release API only
took the starting address. This led to an issue where allocating 2+
blocks would end up with a memory leak because any block not being the
first would never be released.

Add the buffer length as an argument so the correct number of blocks can
be released. Also, ammend the tests to match and verify.

Signed-off-by: Yuval Peress <peress@google.com>
2023-05-01 09:26:06 -05:00
Yuval Peress
c508ec7506 rtio: add convinience cast
Add a cast to the 'struct rtio_executor *' in the declaration macro for
ease of use.

Signed-off-by: Yuval Peress <peress@google.com>
2023-05-01 09:26:06 -05:00
Yuval Peress
00a7251613 rtio: rework RTIO mempool management
The previous RTIO mempool allocation was found to be faulty. Since the
map entries were indexed using the sqe, as soon as the sqe and cqe were
no longer in sync, there was a contention. Effectively a new sqe needing
memory would assume the entry was already consumed by themselves. This
was caused by 'rtio_sqe_rx_buf()' being effectively reentrant (i.e. if
called more than once, it'll return the same buffer). So when the map
entry was marked as allocated it was assumed that it belonged to the sqe
in question and used. This led to the producer writing to memory that
was actively being read by the consumer.

Instead, the sqe's own buf/buf_len fields are used to store the memory.
Once allocated, the memory is stored there and no mapping is needed.

Signed-off-by: Yuval Peress <peress@google.com>
2023-05-01 09:26:06 -05:00
Chris Friedt
bacc8d9293 tests: drivers: dma: chan_blen: correct nodelabel filter
When attempting to add a new platform and run the suite with
`twister`, it seemed to be resulting in being statically
filtered-out. Likely, the correct filter is `test_dma0`,
assuming that `test_dma*` nodes should be enumerated starting
at 0.

Verified the fix by adding `dma` as `supported` to
`boards/arm64/bcm958402m2_a72/bcm958402m2_a72.yaml` and by
adding the `test_dma0` node to
`chan_blen_transfer/boards/bcm958402m2_a72.overlay`.

Signed-off-by: Chris Friedt <cfriedt@meta.com>
2023-05-01 09:26:58 -04:00
Chris Friedt
59b69b917d tests: drivers: dma: sg: support 64-bit dma
The test does not appear to support 64-bit DMA
* mitigate compiler warning
* support 64-bit addressing mode with `CONFIG_DMA_64BIT`

Signed-off-by: Chris Friedt <cfriedt@meta.com>
2023-05-01 09:26:58 -04:00
Chris Friedt
8c6c96715f tests: drivers: dma: loop: support 64-bit dma
The test does not appear to support 64-bit DMA
* mitigate compiler warning
* support 64-bit addressing mode with `CONFIG_DMA_64BIT`

Signed-off-by: Chris Friedt <cfriedt@meta.com>
2023-05-01 09:26:58 -04:00
Chris Friedt
7f6d976916 tests: drivers: dma: chan_link: support 64-bit dma
The test does not appear to support 64-bit DMA
* mitigate compiler warning
* support 64-bit addressing mode with `CONFIG_DMA_64BIT`

Signed-off-by: Chris Friedt <cfriedt@meta.com>
2023-05-01 09:26:58 -04:00
Chris Friedt
5afcac5e14 tests: drivers: dma: chan_blen: support 64-bit dma
The test does not appear to support 64-bit DMA
* mitigate compiler warning
* support 64-bit addressing mode with `CONFIG_DMA_64BIT`

Signed-off-by: Chris Friedt <cfriedt@meta.com>
2023-05-01 09:26:58 -04:00
Anas Nashif
158f99781b MAINTAINERS: move release notes to release section
Move files related to release notes to the release section.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-05-01 09:20:55 -04:00
Piotr Kosycarz
7892f40a52 twister: add options to shuffle tests across subsets
Add option to shuffle tests (randomly) before they are split into subsets.
This allow to fairly distribute tests across subsets,
so that long tests are not crowded in a single group.

This also allows to detect unwanted dependencies in test execution order.

Also, added option to provide custom seed to random generator
used to shuffle tests.
This will allow to reproduce certain test order if needed.
Used seed is printed at console.

Signed-off-by: Piotr Kosycarz <piotr.kosycarz@nordicsemi.no>
2023-05-01 06:12:59 -04:00
Tomasz Leman
04d97569d1 intel_adsp: power: add missing header
After commit e195739565 function bmemcpy require soc_util include.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2023-05-01 10:59:05 +01:00
Paul He
322f5ad4ef storage: flash_map: shell: fix error 'sh' undeclared
Some of `shell` were missed to be updated with `sh`.

Signed-off-by: Paul He <pawpawhe@gmail.com>
2023-04-30 12:48:55 -05:00
Christopher Friedt
12ed08a2fb tests: posix: pthread: remove unused pthread return value
Rather than pass an variable address to a `void *` in
`pthread_join()` and do nothing with it, just pass `NULL`.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-04-29 16:53:59 -04:00
Christopher Friedt
7c17bda3c2 tests: posix: pthread: init pthread_attr_t on each iteration
The `test_pthread_descriptor_leak` test was causing a kernel
panic on some platforms. Initially, it was not clear why.

The usual cases were examined - race conditions, stack sizes,
etc. Still no luck.

As it turns out, recycling a thread stack (or at least the
`pthread_attr_t`) in-place does not work on some platforms,
and we need to reinitialize the `pthread_attr_t` and set
set the stack property again prior to calling
`pthread_create()`.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-04-29 16:53:59 -04:00
Chris Friedt
27c25e9b42 tests: posix: test support for SCHED_OTHER
Ensure we test `SCHED_OTHER` functionality along with other
scheduling policies and priorities.

Signed-off-by: Chris Friedt <cfriedt@meta.com>
2023-04-29 13:14:40 -07:00
Chris Friedt
b9828a74ab posix: sched: add support for SCHED_OTHER
The `SCHED_OTHER` scheduling priority is mandatory as part of
POSIX. It must be numerically distinct from `SCHED_FIFO`,
`SCHED_RR`, and `SCHED_SPORADIC`, but is implementation-
defined and may behave identically to `SCHED_FIFO` or
`SCHED_RR`.

Signed-off-by: Chris Friedt <cfriedt@meta.com>
2023-04-29 13:14:40 -07:00