nuttx/include
Lee Lup Yuen b2c1930825 serial/uart_16550: Wait before setting Line Control Register (Synopsys DesignWare 8250)
Some UART Controllers (Synopsys DesignWare 8250) will trigger spurious interrupts when the Line Control Register (LCR) is set while the UART is busy. This patch provides the option (16550_WAIT_LCR) to wait for UART until it's not busy, before setting the LCR. (16550_WAIT_LCR is disabled by default)

This patch fixes the spurious UART interrupts for the upcoming port of NuttX to StarFive JH7110 SoC (with Synopsys DesignWare 8250 UART). [The patch is explained here](https://lupyuen.github.io/articles/plic#appendix-fix-the-spurious-uart-interrupts)

drivers/serial/uart_16550.c: If 16550_WAIT_LCR is enabled, wait until UART is not busy before setting LCR

include/nuttx/serial/uart_16550.h: Define the UART Status Register (USR) for checking if UART is busy

drivers/serial/Kconfig-16550: Added option 16550_WAIT_LCR to 16550 UART Config, disabled by default
2023-08-03 08:38:07 +02:00
..
android libc/misc: add fdsan module 2023-05-17 10:24:42 +08:00
arpa
crypto Fix nuttx coding style 2023-07-11 23:32:17 +08:00
cxx libc: Implement quick_exit and at_quick_exit 2023-01-25 14:31:37 +02:00
net net/if.h: add definitions associated with IF_OPER_ 2023-07-08 10:59:37 -03:00
netinet libc/net: compatible with Android for htonq/ntohq 2023-08-02 22:47:29 -07:00
netpacket Fix nuttx coding style 2023-07-11 23:32:17 +08:00
nuttx serial/uart_16550: Wait before setting Line Control Register (Synopsys DesignWare 8250) 2023-08-03 08:38:07 +02:00
ssp
sys getrlimit: add RLIMIT_MEMLOCK define 2023-07-31 07:50:10 -07:00
.gitignore libs/libc/gpsutils/minmea: move minmea library from apps/gpsutils 2023-08-01 23:09:46 -07:00
aio.h fs: Undefine CONFIG_FS_LARGEFILE if compiler doesn't support long long 2023-03-02 09:37:58 +01:00
alloca.h
assert.h nuttx/bits.h: support GENMASK and GENMASK_ULL 2023-07-29 16:41:31 -03:00
byteswap.h
ctype.h
debug.h New implementation of the ESP32's RMT driver. 2023-07-23 16:17:57 -03:00
dirent.h fs: Undefine CONFIG_FS_LARGEFILE if compiler doesn't support long long 2023-03-02 09:37:58 +01:00
dlfcn.h
dsp.h libdsp: Add average filter 2023-06-12 08:39:38 +02:00
dspb16.h
elf32.h Fix and improve dynamic loader 2023-07-13 10:11:58 +08:00
elf64.h Fix and improve dynamic loader 2023-07-13 10:11:58 +08:00
elf.h Fix and improve dynamic loader 2023-07-13 10:11:58 +08:00
endian.h
err.h include/err: Enforce c linkage for err and warn functions. 2023-05-01 12:48:55 +08:00
errno.h Fix nuttx coding style 2023-07-11 23:32:17 +08:00
execinfo.h sched_backtrace: define sched_dumpstack when not enable SCHED_BACKTRACE 2023-07-31 05:46:37 -07:00
fcntl.h include/fcntl.h: add O_NOATIME flags 2023-07-28 20:56:22 -07:00
fixedmath.h
fnmatch.h
ftw.h fs: Undefine CONFIG_FS_LARGEFILE if compiler doesn't support long long 2023-03-02 09:37:58 +01:00
getopt.h
glob.h
grp.h
hex2bin.h
iconv.h libc/locale: support iconv_open,iconv,iconv_close 2023-04-25 19:12:53 +01:00
ifaddrs.h ifaddrs: add union ifa_ifu include ifu_broadaddr and ifu_dstaddr 2023-07-08 15:42:11 +08:00
inttypes.h fs: Undefine CONFIG_FS_LARGEFILE if compiler doesn't support long long 2023-03-02 09:37:58 +01:00
iso646.h
langinfo.h
libgen.h
libintl.h
limits.h Indent the define statement by two spaces 2023-05-21 09:52:08 -03:00
locale.h
lzf.h Indent the define statement by two spaces 2023-05-21 09:52:08 -03:00
malloc.h mm: Rename PID_MM_INVALID to PID_MM_LEAK 2023-06-18 14:26:07 +03:00
mqueue.h include: Fix nxstyle errors 2023-05-04 02:07:01 +08:00
netdb.h
nl_types.h
nxflat.h
obstack.h
poll.h
pthread.h libc/pthread: add pthread_attr_set/getscope 2023-07-28 20:55:22 -07:00
pty.h drivers/serial: Always support c_oflag, c_iflag and c_lflag in termios 2023-03-19 14:54:59 -06:00
pwd.h pwd: Add initial implementation of getpwent 2023-07-31 07:50:10 -07:00
regex.h include/regex.h: add missing FAR 2023-05-19 02:40:38 +08:00
resolv.h
sched.h sched_backtrace: define sched_dumpstack when not enable SCHED_BACKTRACE 2023-07-31 05:46:37 -07:00
semaphore.h semaphore: Optimize priority inheritance with only one holder 2023-06-17 08:26:46 +03:00
signal.h sigaltstack: Add initial implementation of sigaltstack 2023-07-31 07:50:10 -07:00
spawn.h
stdbool.h
stddef.h
stdint.h Fix nuttx coding style 2023-07-11 23:32:17 +08:00
stdio.h Support gcc FORTIFY_SOURCE features for nuttx libc 2023-06-22 20:38:45 +08:00
stdlib.h libc/rand_r: support rand_r api 2023-07-29 07:28:23 -07:00
stdnoreturn.h
string.h Support gcc FORTIFY_SOURCE features for nuttx libc 2023-06-22 20:38:45 +08:00
strings.h Support gcc FORTIFY_SOURCE features for nuttx libc 2023-06-22 20:38:45 +08:00
syscall.h
syslog.h syslog: add syslog option definition 2023-05-05 18:36:36 +08:00
termios.h
threads.h sched/getpid: replace syscall getpid/tid/ppid() to kernel version 2023-02-02 10:33:01 +08:00
time.h change clockid_t type from uint8_t to int 2023-07-11 22:36:23 +08:00
unistd.h libc/sysconf: add _SC_REALTIME_SIGNALS 2023-08-02 22:57:28 -07:00
utime.h
uuid.h
wchar.h Support gcc FORTIFY_SOURCE features for nuttx libc 2023-06-22 20:38:45 +08:00
wctype.h