Lines Matching defs:atmel_uart_port
112 struct atmel_uart_port { struct
113 struct uart_port uart; /* uart */
114 struct clk *clk; /* uart clock */
115 struct clk *gclk; /* uart generic clock */
116 int may_wakeup; /* cached value of device_may_wakeup for times we need to disable it */
117 u32 backup_imr; /* IMR saved during suspend */
118 int break_active; /* break being received */
120 bool use_dma_rx; /* enable DMA receiver */
121 bool use_pdc_rx; /* enable PDC receiver */
122 short pdc_rx_idx; /* current PDC RX buffer */
123 struct atmel_dma_buffer pdc_rx[2]; /* PDC receier */
125 bool use_dma_tx; /* enable DMA transmitter */
126 bool use_pdc_tx; /* enable PDC transmitter */
127 struct atmel_dma_buffer pdc_tx; /* PDC transmitter */
129 spinlock_t lock_tx; /* port lock */
130 spinlock_t lock_rx; /* port lock */
131 struct dma_chan *chan_tx;
132 struct dma_chan *chan_rx;
133 struct dma_async_tx_descriptor *desc_tx;
134 struct dma_async_tx_descriptor *desc_rx;
135 dma_cookie_t cookie_tx;
136 dma_cookie_t cookie_rx;
137 dma_addr_t tx_phys;
138 dma_addr_t rx_phys;
139 struct tasklet_struct tasklet_rx;
140 struct tasklet_struct tasklet_tx;
141 atomic_t tasklet_shutdown;
142 unsigned int irq_status_prev;
143 unsigned int tx_len;
145 struct circ_buf rx_ring;
147 struct mctrl_gpios *gpios;
148 u32 backup_mode; /* MR saved during iso7816 operations */
149 u32 backup_brgr; /* BRGR saved during iso7816 operations */
150 unsigned int tx_done_mask;
151 u32 fifo_size;
152 u32 rts_high;
153 u32 rts_low;
154 bool ms_irq_enabled;
155 u32 rtor; /* address of receiver timeout register if it exists */
156 bool is_usart;
157 bool has_frac_baudrate;
158 bool has_hw_timer;
159 struct timer_list uart_timer;
161 bool tx_stopped;
162 bool suspended;
163 unsigned int pending;
164 unsigned int pending_status;
165 spinlock_t lock_suspended;
167 bool hd_start_rx; /* can start RX during half-duplex operation */
192 static struct atmel_uart_port atmel_ports[ATMEL_MAX_UART]; argument