zephyr/drivers
Josuah Demangeon 2dce408bc3 drivers: serial: uart_liteuart: fix interrupt-driven mode
Interrupt-driven mode was not working, and disabled by default.
When it was forced on, the behavior was to only have a few bytes:
as many as min(CONFIG_SHELL_BACKEND_SERIAL_TX_RING_BUFFER_SIZE, 9).

After the hardware FIFO was filled by software and emptied by hardware,
no interrupt occured, and enqueuing more data did never happen.

By letting the events enabled for TX (only), then interrupts are still
generated after the first transfer, and the software can then add the
subsequent transfers until all data is print: the UART works.

It does not generate endless interrupts either, which was tested by
adding litex_write8('%', UART_RXTX_ADDR) in liteuart_uart_irq_handler()
to log all interrupts events, and when there is nothing to print, no
interrupt is fired.

It was tested with the Zephyr shell.

Fixes #63794

Signed-off-by: Josuah Demangeon <me@josuah.net>
2023-11-17 15:29:14 +01:00
..
adc drivers: adc: adc_ads114s0x: fix incorrect type 2023-11-13 09:46:48 +01:00
audio drivers: audio: add Audio Codec shell commands 2023-10-30 13:51:28 -04:00
auxdisplay syscall: rename Z_OOPS -> K_OOPS 2023-11-03 11:46:52 +01:00
bbram syscall: rename Z_OOPS -> K_OOPS 2023-11-03 11:46:52 +01:00
bluetooth drivers: bluetooth: hci: cyw43xxx: Add dependency to UART runtime config 2023-11-15 10:02:18 +01:00
cache syscall: rename Z_OOPS -> K_OOPS 2023-11-03 11:46:52 +01:00
can soc: nxp_s32: s32k3: drop M7 suffix from options 2023-11-15 10:25:43 -06:00
charger drivers: add MAX20335 charger driver 2023-11-13 09:48:33 +01:00
clock_control soc: arm: npcx: fix clock reference of APB4/FIU1 buses 2023-11-16 06:50:57 +00:00
console drivers: console: fix dropped characters when using debug hooks 2023-11-09 15:32:10 +01:00
coredump
counter drivers: counter_nxp_s32_sys_timer: update to RTD 1.0.0 2023-11-16 09:28:16 +01:00
crypto drivers: crypto: smartbond: Support crypto accelerator 2023-10-26 09:47:23 +02:00
dac drivers: dac: add driver for AD5592 2023-11-08 10:07:41 +01:00
dai Revert "drivers: intel: ssp: Correct FIFO depth value for CAVS25 platforms" 2023-10-27 12:33:53 -05:00
disk drivers/nvme: Return an error in case of non dword-aligned data buffer 2023-09-22 09:23:18 +02:00
display drivers: display: rm67162: add device level power management 2023-11-14 09:22:59 +01:00
dma soc: nxp_s32: s32k3: drop M7 suffix from options 2023-11-15 10:25:43 -06:00
edac
eeprom drivers: eeprom_emulator: fix compile warning 2023-11-06 23:59:05 +01:00
entropy drivers: entropy: stm32: Move irq_lock at init 2023-11-15 10:00:50 +01:00
espi syscall: rename Z_OOPS -> K_OOPS 2023-11-03 11:46:52 +01:00
ethernet drivers: eth_mcux: Add net_if_mcast_cb for IPv4 2023-11-17 09:23:39 +01:00
flash soc: arm: npcx: move soc-specific register definitions to soc.h 2023-11-09 10:20:39 +00:00
fpga drivers: fpga: move to POST_KERNEL 2023-09-15 16:04:19 +02:00
fuel_gauge syscall: rename Z_OOPS -> K_OOPS 2023-11-03 11:46:52 +01:00
gnss drivers: gnss: Fix typo in __ASSERT statement 2023-11-15 08:46:37 +00:00
gpio drivers: gpio: shell: add vendor specific flags argument 2023-11-17 12:41:14 +01:00
hwinfo syscall: rename Z_OOPS -> K_OOPS 2023-11-03 11:46:52 +01:00
hwspinlock syscall: rename Z_OOPS -> K_OOPS 2023-11-03 11:46:52 +01:00
i2c drivers: i2c: sc18im704: Add dependency to UART runtime config 2023-11-15 10:02:18 +01:00
i2s drivers: i2s: mcux_flexcomm: Change LOG_INF to LOG_DBG in init 2023-11-14 20:59:35 -06:00
i3c drivers: i3c: add dummy driver for vnd,i3c 2023-11-13 16:08:46 +00:00
ieee802154 ieee802154: ieee802154_cc13xx_cc26xx_subg: Add cc1352p7 support 2023-11-11 18:49:25 -05:00
input input: it8xxx2_kbd: drop unnecessary include 2023-11-17 08:25:27 +00:00
interrupt_controller drivers: intc: plic: Use sys IO APIs to access memory-mapped registers 2023-11-09 18:20:43 +01:00
ipm drivers: ipm: Remove CONFIG_IPM_IMX_REV2 2023-11-06 10:09:59 +01:00
kscan input: convert ite_it8xxx2_kbd driver from kscan to input 2023-11-10 16:30:37 +00:00
led syscall: rename Z_OOPS -> K_OOPS 2023-11-03 11:46:52 +01:00
led_strip drivers: spi: update drivers that were using spi cpol and cpha 2023-10-25 18:30:28 -07:00
lora drivers: gpio: use gpio_is_ready_dt helper function 2023-08-28 08:48:35 -05:00
mbox drivers: mbox_nxp_s32_mru: update to RTD 1.0.0 2023-11-16 09:28:16 +01:00
mdio drivers: mdio: nxp_s32_netc: use instance-based DT macros 2023-11-13 09:49:26 +01:00
memc drivers: memc_nxp_flexram: Use nodelabel for GPR 2023-11-15 15:04:39 -06:00
mfd drivers: mfd: npm1300: Add separate initialization priority 2023-11-08 15:09:06 +00:00
mipi_dsi drivers: mipi_dsi: add support for mipi_dsi_detach to dsi_mcux_2l 2023-11-14 09:22:59 +01:00
misc drivers: timeaware_gpio: Fix include path 2023-11-10 14:40:55 +02:00
mm kernel: Re-factor sys_mem_blocks definition 2023-09-30 08:04:14 +03:00
modem drivers: modem: add Quectel EG25-G 2023-11-13 10:10:15 -06:00
net net: loopback: Register IPv4 netmask 2023-11-15 13:53:27 +01:00
pcie drivers: pcie: add config for enable PRT 2023-10-06 10:40:14 +02:00
peci syscall: rename Z_OOPS -> K_OOPS 2023-11-03 11:46:52 +01:00
pinctrl drivers: pinctrl: add RZT2M driver 2023-11-15 11:41:35 +01:00
pm_cpu_ops drivers: pm_cpu_ops: psci: provide sys_poweroff hook 2023-08-04 16:59:36 +02:00
power_domain power_domain_intel_adsp.c: revert recent INIT_PRIORITY change 2023-11-02 08:33:40 +00:00
ps2 syscall: rename Z_OOPS -> K_OOPS 2023-11-03 11:46:52 +01:00
ptp_clock syscall: rename Z_OOPS -> K_OOPS 2023-11-03 11:46:52 +01:00
pwm syscall: rename Z_OOPS -> K_OOPS 2023-11-03 11:46:52 +01:00
regulator drivers: regulator: Added startup and off/on delay to common driver 2023-11-13 21:30:10 +00:00
reset
retained_mem syscall: rename Z_OOPS -> K_OOPS 2023-11-03 11:46:52 +01:00
rtc syscall: rename Z_OOPS -> K_OOPS 2023-11-03 11:46:52 +01:00
sdhc drivers: sdhc: added Infineon CAT1 SDHC/SDIO driver 2023-11-08 15:07:37 +00:00
sensor drivers: sensor: a01nyub: Add dependency to UART runtime configuration 2023-11-15 10:02:18 +01:00
serial drivers: serial: uart_liteuart: fix interrupt-driven mode 2023-11-17 15:29:14 +01:00
sip_svc kernel: move syscall_handler.h to internal include directory 2023-11-03 11:46:52 +01:00
smbus smbus: Remove syscalls with callbacks 2023-11-17 09:22:05 +01:00
spi drivers: spi: Implement workaround for unreliable busy flag 2023-11-17 09:22:18 +01:00
syscon
timer timer: cortex-m systick: add idle timer 2023-11-07 09:42:37 +01:00
usb dts: bindings: Fix NXP USB bindings 2023-11-09 15:34:39 +01:00
usb_c usbc: improve error handling in the ucpd_stm32 and vbus_adc 2023-10-20 14:57:32 +02:00
video drivers: gpio: use gpio_is_ready_dt helper function 2023-08-28 08:48:35 -05:00
virtualization syscall: rename Z_OOPS -> K_OOPS 2023-11-03 11:46:52 +01:00
w1 drivers: w1: Add dependency to UART runtime configuration 2023-11-15 10:02:18 +01:00
watchdog drivers: watchdog: wdt_nrfx: Implement disable API 2023-11-17 10:00:53 +01:00
wifi drivers: wifi: esp_at: Add dependency to UART runtime configuration 2023-11-15 10:02:18 +01:00
xen xen: add helper functions for Xen domain memory management 2023-09-15 11:15:00 +01:00
CMakeLists.txt drivers, subsys: sort the lists again, mark the blocks for checking 2023-11-13 09:41:05 +01:00
Kconfig drivers, subsys: sort the lists again, mark the blocks for checking 2023-11-13 09:41:05 +01:00