Commit graph

6,613 commits

Author SHA1 Message Date
Gerard Marull-Paretas
aee81a86f8 soc: sifli: sf32: sf32lb52x: configure flash base address
Take it from the chosen flash node parent (MPI controller) 'nor'
register, which contains the memory mapped address for the NOR flash.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2025-10-20 14:23:43 -04:00
Afonso Oliveira
4f2531cf80 soc: qemu: virt_riscv: refactor interrupt controller selection
Move interrupt controller selection from SOC_FAMILY_QEMU_VIRT_RISCV
to individual SoC configurations.

This follows Zephyr best practices where hardware capabilities should
be selected at the most specific level possible (SoC porting guide).
This enables conditional selection of mutually exclusive interrupt
controllers within the same SoC.

Changes:
- Remove 'select RISCV_HAS_PLIC' from SOC_FAMILY_QEMU_VIRT_RISCV
- Add 'select RISCV_HAS_PLIC' to each individual SoC:
  * SOC_QEMU_VIRT_RISCV32
  * SOC_QEMU_VIRT_RISCV32E
  * SOC_QEMU_VIRT_RISCV64

No functional change - all existing QEMU RISC-V boards continue to
use PLIC as before.

Signed-off-by: Afonso Oliveira <afonsoo@synopsys.com>
2025-10-20 11:34:54 -04:00
Khoa Tran
c42fc3aed1 soc: renesas: ra: Add battery backup support for RA8 family
Add support for the battery backup (VBAT) functionality on
Renesas RA8 family. This allows the RTC to retain timekeeping
data when the main power supply is lost by switching to the
VBAT domain automatically. This commit add support for these
SoC series: ra8m1, ra8p1, ra8d1

Signed-off-by: Khoa Tran <khoa.tran.yj@bp.renesas.com>
2025-10-20 11:19:13 -04:00
Sebastian Bøe
e57676a4f5 soc: nordic: nrf54h: uicr: Improve deps for uicr/zephyr/zephyr.hex
uicr/zephyr/zephyr.hex needs to be built after all other zephyr
images.

Instead of adding a dependency on uicr, we check the sysbuild_images
property to find images.

