The p_context no longer has the const type, so all
Renesas-supported drivers need to be updated accordingly.
Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
For some nordic devices the LFRC peripheral is used to calibrate
the LFCLK clock instead of NRFX_CLOCK peripheral. This commit
adds support for the changes already made in nrfx drivers.
Signed-off-by: Robert Robinson <robert.robinson@nordicsemi.no>
This implements the DAC driver for silabs VDAC peripherals
using the silabs,vdac compatible binding.
Signed-off-by: Bastien Beauchamp <bastien.beauchamp@silabs.com>
Some nRF SoCs (i.e. nRF54H20) can peform DMA transfers
only from specific memory regions - `dmm` facilitates that.
Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
* Implement the new cellular_set_apn() driver hook.
The API validates the string, stores it in the driver’s
private data and raises an internal event so the state
machine can resume.
* Insert MODEM_CELLULAR_STATE_WAIT_FOR_APN between DLCI2 open
and the APN-script step.
– If CONFIG_MODEM_CELLULAR_APN is defined and non-empty the
driver skips WAIT_FOR_APN (behaves exactly as before).
– Otherwise the driver parks in WAIT_FOR_APN until the
application calls cellular_set_apn().
* Add event-callback support (CELLULAR_EVENT_MODEM_INFO_CHANGED)
so an app can subscribe to IMSI availability and kick its own
APN selection logic.
Signed-off-by: Van Petrosyan <van.petrosyan@sensirion.com>
The modem_cellular implementation should suffice to handle the base
usage of generic BG9x family devices, so deprecate the quectel-bg9x.c
implementation.
Signed-off-by: Guilherme Costa <guilhermecosta@stratioautomotive.com>
Added support for compatible 'quectel,bg96' in modem_cellular.c
Renamed BG95-specific variables to BG9x, since the initialization
for BG95 and BG9x is similar.
Signed-off-by: Guilherme Costa <guilhermecosta@stratioautomotive.com>
Updated the nxp flexio pwm driver to account
for when the duty cycle is 100% or 0%.
We switch off the counter of the flexio and
manually set the GPIO High or Low. Otherwise
Flexio Peripheral with default to a 50% duty
cycle behavior.
Factored out timerOutput variable.
Signed-off-by: Emilio Benavente <emilio.benavente@nxp.com>
Extended clock control driver to support new DVFS service
from IronSide secure domain. Added new compatible nrf-iron-hsfll-local
which can be used to enable new DVFS service support in local
domain.
Signed-off-by: Łukasz Stępnicki <lukasz.stepnicki@nordicsemi.no>
Added the gpio driver for EFR series 2 devices.
The SILABS_SISDK_GPIO symbol is added to enable
support for the new GPIO driver.
The SOC_GECKO_GPIO symbol is retained for now to
maintain compatibility with existing drivers and
will be removed in a subsequent commit.
Signed-off-by: S Mohamed Fiaz <fiaz.mohamed@silabs.com>
Add support for special GPIOTE0 instance on nrf54h20/cpurad.
This instance requires special handling because:
- there is no support for PORT event (level interrupts)
- TE channels are fixed to the pin
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Espressif's interrupt controller drive should not build for
ESP32C6 LP Core since it's behavior is different.
Add proper condition for that.
Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
Add check for the RX data buffer size. It should be atleast 400 bytes,
anthing less than that scan fails.
Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
Use DT_NODE_HAS_COMPAT_STATUS to skip disabled child nodes. This
avoids build errors when setting a RAM type to 0 banks.
Signed-off-by: Ofir Shemesh <ofirshemesh777@gmail.com>
TXD_DRIVE_EDGE setting will typically be set to BAUDR/4 for DDR mode,
but this may not cover all cases. Add a configurable multiplier and
divisor to apply to the BAUDR value so the value's relation to BAUDR can
be customized.
Signed-off-by: Daniel DeGrasse <ddegrasse@tenstorrent.com>
Add support the host I/O over eSPI peripheral channel for private
channel2 and channel3.
The default port number of ESPI_PERIPHERAL_HOST_IO_PVT2_PORT_NUM and
ESPI_PERIPHERAL_HOST_IO_PVT3_PORT_NUM are 0x68 and 0x70.
Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
Add support for configuring the maximum TX power for STA and AP modes using
a Device Tree property (`max-tx-power`). If unspecified, the default value
is set to 31 dBm.
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Initial implementation of nRF54L quirks necessary for nRF54LM20A.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Update handling of fast instances to take into account whether
CONFIG_CLOCK_CONTROL is enabled or not.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Ensure event is not NULL before accessing its members in
nrf_wifi_parse_sband().
This adds a defensive check to avoid potential null dereference and ensures
the function returns early when event data is invalid (i.e., zero channels
or bitrates).
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
Add Kconfig option to enable Periodic Transfer Interrupt mode for
isochronous endpoints. The tradeoff is reduced CPU usage in exchange for
not timing out isochronous transfers.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
The flash M1K driver supports read (up to 1K), write (1K), and
erase (4K) operations, which can be accessed via DLM.
Accessible flash regions include internal e-Flash or external SPI
flash via FSCE# or FSCE1#.
Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
The original code process causes the following two issues:
1. The first sample is always 0 because the `ctx` sequence in `data` is
assigned the input sequence until the `adc_context_start_read`. As a
result, the `while (channels) { ... }` loop is not executed, and
`adc_enable_measurement` is not called.
2. Since the `ctx` sequence in `data` is assigned in
`adc_context_start_read`, which occurs after the `while (channels) {
... }` loop, the ADC samples the previously set channel.
Signed-off-by: Yunshao Chiang <Yunshao.Chiang@ite.com.tw>
As clarified by the subsystem maintainers, wait should be treated as a
boolean, not a duration.
Signed-off-by: Dmitrii Sharshakov <d3dx12.xx@gmail.com>
The kso_ignore_mask DTS property was not being fully applied in the
ITE IT8xxx2 keyboard driver:
1. The driver performed direct writes to the KBS_KSOH2 register,
which controls KSO[17:16]. This did not account for the
kso_ignore_mask and could overwrite bits in the register that
are used for other GPIO functions.
2. The driver would attempt to initialize the GPIOs for KSO16 and
KSO17 based solely on the col-size property. It ignored the
kso_ignore_mask, which could lead to reconfiguring a pin that
is intended for another purpose.
Signed-off-by: Wai-Hong Tam <waihong@google.com>
When setting CONFIG_MCUX_ELCDIF_FB_NUM=0 we can't assign the active pointer
to any framebuffer.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Some of the logging was not very useful and missing info, some were the
wrong level. Such as routine drops of packets, this happens sometimes
and is not ideal but not going to cause things to fall apart, so demote
those messages. RX buffer underrun for example is pretty unavoidable
with enough traffic going on the local network.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Extract the RX underrun handle code to a separate function.
Named the function like "dma_rx_resume" to make it clear what the
function is really supposed to do.
Demote the error about not being a first descriptor to a warning.
Because most likely we already got an error about something else which
caused us to drop the packet in the first place. The rest of the frames
are expected to be dropped. And make the string shorter.
Also remove the debug message because the control bits do not tell us
any more information than we don't know already. They only tell us that
we own the descriptor (known since we are processing the frame), that it
is not a first descriptor (known since that is the reason we would drop
it at this point, as indicated by the warning).
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Instead of looping through only the amount of descriptors there are,
maybe it is possible to get some more things received in one work item
than even the max number of descriptors if RX is processed fast enough,
instead of waiting for work to be scheduled again.
So change to go around the ring until we actually hit a DMA owned
descriptor.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Don't enable interrupt until after init because there can be a interrupt
mistakenly happen during the init process which can cause various
problems.
Along similar lines, avoid issue for sporadic TX interrupt with no
packet in tx done handler.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
There was a deadlock occurring, exposed by http server sample because of
situations like this caused by tx done work being blocked in deadlock:
1) The TX would be started by some thread and the driver TX sem would be
taken.
2) The http server socket would get scheduled on the system workqueue to
send something, claim the network TX interface mutex,
and be blocked taking the semaphore.
3) The RX traffic class handler would get blocked trying to claim the
network interface TX mutex, while trying to send an ACK in the TCP
callback. This means the RX packets would not be processed.
4) Lots of RX unable to allocate packets errors would happen, and all RX
would be dropped. This was the main symptom of the deadlock, which
made it look like a memory leak but actually had nothing to do with
the RX code nor any memory leak.
5) The TX DMA would finish and schedule the TX DMA done work onto the
system work queue, behind the http server socket which is blocked on
the waiting for the driver TX semaphore.
6) If the TX DMA done work would have ran, that's what gives the TX
driver semaphore. So this is the reason for the deadlock of all these
different threads and work items, the misqueue in the system
workqueue.
Fix by just calling the TX DMA done code directly from the ISR, it
should be ISR safe, and really not a lot of code to execute, just
freeing some net buffers and the packet and updating the stats.
An optimization can be made later if needed, but for now,
solving the deadlock is a more urgent priority.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
- Adds CONFIG_FLASH_PAGE_LAYOUT check to the flash_mcux_flexspi
drivers.
- Saves some memory if FLASH_PAGE_LAYOUT is disabled.
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>