Implement a MAX32 mbox driver with the semaphore peripheral.
Tweak the mbox test to allow testing with only one TX/RX channel pair
available.
Signed-off-by: Pete Johanson <pete.johanson@analog.com>
Enable USB device controller on the DT-XB1 devkit board with
CDC ACM UART and add usbd tag for CI coverage.
Signed-off-by: William Markezana <william.markezana@gmail.com>
Add devicetree binding for the Bouffalo Lab BL70x USB 1.1 Full-Speed
device controller and define the USB peripheral node in bl70x.dtsi.
Signed-off-by: William Markezana <william.markezana@gmail.com>
Add a USB 2.0 Full-Speed device controller driver (udc_bflb) for the
Bouffalo Lab BL70x SoC family. The driver supports up to 8 bidirectional
endpoints with interrupt-driven operation.
Signed-off-by: William Markezana <william.markezana@gmail.com>
Set cpu-buffer-stall property on the BL70x USB peripheral node to
ensure proper buffer alignment for DMA transfers.
Signed-off-by: William Markezana <william.markezana@gmail.com>
TF-PSA-Crypto's bignum module includes some assembly optimization for
x86, x86_64 and ARM64 platforms. When building for "native_sim/native"
on a 64 bit platform the compiler tries to set 32 bit compatibility mode,
but of course assembly functions between 32 and 64 bits architectures
don't match and therefore the build fails.
Disabling optimizations prevents TF-PSA-Crypto from trying to use
assembly and the test passes.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
These tests directly reference Mbed TLS/TF-PSA-Crypto include path in
their CMakeLists file. This commits adjust the path with new values.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
This Kconfig enables legacy Mbed TLS crypto support that is now no more
available. Kconfig OPENTHREAD_CRYPTO_PSA_CONFIG was already the default
and now it's left as the only choice.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
- replace legacy Kconfigs with corresponding PSA_WANT ones.
- extend Mbed TLS' CMake file in order to include these legacy ecdh module
that was removed from TF-PSA-Crypto when ESP32 BT and WiFi drivers are
built.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Minor changes that are required in order to move from Mbed TLS 3.6.5
to TF-PSA-Crypto 1.x:
- "psa_crypto_driver_wrappers.h" has been relocated
- some extra include folders are required because they are directly
included from "psa_crypto_driver_wrappers.h" but not exported from
"mbedTLS" library since they are meant to remain private.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Both PK and TLS now rely on PSA generate random to get random data
so end users (i.e. sockets_tls in this case) don't need to manually
specify this anymore.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Select only PSA_WANT and remove usage of legacy crypto.
Extend also Mbed TLS's CMake to build a library which includes legacy
Mbed TLS crypto modules that were removed from TF-PSA-Crypto.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
This allows NS app to have these headers available at build time without
any need to extend its CMake file to explicitly link to "tfm_api"
zephyr library.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
This is temporary as TF-M is supposed to jump to TF-PSA-Crypto soon.
However since also Zephyr is transitioning to Mbed TLS/TF-PSA-Crypto right
now, it's better to limit to number of simultaneous changes, so for the
time keep TF-M relying on Mbed TLS 3.6.
In order to keep building with Mbed TLS 3.6 the previous configuration
header file is resumed and renamed appropriately.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Add a Kconfig which still allows to get access to legacy (now internal)
Mbed TLS crypto.
Legacy header files are copied out of the private folder into the
build directory and the folder is the added to the Zephyr build.
Morevoer MBEDTLS_DECLARE_PRIVATE_IDENTIFIERS is also set in the Mbed TLS
build in order to access functions and macros that wouldn't be
accessible otherwise.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Add Kconfig to differentiate beetween Mbed TLS 3.x and 4.x versions.
This is used in MCUboot to differentiate the crypto support between legacy
3.x and 4.x (which in this case is provided by tf-psa-crypto).
Warning:
This Kconfig _cannot_ be an integer value, but it must be a boolean.
Having it as "int" would be a more natural solution, but here's the
reasons for which this approach doesn't work:
- currently on the Zephyr "main" branch this Kconfig is not defined, but
MCUboot is tested against the current "main". When not defined, adding
conditions like "myKconfig >= 4" in MCUboot _always_ evalutate to true
thus giving the wrong result.
- when defined, as it will be after this commit, will cause MCUboot's
Kconfig to complain because guards like "depends on myKconfig" cannot
be added because that's trying to get a boolean value out of an
integer value.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
This is necessary to resolve a wrong dependency between build symbols
that should be moved to Kconfig in the future.
The comments added in this commit explain this in detail.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
"config-psa.h" contains all the Kconfig -> build symbols matching for
the "PSA_WANT_xxx", whereas "config-tf-psa-crypto.h" contains the same
mapping for the "MBEDTLS_xxx" stuff. However tf-psa-crypto wants a single
file with all the configurations in it, so let the latter include
the former.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
tf-psa-crypto deprecated usage of some build symbols and if they are
still specified at build time the build will fail.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
ENTROPY_C is now an internal module in tf-psa-crypto so it cannot be
included directly. So first thing all error codes are changed to
standard Zephyr ones.
Moreover MBEDTLS_ENTROPY_HARDWARE_ALT, MBEDTLS_NO_PLATFORM_ENTROPY and
MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES were removed. Now the platform must
define MBEDTLS_PSA_DRIVER_GET_ENTROPY when not using
MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG.
Due to the build symbol name change CONFIG_MBEDTLS_ENTROPY_POLL_ZEPHYR
is modified to CONFIG_MBEDTLS_PSA_DRIVER_GET_ENTROPY to make a 1:1
match between Kconfig and build symbol.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
TF-PSA-Crypto now requires a different configuration header file compared
to Mbed TLS. This commit adds 2 files:
- Kconfig.tf-psa-crypto
- config-tf-psa-crypto.h
which behave exactly the same as for their Mbed TLS counterparts, but for
TF-PSA-Crypto.
Kconfigs and #defines were migrated from Mbed TLS to TF-PSA-Crypto. This
commit didn't implement any re-organization/cleanup/change, but it's just
moving lines between files.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Since Mbed TLS and TF-PSA-Crypto are now build based on CMake files as
well, instead of manually selecting source files, include folders and
building libraries, simply use "add_subdirectory()" and then link the
generated libraries.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Extend manifest adding projects for:
- Mbed TLS 4.1
- TF-PSA-Crypto 1.1
- Framework for Mbed TLS. The version is the one being pointed to
Mbed TLS in upstream project.
- Framework for TF-PSA-Crypto. The version is the one being pointed to
TF-PSA-Crypto in upstream project.
- Mldsa-native. The version is the one being pointed to
TF-PSA-Crypto in upstream project.
Previous Mbed TLS (v3.6.5) is kept because it's still required to
build TF-M.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
- add additional overlay configuration for INT and CT pins
- add configurable trigger thresholds and fault queue limits
Signed-off-by: Jan Carlo Roleda <jancarlo.roleda@analog.com>
Add Power Management Subsystem to ADT7420 driver for
suspending and resuming device operations.
Signed-off-by: Jan Carlo Roleda <jancarlo.roleda@analog.com>
Extended ADT7420 driver to support:
- extend dtbindings for comprehensive configuration control
- Support 13-bit and 16-bit ADC resolution
- extend Sensor API support
- extend interrupt support to include CT pin
Signed-off-by: Jan Carlo Roleda <jancarlo.roleda@analog.com>
Previously, the broad `boards/realtek/` path was assigned to both
Realtek Ameba and EC platforms. This caused PRs modifying the "bee"
series boards (e.g., PR #105697) to be incorrectly assigned with
Ameba and EC related labels.
Update the paths to be more specific to prevent this overlap:
- Realtek Ameba Platforms: `boards/realtek/rtl872*/`
- Realtek EC Platforms: `boards/realtek/rts5912*/`
Signed-off-by: Zhiyuan Tang <zhiyuan_tang@realsil.com.cn>
Fix I2C transaction len using the correct size of the data to be sent
and not the returned length of the allocated buffer. This change is
applied to iis3dwb, lis2dux12 and lsm6dsv16x drivers, and mimic what
is also done for lsm6dsvxxx driver.
Signed-off-by: Armando Visconti <armando.visconti@st.com>
Perform iosync configuration in the common stm32_gpioport_configure_pin()
function instead of doing it from the pinctrl driver. This simplifies the
pinctrl driver and also opens the door to iosync configuration using the
GPIO API (via vendor-specific extensions) in the future.
Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
Add parameter checking of in functions video_closest_frmival
and video_closest_frmival_stepwise and return an error in
case of invalid parameter.
Previously ASSERT were used, but thoses are not always enabled,
leading to possibility to have invalid parameter being used.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
ASSERT are not always enabled, leading to not catching
invalid arguments in situation where it is not enabled.
Replace all ASSERT statement with argument check, properly
returning error instead of accessing invalid addresses.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
ASSERT aren't always enabled hence add return value in
video_auto_cluster_ctrl and video_cluster_ctrl functions
in order to avoid accessing invalid parameter and return
an error.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Nordic's nPM10 Series PMIC Sensor Devicetree bindings and minimal driver
supporting only battery current, voltage and temperature measurements.
Signed-off-by: Sergei Ovchinnikov <sergei.ovchinnikov@nordicsemi.no>
Adds CAN api test overlay for kit_psc3m5_evk board.
Overlays include the following:
- PSC3:
- Increases flash partition to 192KB for API test to allow user space
execution.
Assisted-by: GitHub Copilot:claude-opus-4.6
Signed-off-by: John Batch <john.batch@infineon.com>
Enable CAN on the PSC3M5 EVK board utilizing a 16.5 bit peripheral clock
divider, pins P5.2 for RX and P5.3 for TX.
Extends work started by Karthikeyan Krishnasamy <karthikeyan@linumiz.com>
Co-authored-by: Karthikeyan Krishnasamy <karthikeyan@linumiz.com>
Co-authored-by: John Batch <john.batch@infineon.com>
Assisted-by: GitHub Copilot:claude-opus-4.6
Signed-off-by: John Batch <john.batch@infineon.com>
Adds CAN driver for Infineon devices using the Bosch M_CAN IP core. The
driver is structured using a parent-child architecture to match the
Infineon hardware implementation:
- Parent (infineon,canfd-controller): Manages Shared MRAM
initialization, enables controller level timestamp-counter and ECC.
- Child (infineon,can): Individual CAN channel initialization.
Configures pinctrl, peripheral clock assignment, MRAM configuration,
and interrupts. Remaining initialization is handled by can_mcan.
This driver was originally written by Karthikeyan Krishnasamy
<karthikeyan@linumiz.com> in PR#101930. Clocking updates and CAN
controller wrapper were added by John Batch.
Co-authored-by: John Batch <john.batch@infineon.com>
Assisted-by: GitHub Copilot:claude-opus-4.6
Signed-off-by: Karthikeyan Krishnasamy <karthikeyan@linumiz.com>
Signed-off-by: John Batch <john.batch@infineon.com>
Adds CAN RX-TX pin definitions to the CYW20829 package dtsi files where
supported.
Adds canfd0 wrapper and can0/can1 channel nodes to cyw20829.dtsi.
Assisted-by: GitHub Copilot:claude-opus-4.6
Signed-off-by: John Batch <john.batch@infineon.com>
DeviceTree:
- Adds CAN RX-TX pin definitions to the PSE84 package dtsi files where
supported.
- Adds canfd0 wrapper and can0/can1 channel nodes to the pse84.dtsi and
pse84_s.dtsi files.
- Adds m55 core overrides for can interrupts.
Assisted-by: GitHub Copilot:claude-opus-4.6
Signed-off-by: John Batch <john.batch@infineon.com>
Adds the following bindings:
- infineon,canfd-controller: Wrapper node for shared CAN controller
registers. Includes timestamp-counter and ecc-enabled properties
for enabling a global timestamp counter and ECC.
- infineon,can: Individual CAN channels, an extension of the
bosch,m_can-base.
DeviceTree:
- Adds CAN RX-TX pin definitions to the PSC3 package dtsi files where
supported.
- Adds canfd0 wrapper and can0/can1 channel nodes to the psc3.dtsi and
psc3_s.dtsi files.
Extends work started by Karthikeyan Krishnasamy <karthikeyan@linumiz.com>
Co-authored-by: Karthikeyan Krishnasamy <karthikeyan@linumiz.com>
Co-authored-by: John Batch <john.batch@infineon.com>
Assisted-by: GitHub Copilot:claude-opus-4.6
Signed-off-by: John Batch <john.batch@infineon.com>
Remove the duplicated ifx_cat1_get_hfclk_for_peri_group() function and
replace with the version from the clock_control header.
Assisted-by: GitHub Copilot:claude-opus-4.6
Signed-off-by: John Batch <john.batch@infineon.com>