Also, we check it as late possible by using the cmake_language(DEFER
DIRECTORY feature. Which will ensure that running this code will be
one of the last things that the CMake sysbuild program does at
Configure time.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2025-10-20 12:00:00 +02:00
Ren Chen
0d886da068 soc: it8xxx2: move gpio-q and elpm initial to early preparation hook
Relocate the initialization of the gpio-q group and the elpm
module to early SoC preparation hook. The elpm xlpout signal
is connected to the main power rail and is driven by firmware
after bootup. Initializing these modules early ensures that
the power rail remains stable and does not drop.

Signed-off-by: Ren Chen <Ren.Chen@ite.com.tw>
2025-10-20 11:59:31 +02:00
Quy Tran
a34dafd724 soc: renesas: rx: Add dtc support for Renesas RX261
Add dtc support for RX261 and ram section for dtc vector
table

Signed-off-by: Quy Tran <quy.tran.pz@renesas.com>
2025-10-20 11:57:03 +02:00
Minh Tang
a944ba23b8 soc: renesas: ra: Support NMI Handler for RA8P1 SoC
Add register NMI_Handler for NMI when CONFIG_RUNTIME_NMI is enabled on
RA8P1

Signed-off-by: Minh Tang <minh.tang.ue@bp.renesas.com>
2025-10-19 20:51:30 -04:00
Thomas Decker
bfdf070b7d soc: st: stm32: h7rs: Add memory region to MPU region list
Add ethernet DMA buffer/descriptor region (sram2) and read only
flash region 0x08FFF800 with unique device ID registers to MPU region
list. The unique device ID is used to create a random mac address by
the ethernet driver. Ethernet DMA buffer/descriptor memory section is
also added to linker script.

Signed-off-by: Thomas Decker <decker@jb-lighting.de>
2025-10-17 22:01:03 +03:00
Fabrice DJIATSA
84dc8d21b6 soc: st: stm32: add common kconfig symbols for kernel stack size
Provide default values for common kconfig symbols for main, idle and
isr stack sizes, which apply on all STM32 MCU families with low RAM
memory(less than 8 KiB).
These kconfig symbols help reduce kernel sizes to fit within
limited RAM.

Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
2025-10-17 17:04:04 +03:00
Camille BAUD
ecada5749b soc: bflb: Fix cache code relocation
The location of the cache code file was changed, update it here

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-10-17 17:02:14 +03:00
Axel Le Bourhis
188c93ec67 soc: nxp: nxp_nbu: Fix IMU IRQ enabled too early in NXP NBU driver
This commit addresses an issue where the IMU interrupt is enabled too
early by the nxp_nbu driver, this leads to a race condition where the
interrupt can be triggered even though the IMU driver is not fully
initialized.
The interrupt shall not be enabled at Zephyr level since this will
be done by the low level driver in the hal_nxp.

Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
2025-10-17 17:02:02 +03:00
cyliang tw
1e216d5b1e soc: nuvoton: numaker: add support for m333x series
Add initial support for Nuvoton NuMaker-M333x SoC series,
including basic initialization and device tree includes.

Signed-off-by: cyliang tw <cyliang@nuvoton.com>
2025-10-17 12:55:17 +02:00
Martin Hoff
ba1d267c62 soc: silabs: siwx91x: transform nwp soc files into a driver
The goal of this patch is to switch from the nwp.c and nwp.h soc files
to the new nwp driver. During this transition, we also renamed
CONFIG_WISECONNECT_NETWORK_STACK to CONFIG_SILABS_SIWX91X_NWP which are
a better naming to let the user knows that the network coprocessor files
will be added to the compilation.

The switch from a soc file to a driver device introduce a notion of nwp
device that allows us to check for good initialization and ressources
allocation.

Before this patch, it is not possible to know if the nwp have booted
successfully or not. We can now check if the device driver is ready
or not before trying to do operation related to the nwp.

Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
2025-10-17 11:17:30 +02:00
Stoyan Bogdanov
f393ae607f soc: ti: cc23x0: Add support for RTC alarms in power.c
In power management, add support to take into account the alarms
set in RTC. Alarm from RTC is processed like any other from SYSTIM.
This prevents from missing interrupts.

Signed-off-by: Stoyan Bogdanov <sbogdanov@baylibre.com>
2025-10-16 22:31:52 -04:00
Stoyan Bogdanov
a286540dbc soc: ti: cc23x0: Add conditions for RTC as timer in power.c
In power management, add conditions to handle the case where
RTC is used as main timer.

Signed-off-by: Stoyan Bogdanov <sbogdanov@baylibre.com>
2025-10-16 22:31:52 -04:00
Stoyan Bogdanov
f5bcee5d8d soc: ti: cc23x0: Add power management
Add power management capabilities for cc23x0:
- runtime-idle
- standby
- soft-off

Signed-off-by: Stoyan Bogdanov <sbogdanov@baylibre.com>
2025-10-16 22:31:52 -04:00
Stoyan Bogdanov
9ec8ad9b47 soc: ti: cc23x0: Add clock definition for RTC
Add conditonal definition for RTC and SYSTIM with different
values for both of them respecting clock speed and ticks
per minute.

Signed-off-by: Stoyan Bogdanov <sbogdanov@baylibre.com>
2025-10-16 22:31:52 -04:00
James Bennion-Pedley
99b0c25d01 soc: wch: Add CH32V307 Support
Fixes PLL Issues with PR#95814.
Based on the work of Thomas Boje <info@andocs.biz>

Signed-off-by: James Bennion-Pedley <james@bojit.org>
2025-10-16 15:06:01 -04:00
Zhaoxiang Jin
b6c66b7858 west: update hal_nxp to mcux sdk 25.09.00
1. update hal_nxp to mcux sdk 25.09.00
2. Updated imxrt7xx part numbers to align with SDK.
3. Fixed typo in member of dsi_transfer_t structure. The sendDscCmd
and dscCmd shall be sendDcsCmd and dcsCmd.
4. Remove the call to the function 'CLOCK_OSC_GateOscRc400M'. This
function has been removed from the SDK.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2025-10-16 15:05:20 -04:00
Erwan Gouriou
84bba8742a dts: arm: stm32n6: Add NPU Cache clock and reset lines
Add the description of NPU Cache (aka cacheaxi) to allow configuring
them in NPU Cache driver.
I intentionally chose this over creating a new dedicated node as
the exclusive user is NPU Cache and this could be done as part of
NPU driver initialization.

Update the NPU driver to take those into account as part of its init
routine.

Signed-off-by: Mickael Guene <mickael.guene@st.com>
Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2025-10-16 12:15:58 -04:00
Emilio Benavente
8e8056324d soc: nxp: mcxw: Enable EDMA
Add DMA nodes for MCXW7X SOC DTS.
This SOC used TRIGMUX instead of DMAMUX.
Enable EDMAv3 for the frdm_mcxw71 and frdm_mcxw72
platforms.

Signed-off-by: Emilio Benavente <emilio.benavente@nxp.com>
Co-authored-by: Declan Snyder <declan.snyder@nxp.com>
2025-10-16 17:17:12 +03:00
Jun Lin
28434f8003 drivers: uart: npcx: support additional capabilities
This commit adds the following functionality support:
1. More baudrate setting.
2. 7 bit data moded.
3. Tx (CR_SOUT) and Rx (CR_SIN) signal invert.

Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
2025-10-16 17:15:30 +03:00
Abderrahmane JARMOUNI
3fe6fcf3d4 soc: stm32: Kconfig: fix options leak
Fix various Kconfig options leak

Signed-off-by: Abderrahmane JARMOUNI <git@jarmouni.me>
2025-10-16 17:12:27 +03:00
Divin Raj
f00aeb4b7b soc: fvp_aemv8r: Flash mpu region can't be set in case of no flash
Some platforms do not have flash memory. The flash mpu region cannot
be created in case CONFIG_FLASH_SIZE is zero.

Signed-off-by: Yanqin Wei <yanqin.wei@arm.com>
Signed-off-by: Divin Raj <divin.raj@arm.com>
2025-10-16 17:10:35 +03:00
Mathieu Choplain
0a5a607c77 drivers: timer: stm32_lptim: drop clock source configuration via Kconfig
Remove the possibility to configure the LPTIM timer clock source
through Kconfig. The deprecation warning was added 3 years ago in
Zephyr 3.2 by commit bbac316be7; more
than enough time has elapsed for this option to be removed.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-10-16 17:10:11 +03:00
Maochen Wang
1bb4e5dacd boards: nxp: set default value for NXP_FW_DUMP_FLASH_START_ADDR
Set different default value for NXP_FW_DUMP_FLASH_START_ADDR, based on
mimxrt1060_evk board and rw612 soc.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2025-10-15 17:37:11 -04:00
Sebastian Bøe
35b89abd61 soc: nordic: uicr: Add safety flag for permanent device transition
Add --permit-permanently-transitioning-device-to-deployed safety flag
to gen_uicr.py, required when enabling both UICR.LOCK and
UICR.ERASEPROTECT together. This prevents accidental permanent locking
of devices since this combination makes the configuration irreversible.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2025-10-15 17:37:02 -04:00
Sebastian Bøe
1438f8ae69 soc: nordic: uicr: Add support for UICR.APPROTECT
Add support for UICR.APPROTECT configuration, which controls debugger
and access-port permissions through the TAMPC peripheral.

This introduces three Kconfig options that allow independent control
over access port protection for different processor domains:

- GEN_UICR_APPROTECT_APPLICATION_PROTECTED: Controls debug access to
  the application domain processor
- GEN_UICR_APPROTECT_RADIOCORE_PROTECTED: Controls debug access to
  the radio core processor
- GEN_UICR_APPROTECT_CORESIGHT_PROTECTED: Controls access to the
  CoreSight debug infrastructure

When enabled, each option sets the corresponding UICR.APPROTECT
register to PROTECTED (0xFFFFFFFF), which disables debug access for
that domain. When disabled, the registers remain at their erased value
(UNPROTECTED), allowing full debug access.

This feature is critical for production devices where debug access must
be restricted to prevent unauthorized access to sensitive code and data.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2025-10-15 17:37:02 -04:00
Sebastian Bøe
e20352d80a soc: nordic: uicr: Add support for UICR.ERASEPROTECT
Add support for UICR.ERASEPROTECT configuration, which blocks ERASEALL
operations to prevent bulk erasure of protected memory.

This introduces a Kconfig option GEN_UICR_ERASEPROTECT that enables
blocking of ERASEALL operations on NVR0, preserving UICR settings even
if an attacker attempts a full-chip erase.

This is a critical security feature for production devices. When enabled
together with UICR.LOCK, it becomes impossible to modify the UICR in
any way, establishing a permanent device protection scheme. Due to this
irreversibility, it should only be enabled during the final stages of
production.

When enabled, the gen_uicr.py script sets UICR.ERASEPROTECT to
0xFFFFFFFF, which prevents the ERASEALL command from affecting the
NVR0 page.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2025-10-15 17:37:02 -04:00
Sebastian Bøe
1ffdf09c25 soc: nordic: uicr: Add support for UICR.LOCK
Add support for UICR.LOCK configuration, which locks the entire UICR
configuration in NVR0 to prevent unauthorized modifications.

This introduces a Kconfig option GEN_UICR_LOCK that enables locking
of the UICR. Once locked, the UICR can only be modified by performing
an ERASEALL operation.

This is a critical security feature for production devices, typically
enabled alongside UICR.APPROTECT, UICR.PROTECTEDMEM, and
UICR.ERASEPROTECT to establish a complete device protection scheme.

When enabled, the gen_uicr.py script sets UICR.LOCK to 0xFFFFFFFF,
which configures the NVR0 page as read-only and enforces integrity
checks on the UICR content.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2025-10-15 17:37:02 -04:00
Sebastian Bøe
c3f6b8cb34 soc: nordic: uicr: Add support for UICR.SECONDARY.PROTECTEDMEM
Add support for UICR.SECONDARY.PROTECTEDMEM configuration, which enables
configuration of the protected memory region for secondary firmware.

This introduces Kconfig options for configuring:
- GEN_UICR_SECONDARY_PROTECTEDMEM - Enable/disable protected memory
  for secondary firmware
- GEN_UICR_SECONDARY_PROTECTEDMEM_SIZE_BYTES - Size of the protected
  memory region in bytes

The implementation validates that the configured size is divisible by
4096 bytes (4 KiB) as required by the hardware, and converts it to
4 KiB units when writing to UICR.SECONDARY.PROTECTEDMEM.SIZE4KB.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2025-10-15 17:37:02 -04:00
Sebastian Bøe
9dc2b614d6 soc: nordic: uicr: Add support for UICR.SECONDARY.TRIGGER
Add support for UICR.SECONDARY.TRIGGER configuration, which enables
automatic booting of secondary firmware based on specific reset reasons.

This introduces Kconfig options for configuring:
- UICR.SECONDARY.TRIGGER.ENABLE - Enable/disable automatic triggers
- UICR.SECONDARY.TRIGGER.RESETREAS - Bitmask of reset reasons that
  trigger secondary firmware boot

Individual Kconfig options are provided for each reset reason:
- APPLICATIONWDT0/1 - Application core watchdog timeouts
- APPLICATIONLOCKUP - Application core CPU lockup
- RADIOCOREWDT0/1 - Radio core watchdog timeouts
- RADIOCORELOCKUP - Radio core CPU lockup

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2025-10-15 17:37:02 -04:00
Sebastian Bøe
af32ebd198 soc: nordic: uicr: Add support for UICR.WDTSTART
Add support for UICR.WDTSTART.

UICR.WDTSTART configures the automatic start of a local watchdog timer
before the application core is booted. This provides early system
protection ensuring that the system can recover from early boot
failures.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2025-10-15 17:37:02 -04:00
Travis Lam
0042c1d299 soc: nordic: instantiate NRF_PLATFORM_LUMOS kconfig
Instantiate NRF_PLATFORM_LUMOS for all nrf lumos product,
Add NRF_SKIP_CLOCK_CONFIG kconfig to be a general kconfig
in nordic soc Kconfig, so that it can be used by other
lumos product.

Signed-off-by: Travis Lam <travis.lam@nordicsemi.no>
2025-10-15 11:43:33 -04:00
Etienne Carriere
f85932ab33 soc: st: stm32wba: TF-M does not support BL2 for WBA65x
Enable TFM_BL2_NOT_SUPPORTED configuration for STM32WBA65x SoC since
TF-M does not implement the BL2 boot stage for this SoC series.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2025-10-15 15:38:33 +03:00
Sebastian Bøe
362f6535ab soc: nordic: uicr: Change how secondary images are detected
Detect secondary images by checking a Kconfig value instead of a
marker file.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2025-10-14 18:55:08 +02:00
David Boullie
8249ca582a soc: silabs: s2: Move RAIL interrupts installer
Move the RAIL interrupts installer from the Bluetooth HCI driver
to the SoC layer so that it can be used by other subsystems
as well.

Signed-off-by: David Boullie <David.Boullie@silabs.com>
2025-10-14 18:51:57 +02:00
Aymen LAOUINI
4312c881f3 soc: ironside: Add UUID to boot report
- The UUID is the device unique identifier read from the
OTP and made available in boot report to avoid the repetitive
slow reads from OTP.

Signed-off-by: Aymen LAOUINI <aymen.laouini@nordicsemi.no>
2025-10-14 18:51:37 +02:00
Afonso Oliveira
e7c6a28a1f soc: snps: nsim: arc_v: rhx: add RHX SoC configuration
Add RISC-V RHX SoC series configuration for ARC-V RHX cores.
Enables RV32IMAC ISA with bitmanip extensions (ZBA, ZBB, ZBC, ZBS).
Configures PMP with 16 slots and 8-byte granularity.
Sets RISCV_SOC_INTERRUPT_INIT enabled for interrupt initialization.
Configures 32 IRQs.
Adds MetaWare CCAC toolchain support with RHX-specific compiler flags.

Signed-off-by: Afonso Oliveira <afonsoo@synopsys.com>
2025-10-14 18:51:25 +02:00
Afonso Oliveira
6927160adf soc: snps: nsim: arc_v: rmx: add PMP_GRANULARITY configuration
Add explicit PMP_GRANULARITY default value of 8 to RMX SoC configuration.
This makes the PMP configuration more explicit and easier to understand.

No functional change as RISCV_PMP was already enabled and PMP_GRANULARITY
already defaulted to this value.

Signed-off-by: Afonso Oliveira <afonsoo@synopsys.com>
2025-10-14 18:51:25 +02:00
Afonso Oliveira
bf5412ebb5 soc: snps: nsim: arc_v: rmx: drop hardcoded MWDT flags
- Remove SoC-level ccac core/ISA flags (-av5rmx, -Z*)
- Depend on arcmwdt toolchain to derive flags from Kconfig
- Keep SOC linker script selection unchanged

Signed-off-by: Afonso Oliveira <afonsoo@synopsys.com>
2025-10-14 18:51:25 +02:00
Afonso Oliveira
d0de9456f2 soc: snps: nsim: arc_v: rmx: revert to shorter SOC configuration names
Uses shorter names for the RMX SOC configuration.

Changes:
- SOC_SERIES_NSIM_ARC_V_RMX -> SOC_SERIES_RMX
- SOC_NSIM_ARC_V_RMX100 -> SOC_RMX100

Also updates board Kconfig to use the shorter names.

Signed-off-by: Afonso Oliveira <afonsoo@synopsys.com>
2025-10-14 18:51:25 +02:00
Afonso Oliveira
aa5e13f227 dts: cpu: add device tree bindings for Synopsys ARC-V RMX RISC-V CPU
Add device tree binding file for the Synopsys ARC-V RMX RISC-V
CPU core. This binding enables proper device tree property parsing by
the Enhanced Device Tree (EDT) system, allowing Kconfig device tree
macros to access CPU properties like clock-frequency.

The binding includes the standard RISC-V CPU properties by extending
riscv,cpus.yaml, which provides access to properties defined in cpu.yaml
such as clock-frequency.

Also removes hardcoded SYS_CLOCK_HW_CYCLES_PER_SEC from board level
and adds DT-derived value to RMX SoC level.

Signed-off-by: Afonso Oliveira <afonsoo@synopsys.com>
2025-10-14 18:51:25 +02:00
Quy Tran
153c9e6030 soc: renesas: rx: Add ofsm header file for RX26T
Add ofsm header file for option setting on RX26T MCU

Signed-off-by: Quy Tran <quy.tran.pz@renesas.com>
2025-10-14 07:44:34 -04:00
Quy Tran
df638db93a arch: rx: Enable HAS_MAPPED_INTERRUPTS config on RX26T
RX26T MCU support mapped interrupt features, add dependency config to
enable zephyr library source from hal

Signed-off-by: Quy Tran <quy.tran.pz@renesas.com>
2025-10-14 07:44:34 -04:00
Phi Tran
58dac199c2 drivers: dtc: support dtc driver on RSK_RX130_512KB.
Initial commit to support DTC driver on Renesas RX130.
* drivers: DTC: implementation for DTC driver on RX130.
* dts: rx: update dts node in SoC layer to support DTC on RX130.

Signed-off-by: Phi Tran <phi.tran.jg@bp.renesas.com>
2025-10-14 12:53:49 +03:00
Phi Tran
e3aeb4bfd9 soc: renesas: rx: Add section data for dtc_vector_table region on RX130
Add support section data for dtc_vector_table to RAM region
on RSK-RX130.

Signed-off-by: Phi Tran <phi.tran.jg@bp.renesas.com>
2025-10-14 12:53:49 +03:00
Allen Zhang
bd7c0cba39 soc: mcxw2xx: Add clock enablement for watchdog
Add clock enablement for watchdog

Signed-off-by: Allen Zhang <chunfeng.zhang@nxp.com>
2025-10-13 18:14:11 -04:00
Jimmy Zheng
7edb310d02 arch: riscv: custom: add T-Head Xuantie CSR support
Move Xuantie supprot from arch/riscv/core/xuantie to the custom common
layer arch/riscv/custom/thead, with the following changes:

1. Rename Kconfig name
   CACHE_XTHEADCMO -> RISCV_CUSTOM_CSR_THEAD_CMO
2. Split the original arch/riscv/core/xuantie/Kconfig to
   a. arch/riscv/custom/thead/Kconfig: for T-Head extension
   b. arch/riscv/custom/thead/Kconfig.core: for T-Head CPU series
      (e.g. Xuantie E907)
3. Move cache line size defaults to SoC devicetree

Signed-off-by: Jimmy Zheng <jimmyzhe@andestech.com>
2025-10-13 11:26:28 -04:00
Jimmy Zheng
7732e66723 arch: riscv: custom: add OpenISA RI5CY and Zero-RISCY CSR support
Update OpenISA RI5CY and Zero-RISCY CSR handling to use RISC-V custom
CSR common code. Move these stuff to 'arch/riscv/custom/openisa':

1. Rename 'soc_ri5cy.h' to 'ri5cy_csr.h' for CSR definitions.
2. Rename 'soc_zero_riscy.h' to 'zero_riscy_csr.h' for CSR definitions.
3. Move CSR context to common macro '__custom_csr_save/restore_context'.
4. Move compiler option '-march=rv32imcxpulpv2' to common code.

Signed-off-by: Jimmy Zheng <jimmyzhe@andestech.com>
2025-10-13 11:26:28 -04:00