zephyr/drivers
Krzysztof Chruściński c8d50e4ef1 drivers: serial: nrfx_uarte: Add support for non ISR PM mode
When fast UARTE instance is used (e.g. UARTE120 in nrf54h20), PM actions
are not ISR safe because they include communication over IPC so they can
only be called from the thread context. Extend driver to support both
PM modes. When non ISR mode is used then uart_rx_enable() and uart_tx()
will return error if they are called from ISR and resume operation
would need to be called because device is suspended. On completion,
driver is calling pm_device_runtime_put_async which can be called from
the ISR context.

Additionally, suspending in the TXSTOPPED and RXTO events has been
moved after user callback. It allows to support the case where
uart_rx_enable() or uart_tx() are called from that callback context.
Since suspending is called after returning from the callback it will
not trigger suspend action because API called in the callback context
will increment the usage counter (when pm_device_runtime_get() is
called).

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-12-09 22:05:03 +00:00
..
adc drivers: adc: stm32: use dedicated status function for ldo state 2024-12-07 11:02:18 +01:00
audio drivers: audio: wm8904: Fix missing default y in AUDIO_CODEC_WM8904 2024-11-25 12:16:53 +01:00
auxdisplay drivers: auxdisplay: Place API into iterable section 2024-11-29 14:50:02 +01:00
bbram drivers: bbram: Place API into iterable section 2024-12-06 10:01:32 +01:00
bluetooth drivers: bluetooth: hci: STM32WBA: Fix pub address assignment 2024-12-09 15:10:37 +01:00
cache nordic: Remove the nRF54H20 Engineering B 2024-11-16 15:09:14 -05:00
can drivers: can: can_mcan.c: transparent error code propagation 2024-12-04 16:11:40 +01:00
charger drivers: charger: Place API into iterable section 2024-12-02 18:18:51 +01:00
clock_control drivers: clock_control: update clock_control_mcux_ccm_rev2.c driver 2024-12-06 12:13:54 +01:00
comparator comparator: shell: filter device lookup using DEVICE_API macros 2024-12-02 22:06:32 +00:00
console drivers: console: rtt_console: use Segger recommended write API 2024-08-12 10:14:34 +02:00
coredump drivers: coredump: Place API into iterable section 2024-12-03 02:36:38 +01:00
counter drivers: counter: Place API into iterable section 2024-11-29 21:46:15 +01:00
crypto drivers: crypto: Place API into iterable section 2024-12-06 12:13:37 +01:00
dac drivers: dac: Place API into iterable section 2024-12-02 22:05:33 +00:00
dai drivers: dai: Place API into iterable section 2024-12-03 08:26:43 +01:00
disk drivers: disk: mmc_subsys: remove CONFIG_MMC_VOLUME_NAME 2024-11-05 15:25:10 -06:00
display drivers: display: display_rm67162: check ret value of gpio_add_callback 2024-12-09 15:11:11 +01:00
dma drivers: dma: stm32: update function prototype after hal update 2024-12-07 11:02:18 +01:00
dp dp: swdp_bitbang: fix missing reset pin error 2024-11-07 08:33:18 -06:00
edac drivers: edac: Place API into iterable section 2024-12-03 10:16:29 +01:00
eeprom drivers: eeprom: Place API into iterable section 2024-12-02 22:05:47 +00:00
entropy drivers: entropy: Add support for SCE7 to entropy driver 2024-12-09 03:54:50 +01:00
espi drivers: espi: saf: Place API into iterable section 2024-12-02 22:09:03 +00:00
ethernet drivers: dm8806: link speed change interrupt handling 2024-12-09 09:50:29 +01:00
firmware boards: nxp: Removing CONFIG_PINCTRL from the boards defconfig 2024-10-15 19:09:45 -04:00
flash drivers: flash: stm32h7 with RDP protection 2024-12-09 15:12:04 +01:00
fpga drivers: fpga: Place API into iterable section 2024-11-30 01:04:37 +01:00
fuel_gauge drivers: fuel_gauge: Place API into iterable section 2024-12-04 14:16:06 -05:00
gnss drivers: gnss: Place API into iterable section 2024-11-30 01:04:26 +01:00
gpio drivers: gpio: add RP1 GPIO driver 2024-12-06 12:14:37 +01:00
haptics drivers: haptics: Place API into iterable section 2024-12-02 22:06:06 +00:00
hdlc_rcp_if drivers: openthread: nxp: Add a HDLC RCP communication 2024-11-27 10:37:21 -05:00
hwinfo Documentation: Update documenation for Infineon boards 2024-11-14 20:36:38 -06:00
hwspinlock drivers: hwspinlock: Place API into iterable section 2024-12-02 11:14:21 +01:00
i2c drivers: all: cc12xx_cc26xx: select PINCTRL 2024-12-05 15:18:01 +01:00
i2s drivers: i2s: update i2s_mcux_sai.c 2024-12-06 12:14:10 +01:00
i3c drivers: i3c: npcx: add npcx i3c target driver 2024-11-25 17:43:41 +01:00
ieee802154 drivers: crypto: Place API into iterable section 2024-12-06 12:13:37 +01:00
input drivers: input: ft5336: Correct referencing to unexists symbol 2024-12-09 01:39:51 +01:00
interrupt_controller drivers: interrupt_controller: Place API into iterable section 2024-12-05 09:41:52 +01:00
ipm drivers: ipm: Place API into iterable section 2024-12-02 22:07:08 +00:00
kscan drivers: kscan: Place API into iterable section 2024-12-02 22:07:29 +00:00
led led: shell: filter device lookup using DEVICE_API macros 2024-12-02 22:07:36 +00:00
led_strip drivers: led_strip: Place API into iterable section 2024-12-02 22:07:42 +00:00
lora drivers: lora: Place API into iterable section 2024-12-02 18:18:08 +01:00
mbox drivers: mbox: Place API into iterable section 2024-12-06 12:13:18 +01:00
mdio drivers: mdio: Initial support for renesas RA mdio driver 2024-12-05 07:45:19 +01:00
memc drivers: memc: Fix various APS6404 device issues 2024-11-08 13:56:31 -06:00
mfd drivers: gpio: Add support for Awinic AW9523B GPIO controller 2024-12-05 07:44:58 +01:00
mipi_dbi drivers: mipi_dbi_spi: add 16-bit transfer to C4 2024-12-09 15:12:21 +01:00
mipi_dsi drivers: mipi_dsi: Place API into iterable section 2024-12-02 22:07:56 +00:00
misc drivers: timeaware_gpio: Place API into iterable section 2024-12-02 22:08:07 +00:00
mm mm: tlb: Add a mmu support in update page flags function 2024-11-19 16:23:52 +01:00
modem drivers: modem: cellular: Place API into iterable section 2024-12-02 18:19:02 +01:00
mspi drivers: mspi: Place API into iterable section 2024-12-02 22:09:03 +00:00
net drivers: nsos: support for AF_PACKET 2024-11-20 08:24:08 -05:00
pcie drivers: pcie: host: Place API into iterable section 2024-12-03 13:06:31 +01:00
peci drivers: peci: Place API into iterable sections 2024-12-02 22:08:07 +00:00
pinctrl drivers: pinctrl: gecko: Remove cases now handled by DBUS driver 2024-11-27 22:51:55 -05:00
pm_cpu_ops
power_domain drivers: power_domain: add driver for NXP's SCU-managed PDs 2024-10-11 09:27:57 +02:00
ps2 drivers: ps2: Place API into iterable section 2024-12-02 22:08:07 +00:00
ptp_clock drivers: ptp_clock: Place API into iterable section 2024-12-02 23:04:22 +01:00
pwm pwm: shell: filter device lookup using DEVICE_API macros 2024-12-06 12:13:28 +01:00
regulator drivers: regulator: npm2100: Add driver for npm2100 pmic 2024-12-04 14:19:53 -05:00
reset drivers: reset: Place API into iterable section 2024-12-02 22:08:07 +00:00
retained_mem drivers: retained_mem: Place API in iterable section 2024-12-02 23:04:22 +01:00
rtc drivers: RTC: update API to use DEVICE_API macros 2024-12-03 10:40:18 +01:00
sdhc drivers: sdhc: Place API into iterable section 2024-12-02 23:04:22 +01:00
sensor drivers: sensor: tdk: fix icm42688 division by zero 2024-12-07 11:02:28 +01:00
serial drivers: serial: nrfx_uarte: Add support for non ISR PM mode 2024-12-09 22:05:03 +00:00
sip_svc drivers: sip_svc: Place API into iterable section 2024-12-02 22:08:07 +00:00
smbus drivers: smbus: Place API into iterable section 2024-12-02 22:08:07 +00:00
spi drivers: spi: Call correct SPI device definition macros 2024-12-06 22:23:20 +01:00
stepper drivers: stepper: Add adi,tmc2209 driver 2024-12-07 16:01:41 +00:00
syscon drivers: syscon: Place API into iterable section 2024-12-02 22:08:07 +00:00
tee drivers: tee: Place API into iterable section 2024-12-02 22:08:07 +00:00
timer drivers: timer: Export sys_clock_cycle_get_64() implementations 2024-12-06 12:14:19 +01:00
usb drivers: usb: udc: fix return api description 2024-12-06 12:13:08 +01:00
usb_c drivers: usb_c: tcpc: Place API into iterable section 2024-12-03 08:28:42 +01:00
video drivers: video: Use endpoint DT helpers 2024-12-06 22:23:31 +01:00
virtualization drivers: virtualization: Place API into iterable section 2024-12-02 22:07:18 +00:00
w1 drivers: w1: place api in iterable sections 2024-12-02 23:04:59 +01:00
watchdog drivers: watchdog: npm2100: Add driver for npm2100 pmic 2024-12-04 14:19:53 -05:00
wifi hostap: Fix build after upmerge 2024-12-05 17:08:25 +00:00
xen style: drivers: comply with MISRA C:2012 Rule 15.6 2024-08-20 10:33:51 +02:00
CMakeLists.txt drivers: openthread: nxp: Add a HDLC RCP communication 2024-11-27 10:37:21 -05:00
Kconfig drivers: openthread: nxp: Add a HDLC RCP communication 2024-11-27 10:37:21 -05:00