int (*rs485_config)(struct uart_port *, struct serial_rs485 *rs485): 函数指针,用于配置 RS485 串行通信参数。 unsigned int irq: 该串口设备所使用的中断号。 unsigned long irqflags: 该串口设备的中断标志。 unsigned int uartclk: 该串口设备
int (*rs485_config)(struct uart_port *, struct serial_rs485 *rs485): 函数指针,用于配置RS485串行通信参数。 unsigned int irq: 该串口设备所使用的中断号。 unsigned long irqflags: 该串口设备的中断标志。 unsigned int uartclk: 该串口设备的时钟频率。 unsigned int fifosize: 该串口设备的 FIFO 大小。
int (*rs485_config)(struct uart_port *, struct serial_rs485 *rs485): 函数指针,用于配置 RS485 串行通信参数。 unsigned int irq: 该串口设备所使用的中断号。 unsigned long irqflags: 该串口设备的中断标志。 unsigned int uartclk: 该串口设备的时钟频率。 unsigned int fifosize: 该串口设备的 FIFO ...
int (*rs485_config)(struct uart_port *, struct serial_rs485 *rs485): 函数指针,用于配置 RS485 串行通信参数。 unsigned int irq: 该串口设备所使用的中断号。 unsigned long irqflags: 该串口设备的中断标志。 unsigned int uartclk: 该串口设备的时钟频率。 unsigned int fifosize: 该串口设备的 FIFO ...
struct uart_port 一个串口芯片上往往有多个串行端口(serial ports,对应于一个物理上的串口),这些串行端口具备相同的操作机制。Linux内核将这些串行端口用struct uart_port结构体描述。struct uart_port用于描述一个UART端口的中断、I/O内存地址、FIFO大小、端口类型等信息。
struct uart_state * state ; struct tty_driver * tty_driver ; } ; 2、uart_port uart_port用於描述串口埠的I/O埠或I/O內存地址、FIFO大小、埠類型、串口時鐘等信息。實際上,一個uart_port實例對應一個串口設備 struct uart_port { spinlock_t lock ; /* 串口埠鎖 */ ...
if (uart_circ_empty(xmit)) pl010_stop_tx(port); uart_port_tx_limited(port, ch, port->fifosize >> 1, true, writel(ch, port->membase + UART01x_DR), ({})); } static void pl010_modem_status(struct uart_amba_port *uap)34...
info->xmit.tail(circ->tail) 底层驱动程序可以随时使用该锁来提供任意额外的锁定。 核心驱动程序使用info->tmpbuf_sem锁,以防止多线程访问端口写入的使用info->tmpbuf回弹缓冲区。 port_sem信号用来防止在不恰当的时间添加/删除或重新配置端口。 uart_ops ...
if (uart_circ_empty(xmit) || uart_tx_stopped(port)) { /* Disable the TX Empty interrupt */ writel(CDNS_UART_IXR_TXEMPTY, port->membase + CDNS_UART_IDR); return; }numbytes = port->fifosize; while (numbytes && !uart_circ_empty(xmit) && !(readl(port->membase + CDNS_UART_SR...
info->xmit.head(circ->head) info->xmit.tail(circ->tail) 底层驱动程序可以随时使用该锁来提供任意额外的锁定。 核心驱动程序使用info->tmpbuf_sem锁,以防止多线程访问端口写入的使用info->tmpbuf回弹缓冲区。 port_sem信号用来防止在不恰当的时间添加/删除或重新配置端口。