Add the `ranges;` property to the flash@0 node to properly propagate
address translations from the parent flash-controller to child partition
nodes.
Signed-off-by: Tomas Galbicka <tomas.galbicka@nxp.com>
Add information regarding the missing Modem Chat module and
explaing the Cellular Modem architecture.
Add own section regarding support for new modems.
Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
To allow cellular modems to be declared outside of modem_cellular.c
file, move all structure definitions and macros into internal header
zephyr/drivers/cellular_internal.h
This allows out-of-tree modem to be defined with
MODEM_CELLULAR_DEFINE_INSTANCE() macro.
Remove Devicetree dependency from CONFIG_MODEM_CELLULAR
Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
On CY_IP_S8SRSSLT devices (PSOC 4), the WDT match register is 16-bit.
When Cy_SysClk_IloCompensate returns a compensated count that exceeds
UINT16_MAX (e.g. for a ~2000ms timeout at ~32768 Hz), passing it to
Cy_WDT_SetMatch triggers a HAL assertion that causes a HardFault on
Cortex-M0+.
Clamp ilo_compensated_counts to UINT16_MAX in the setup path, matching
the existing clamp in the feed path (ifx_wdt_timeout_to_match).
Signed-off-by: Braeden Lane <Braeden.Lane@infineon.com>
Add the watchdog peripheral node to the PSOC 4100S Max SoC devicetree.
The WDT uses the SRSSLT block at 0x40030000 with IRQ 6.
Signed-off-by: Braeden Lane <Braeden.Lane@infineon.com>
Add initialization ofcritical components for the RTL87x2G
series.
Key initializations include:
- Realtek OS abstraction layer.
- Clock active mode settings.
- Power Management (PM) and dynamic voltage scaling (DVFS).
- PHY and thermal compensation modules.
- Bluetooth controller ROM initialization.
Note: A mechanism is introduced to synchronize the RAM Vector Table between
Realtek's ROM code (which writes raw ISRs) and Zephyr's interrupt
management subsystem (sw_isr_table).
Signed-off-by: Zhiyuan Tang <zhiyuan_tang@realsil.com.cn>
This commit introduces a comprehensive test suite to verify the
Realtek OSIF (Operating System Interface) implementation for the
Bee SoC family.
These tests ensure that the OSIF abstraction layer correctly maps
to the underlying Zephyr kernel APIs.
The test implementation references `tests/subsys/portability/cmsis_rtos_v2`
to adopt a proven testing structure for OS abstraction layers.
The test suite covers the following functional modules:
- Memory management (osif_mem)
- Message queues (osif_msgq)
- Synchronization primitives (Mutexes, Semaphores)
- Task management and Scheduling (osif_task, osif_sched)
- Software timers (osif_timer)
Signed-off-by: Zhiyuan Tang <zhiyuan_tang@realsil.com.cn>
This commit introduces the Realtek OSIF (Operating System Interface)
layer, which is the standard OS abstraction layer defined for the
Realtek Bee SoC family.
While OSIF is designed to be common across the Bee SoC family, this
specific implementation adapts the layer for the RTL87x2G series
running on Zephyr.
OSIF encapsulates specific RTOS interfaces to provide a unified API.
This enables Realtek-specific modules—such as PHY, Power Manager,
Clock Manager, and BT Controller—to run on different RTOS environments
without modification, significantly enhancing portability.
The OSIF adaptation maps the following fundamental components to their
corresponding Zephyr kernel APIs:
- Task management and Scheduling
- Message queues
- Synchronization (Semaphores, Mutexes)
- Software timers
- Memory management
Signed-off-by: Zhiyuan Tang <zhiyuan_tang@realsil.com.cn>
Thought MbedTLS is not FIPS compliant, enable FIPS to get rid of broken
crypto algos like MD5, CHAP etc.
This is not made configurable as we want to remove the the code for
those algos from the MbedTLS shim.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
MD5 is deprecated and the security methods that use are not officially
supported in Zephyr (EAP-MD5, TLSv1 etc), so, remove the code related to
MD5 and disable it in hostap.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Fixes list_voltages for the tps55297
regulator driver. We can't use
`linear_range_get_value()`here, as it
subtracts `min_idx` from `idx` and we don't want that.
It lead to for some idx in the middle and the beginning
that no value is written to `volt_uv`.
It first occours for the idx between 0 and 0xf0.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
Enable the SPI for the stm32MP135F DK board.
Tested with the following build:
west build -b stm32mp135f_dk tests/drivers/spi/spi_loopback/ -p
Signed-off-by: gregory planchon <gregory.planchon@st.com>
Add LP core timer wakeup sample for ESP32-C6. The LP core
wakes periodically via LP timer alarm, signals the HP core,
re-arms the timer using shared memory configuration, and
halts until the next cycle.
The HP core tracks wake count using RTC_DATA_ATTR and
enters deep sleep via sys_poweroff(). Sleep duration is
configurable via CONFIG_ULP_LP_CORE_LP_TIMER_SLEEP_DURATION_US.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Add LP core GPIO wakeup sample for ESP32-C6. The LP core
configures LP_IO_0 as input with pull-up and low-level
interrupt using the Zephyr GPIO API, then halts. When the
pin is pulled low, the LP core wakes and signals the HP
core via ulp_lp_core_wakeup_main_processor().
The HP core tracks wake count using RTC_DATA_ATTR and
enters deep sleep via sys_poweroff().
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
If we don't use the gpio to reset the chip, we don't
really know the current state, so we are going to
fetch it via i2c. For the en gpio case we already know,
that it won't be enabled.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
Add documentation for MT8365 platform. Update supported boards list.
Update toolchains list supported in the Zephyr SDK.
Signed-off-by: Andrew Perepech <andrew.perepech@mediatek.com>
Add support for MediaTek MT8365 SoC. This includes adding basic
initialization code, IRQ handling, IPI driver, MPU configuration,
and necessary build system files.
Signed-off-by: Andrew Perepech <andrew.perepech@mediatek.com>
Move myself (PavelVPV) from maintainers role to collaborator role in
Bluetooth Mesh and assign alxelax as a new maintainer.
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
The MAX32 RV32 core does not implement the fence instruction used by the
RISC-V synchronization intrinsic, so don't enable the builtin barriers for
that target.
Signed-off-by: Pete Johanson <pete.johanson@analog.com>
Some SoCs or architectures may lack the __sync_synchronize
intrinsic, or not implement the instruction emitted by it,
so wrap this behind the new barrier_sync_synchronize.
Signed-off-by: Pete Johanson <pete.johanson@analog.com>
Issue was corrected where transfers waiting on a busy
endpoint were not being serviced. This was causing some transfers
to never complete.
Signed-off-by: Brandon Hurst <brandon.hurst@analog.com>
Move xfer_in_done and xfer_out_done to after xfer_in
and xfer_out. This is because they will need to call
these functions in the next commit to handle deferred
traffic.
Signed-off-by: Brandon Hurst <brandon.hurst@analog.com>
UDC driver was submitting spurious resume events
when receiving DPACT events while the device was not
suspended.
- Change udc_max32_event callback to only respond to
DPACT events when suspended
Signed-off-by: Brandon Hurst <brandon.hurst@analog.com>
MAX32 USB had some functions in ISR context allocating memory &
acquiring mutexes. This commit fixes this by separating the
transfer completion events into ISR-safe / non ISR-safe steps.
Additionally, some apparent swapping of devicetree configuration
for in/out endpoints is resolved.
- Rename UDC_MAX32_EVT_XFER to UDC_MAX32_EVT_START_XFER
- Add MAX32 UDC events for XFER_IN_DONE and XFER_OUT_DONE
- Refactor xfer_in/out callbacks to only submit messages to a
message queue
- Provide xfer_in_Done and xfer_out_done to handle transfer
completions from UDC thread context.
- Add XFER_IN_DONE and XFER_OUT_DONE events to thread handler
- Fix swapping in devicetree macros of num_of_in_eps /
num_of_out_eps and ep_cfg_in / ep_cfg_out
Signed-off-by: Brandon Hurst <brandon.hurst@analog.com>
Add a mikroBUS shield definition for the MikroElektronika Temp & Hum
Click board.
The shield instantiates an ST HTS221 temperature and humidity sensor
on the mikroBUS I2C bus using the existing Zephyr sensor driver.
Signed-off-by: Bobo Bäck Engström <bobo@id8-engineering.io>
Promiscuous mode is enabled during initialization and cannot be
disabled at runtime.
Return -EINVAL when a request attempts to disable promiscuous mode.
Signed-off-by: Mori Fumita <mfumita@electromag.com.au>
ETHERNET_PROMISC_MODE is not advertised in
eth_nxp_enet_get_capabilities() even though promiscuous
mode is enabled during initialization when
CONFIG_NET_PROMISCUOUS_MODE=y.
Advertise ETHERNET_PROMISC_MODE in
eth_nxp_enet_get_capabilities() and accept
ETHERNET_CONFIG_TYPE_PROMISC_MODE in
eth_nxp_enet_set_config().
Signed-off-by: Mori Fumita <mfumita@electromag.com.au>
Add SPI loopback test overlay for cy8ckit_041s_max board:
- Configure slow test device at 500 kHz
- Configure fast test device at 1 MHz
- Use P2.3 as chip select GPIO
- Hardware setup requires MOSI (P2.0) connected to MISO (P2.1)
Test results: 23/27 tests passing:
- Expected skips for 24/32-bit word sizes (hardware limitation)
and deinit test (not implemented).
- One FLAKY test result: Transfer occurs faster than expected
theoretical minimum.
- All functional tests pass, data integrity looks good in
loopback test.
Signed-off-by: Braeden Lane <Braeden.Lane@infineon.com>
Enable SPI1 (SCB1) on the cy8ckit_041s_max board:
- Configure SPI1 using SCB1 with peri_clk_div2 clock
- Map SPI pins to Port 2: P2.0 (MOSI), P2.1 (MISO), P2.2 (CLK)
- Set appropriate pin drive modes: push-pull for outputs,
input-enable for MISO
- Enable gpio_prt2 port
This configuration uses hardware-verified pins that are accessible
on the board headers.
Signed-off-by: Braeden Lane <Braeden.Lane@infineon.com>
This was not noticed because there is currently no STM32 with a GPIOW port,
but adding it to the list is better for future-proofing.
Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
Move the I2C_RTIO_DEFINE macro to the beginning of the
I2C_NRFX_TWI_RTIO_DEVICE macro definition, before the
struct that references it.
Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>