In order to add MMIO mapping to specified reg region by name, add
reg-names property for dts binding nxp,imx-flexspi, and then update
existing dts nodes accordingly.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
PSA provides a random generator that requires an entropy source.
Just deprecate it for further remotion.
Signed-off-by: Flavio Ceolin <flavio@hubblenetwork.com>
Change ctr_drb random implementation to use PSA Crypto API.
Since name convention is very different and PSA abstracts the
algorithm used to generate CSPRNG, file and Kconfig options were
changed. Current symbols were deprecated and just select the new
one.
Signed-off-by: Flavio Ceolin <flavio@hubblenetwork.com>
Adjust GLCDC panel timing parameters for
rtklcdpar1s00001be display shield and add missing config for lvgl when
used with DAVE2D
Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
The DAVE2D hardware require data buffer alignment setting so that
hardware can work properly, so this add LV_ATTRIBUTE_MEM_ALIGN_SIZE glue
config to lvgl config
Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
There's no need for compatible on child nodes, they just confuse the
documentation, drop them. This also implies dropping the child node
inheriting i2c-controller.yaml, just replace it with a bus: i2c so the
node is i2c bus on an i2c bus and port over the basic properties.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Currently, the CID for dynamic channels are not cleared on reuse.
l2cap_chan_alloc_cid() sees the non-zero CID and skips allocation.
If another dynamic channel (e.g. EATT) has claimed that CID in the
meantime, the reused CID collides and the remote rejects with
BT_L2CAP_LE_ERR_SCID_IN_USE.
This commit adds clearing of bt_l2cap_le_chan.rx.cid to
`l2cap_chan_rx_init()`, to match the pattern for how state is cleared
for bt_l2cap_le_chan.tx in `l2cap_chan_tx_init()`. As a consequence of
this, the function calling the CID-allocating function on the server
side (`l2cap_chan_add()`) is moved after the init functions.
Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
Add support for the Chipsemi CHSC6540 touch controller and refactor
the driver to support multiple compatible variants.
- Introduce a function pointer (read_data) in driver config to abstract
controller-specific data parsing.
- Implement chsc6x_read_data() and chsc6540_read_data() with
variant-specific register layouts.
- Switch to DT_FOREACH_STATUS_OKAY() for per-compatible device
instantiation.
- Replace instance-based macros with node-based DEVICE_DT_DEFINE().
This change allows the driver to support both chipsemi,chsc6x and
chipsemi,chsc6540 via devicetree without duplicating core logic.
Signed-off-by: Muhammad Waleed Badar <walid.badar@gmail.com>
Replace the manual linked list (using _next pointer) for RFCOMM
servers with sys_slist_t. This enables use of slist utility functions
like sys_slist_find_and_remove(), which is needed to support server
unregistration in a subsequent commit.
Signed-off-by: Kai Cheng <chengkai@xiaomi.com>
Move the avdtp_tx_raise() call from avdtp_tx_processor() into
avdtp_tx_frags() to ensure the tx is not raised if there is no idle
net_buf.
The issue is: the `avdtp_tx_raise` is called always to trigger the
worker to run again, it will keeps occupying the cpu if there is pending
tx, but there is no idle net_buf. After moving the calling to
`avdtp_tx_frags`, it is only called when there is still idle net_buf.
After the previous avdtp sending net_buf is released, the `avdtp_tx_cb`
is called, and the `avdtp_tx_raise` will be triggered again.
Signed-off-by: Mark Wang <yichang.wang@nxp.com>
Updated boot firmware for b0 silicon according to SPSDK blob's
update.
Updated hal_nxp revision to include new version of blob.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
Pass &mdata.mdm_rssi instead of casting the integer value directly
to a pointer, fixing a -Wint-to-pointer-cast compiler warning.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
IUT works as a a2dp source. The peer device, a2dp sink is
a PC with running bumble on it.
The test content are follows:
case 1: test API register_ep. The api is used to register endpoint.
The case tests it when the parameters is correct or incorrect.
case 2: test API a2dp connect. This case repeats the a2dp connect
operation to verify its correctness
case 3: test API a2dp disconnect.This case repeats the a2dp connect
operation to verify its correctness
case 4: test API a2dp discover. The case send discover and get
(all)capabilities cmd to a2dp source.
case 5: This case will complete the execution process of the test a2dp,
including connect,discover,get cap, open, start,suspend,close.
All cmd are send from sink to source.
case 6: This case will complete the execution process of the test a2dp,
including connect,discover,get cap, open, start,suspend,close.
All cmd are send from source to sink.
Signed-off-by: Cheng Chang <cheng.chang@nxp.com>
IUT works as a a2dp sink. The peer device, a2dp source is
a PC with running bumble on it.
The test content are follows:
case 1: test API register_ep. The api is used to register endpoint.
The case tests it when the parameters is correct or incorrect.
case 2: test API a2dp connect. This case repeats the a2dp connect
operation to verify its correctness
case 3: test API a2dp disconnect.This case repeats the a2dp connect
operation to verify its correctness
case 4: test API a2dp discover. The case send discover and get
(all)capabilities cmd to a2dp source.
case 5: This case will complete the execution process of the test a2dp,
including connect,discover,get cap, open, start,suspend,close.
All cmd are send from source to sink.
case 6: This case will complete the execution process of the test a2dp,
including connect,discover,get cap, open, start,suspend,close.
All cmd are send from sink to source.
Signed-off-by: Cheng Chang <cheng.chang@nxp.com>
Fix the qsort comparison function that was hitting an integer underflow.
Some video sources such as video-sw-generator have UINT32_MAX for maximum
frame interval (arbitrarily slow), which made the comparison underflow,
which in turn lead to frame interval being listed in the wrong order,
breaking Windows support.
Fixes#101259.
Signed-off-by: Josuah Demangeon <josuah.demangeon@nordicsemi.no>
When generating device dependency arrays, the supported devices list
is currently sorted by device handle. This can cause child devices to
be processed before their parent devices when a power domain resumes,
leading to hardware access errors.
This fix changes the sorting key for supported devices from device
handle to dependency ordinal, ensuring that parent devices are always
processed before their children during power domain operations.
The sorting is performed at build time, so there is no runtime
overhead.
Signed-off-by: Yongxu Wang <yongxu.wang@nxp.com>
hwinfo_get_device_id needs to access FMC/RMC and can change its open
state. This will break other code which also accesses the FMC/RMC. To
fix the corrupt, hwinfo_get_device_id will do save & restore of FMC/RMC
open state and the related protected register lock state.
Fix: 104848
Signed-off-by: Chun-Chieh Li <ccli8@nuvoton.com>
For !TRACING, most arch_cpu_idle and arch_cpu_atomic_idle implementation
relies on the fact that there's weak stub implementations in
subsys/tracing/tracing_none.c, this works, but the arch_cpu_idle sits in
hot code path, so we'd better to make it as efficient as possible.
Take the riscv implementation for example,
Before the patch:
80000a66 <arch_cpu_idle>:
80000a66: 1141 addi sp,sp,-16
80000a68: c606 sw ra,12(sp)
80000a6a: 37c5 jal 80000a4a <sys_trace_idle>
80000a6c: 10500073 wfi
80000a70: 3ff1 jal 80000a4c <sys_trace_idle_exit>
80000a72: 47a1 li a5,8
80000a74: 3007a073 csrs mstatus,a5
80000a78: 40b2 lw ra,12(sp)
80000a7a: 0141 addi sp,sp,16
80000a7c: 8082 ret
NOTE: the sys_trace_idle and sys_trace_idle_exit are just stubs when
!TRACING
after the patch:
80000a62 <arch_cpu_idle>:
80000a62: 10500073 wfi
80000a66: 47a1 li a5,8
80000a68: 3007a073 csrs mstatus,a5
80000a6c: 8082 ret
Signed-off-by: Jisheng Zhang <jszhang@kernel.org>
When __soc_handle_irq is called inside _isr_wrapper, it actually expects
the function to return an IRQ number but the declaration of
__soc_handle_irq in the header has it returning `void` instead. Fix the
declaration to reflect that it actually returns an XLEN-length integer.
All existing implementations of __soc_handle_irq already follow this
behavior by either not modifying the a0 register or setting it to the
correct IRQ number, and follow the calling convention in all other
respects:
* soc/ite/ec/common/soc_irq.S: trampoline to
`uint8_t get_irq(void* unused)`
* soc/adi/max32/soc_irq_rv32.S: internally calls
`uint32_t max32_rv32_intc_get_next_source(void)` and doesn't modify
a0 afterwards
* soc/openisa/rv32m1/soc_irq.S: does not modify a0, and obliquely
refers to this issue in a comment explaining why the function isn't
implemented in C
* soc/common/riscv-privileged/soc_irq.S: does not modify a0
* all others: stub (just `ret`), which is a valid implementation of the
integer identity function
Signed-off-by: Peter Marheine <pmarheine@chromium.org>
Reduce the log level to debug for a number of internal status logs within
the USB device_next stack.
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
Add docs defining how vendor-specific hardware functionality must be
contributed, structured, and exposed within the Zephyr Project.
Fixes#91373
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Add a test suite for the Wakeup Controller (WUC) driver API that
validates the core functionality including enabling, disabling
wakeup sources.
The test suite includes:
- Test for enabling wakeup sources
- Test for disabling wakeup sources
Signed-off-by: Albort Xue <yao.xue@nxp.com>
Introduce a new Wakeup Controller (WUC) driver API to manage wakeup
sources in low-power scenarios. The WUC API provides a standardized
interface for enabling, disabling, checking, recording and clearing
wakeup sources that can bring a device out of low-power states.
Signed-off-by: Albort Xue <yao.xue@nxp.com>
Add sam4l_ek board in the integration_platform list to build the
atmel,sam_udc_usbc compatible driver.
Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
Add Atmel SAM USBC driver for SAM4L family. The driver was tested using
CDC-ACM and testusb samples.
Fixes: #74665
Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
Add BFLB SEC_ENG AES compatible string to the crypto sample
source so it discovers the hardware crypto device.
Signed-off-by: William Markezana <william.markezana@gmail.com>
Add BFLB SEC_ENG compatible strings to the crypto_aes and
crypto_hash test source files so the test framework discovers
the crypto devices.
Mark crypto as a supported feature in board YAML files.
Signed-off-by: William Markezana <william.markezana@gmail.com>
Add hardware crypto drivers for the Bouffalo Lab SEC Engine:
- AES: ECB, CBC, CTR modes with 128/192/256-bit keys
- SHA: SHA-224 and SHA-256 (SHA-384/512 not supported in HW)
- GMAC: Galois MAC (GF(2^128) multiply)
Each sub-block is a separate driver with its own Kconfig and
DT compatible. All drivers recover SEC_ENG_BASE from the DT
sub-block address to work with HAL register offsets.
Signed-off-by: William Markezana <william.markezana@gmail.com>
Add device tree nodes for the Bouffalo Lab SEC Engine sub-blocks
(SHA, AES, GMAC) across all three SoC families:
- bl60x/bl70x: individual IRQs per sub-block (SHA=30, AES=29,
GMAC=25), peripherals at 0x40004xxx
- bl61x: shared IRQ 26 for all crypto sub-blocks
(SEC_ENG_ID0_SHA_AES_TRNG_PKA_GMAC_IRQn), peripherals at
0x20004xxx
Add corresponding DT binding YAML files for each compatible.
Enable SEC_ENG AES and SHA nodes on ai_m62_12f_kit,
ai_wb2_12f_kit, and dt_xt_zb1_devkit boards.
Signed-off-by: William Markezana <william.markezana@gmail.com>
# Conflicts:
# dts/riscv/bflb/bl60x.dtsi
# dts/riscv/bflb/bl61x.dtsi
# dts/riscv/bflb/bl70x.dtsi
Added some application services APIs to handle the GNSS, WIFI scan
and to retrieve the RSSI on the st87mxx modem driver.
Signed-off-by: Isabelle OGER <isabelle.oger@st.com>