Lines Matching refs:serial

83 	struct rt_at91serial* serial = (struct rt_at91serial*)param;  in rt_hw_serial_isr()  local
85 RT_ASSERT(serial != RT_NULL); in rt_hw_serial_isr()
88 device = (rt_device_t)serial; in rt_hw_serial_isr()
94 serial->rx_buffer[serial->save_index] = serial->hw_base->US_RHR; in rt_hw_serial_isr()
97 serial->save_index ++; in rt_hw_serial_isr()
98 if (serial->save_index >= RT_UART_RX_BUFFER_SIZE) in rt_hw_serial_isr()
99 serial->save_index = 0; in rt_hw_serial_isr()
102 if (serial->save_index == serial->read_index) in rt_hw_serial_isr()
104 serial->read_index ++; in rt_hw_serial_isr()
105 if (serial->read_index >= RT_UART_RX_BUFFER_SIZE) in rt_hw_serial_isr()
106 serial->read_index = 0; in rt_hw_serial_isr()
123 struct rt_at91serial* serial = (struct rt_at91serial*) dev; in rt_serial_init() local
125 RT_ASSERT(serial != RT_NULL); in rt_serial_init()
127 RT_ASSERT((serial->peripheral_id == AT91C_ID_US0) || in rt_serial_init()
128 (serial->peripheral_id == AT91C_ID_US1)); in rt_serial_init()
131 AT91C_PMC_PCER = 1 << serial->peripheral_id; in rt_serial_init()
134 if (serial->peripheral_id == AT91C_ID_US0) in rt_serial_init()
140 else if (serial->peripheral_id == AT91C_ID_US1) in rt_serial_init()
147 serial->hw_base->US_CR = AT91C_US_RSTRX | /* Reset Receiver */ in rt_serial_init()
152 serial->hw_base->US_MR = AT91C_US_USMODE_NORMAL | /* Normal Mode */ in rt_serial_init()
159 bd = ((MCK*10)/(serial->baudrate * 16)); in rt_serial_init()
163 serial->hw_base->US_BRGR = bd; in rt_serial_init()
164 serial->hw_base->US_CR = AT91C_US_RXEN | /* Receiver Enable */ in rt_serial_init()
168 serial->save_index = 0; in rt_serial_init()
169 serial->read_index = 0; in rt_serial_init()
172 rt_memset(serial->rx_buffer, 0, RT_UART_RX_BUFFER_SIZE); in rt_serial_init()
179 struct rt_at91serial *serial = (struct rt_at91serial*)dev; in rt_serial_open() local
180 RT_ASSERT(serial != RT_NULL); in rt_serial_open()
185 serial->hw_base->US_IER = 1 << 0; /* RxReady interrupt */ in rt_serial_open()
190 rt_hw_interrupt_install(serial->peripheral_id, rt_hw_serial_isr, serial, "uart"); in rt_serial_open()
194 AT91C_AIC_SMR(serial->peripheral_id) = 5; in rt_serial_open()
195 rt_hw_interrupt_umask(serial->peripheral_id); in rt_serial_open()
203 struct rt_at91serial *serial = (struct rt_at91serial*)dev; in rt_serial_close() local
204 RT_ASSERT(serial != RT_NULL); in rt_serial_close()
209 serial->hw_base->US_IDR = 1 << 0; /* RxReady interrupt */ in rt_serial_close()
213 serial->hw_base->US_CR = AT91C_US_RSTRX | /* Reset Receiver */ in rt_serial_close()
224 struct rt_at91serial *serial = (struct rt_at91serial*)dev; in rt_serial_read() local
225 RT_ASSERT(serial != RT_NULL); in rt_serial_read()
239 if (serial->read_index != serial->save_index) in rt_serial_read()
241 *ptr = serial->rx_buffer[serial->read_index]; in rt_serial_read()
243 serial->read_index ++; in rt_serial_read()
244 if (serial->read_index >= RT_UART_RX_BUFFER_SIZE) in rt_serial_read()
245 serial->read_index = 0; in rt_serial_read()
276 while (!(serial->hw_base->US_CSR & AT91C_US_RXRDY)); in rt_serial_read()
279 *ptr = serial->hw_base->US_RHR; in rt_serial_read()
293 struct rt_at91serial *serial = (struct rt_at91serial*)dev; in rt_serial_write() local
294 RT_ASSERT(serial != RT_NULL); in rt_serial_write()
307 while (!(serial->hw_base->US_CSR & AT91C_US_TXRDY)); in rt_serial_write()
308 serial->hw_base->US_THR = '\r'; in rt_serial_write()
312 while (!(serial->hw_base->US_CSR & AT91C_US_TXRDY)); in rt_serial_write()
315 serial->hw_base->US_THR = *ptr; in rt_serial_write()
325 while (!(serial->hw_base->US_CSR & AT91C_US_TXRDY)); in rt_serial_write()
328 serial->hw_base->US_THR = *ptr; in rt_serial_write()