Lines Matching refs:uart

97     struct ft32_uart *uart;  in ft32_configure()  local
101 uart = rt_container_of(serial, struct ft32_uart, serial); in ft32_configure()
102 uart->Init.USART_BaudRate = cfg->baud_rate; in ft32_configure()
103 uart->Init.USART_Mode = USART_Mode_Tx | USART_Mode_Rx; in ft32_configure()
108 uart->Init.USART_HardwareFlowControl = USART_HardwareFlowControl_None; in ft32_configure()
111 uart->Init.USART_HardwareFlowControl = USART_HardwareFlowControl_RTS_CTS; in ft32_configure()
114 uart->Init.USART_HardwareFlowControl = USART_HardwareFlowControl_None; in ft32_configure()
122 uart->Init.USART_WordLength = USART_WordLength_9b; in ft32_configure()
124 uart->Init.USART_WordLength = USART_WordLength_8b; in ft32_configure()
127 uart->Init.USART_WordLength = USART_WordLength_9b; in ft32_configure()
130 uart->Init.USART_WordLength = USART_WordLength_8b; in ft32_configure()
137 uart->Init.USART_StopBits = USART_StopBits_1; in ft32_configure()
140 uart->Init.USART_StopBits = USART_StopBits_2; in ft32_configure()
143 uart->Init.USART_StopBits = USART_StopBits_1; in ft32_configure()
150 uart->Init.USART_Parity = USART_Parity_No; in ft32_configure()
153 uart->Init.USART_Parity = USART_Parity_Odd; in ft32_configure()
156 uart->Init.USART_Parity = USART_Parity_Even; in ft32_configure()
159 uart->Init.USART_Parity = USART_Parity_No; in ft32_configure()
164 uart->dma_rx.last_index = 0; in ft32_configure()
166 UART_MspInit(uart->config->Instance); in ft32_configure()
167 USART_Init(uart->config->Instance, &(uart->Init)); in ft32_configure()
168 USART_Cmd(uart->config->Instance, ENABLE); in ft32_configure()
174 struct ft32_uart *uart; in ft32_control() local
180 uart = rt_container_of(serial, struct ft32_uart, serial); in ft32_control()
187 NVIC_DisableIRQ(uart->config->irq_type); in ft32_control()
189 USART_ITConfig(uart->config->Instance, USART_IT_RXNE, DISABLE); in ft32_control()
195 NVIC_DisableIRQ(uart->config->dma_rx->dma_irq); in ft32_control()
196 DMA_DeInit(uart->dma_rx.Instance); in ft32_control()
200 NVIC_DisableIRQ(uart->config->dma_tx->dma_irq); in ft32_control()
201 DMA_DeInit(uart->dma_rx.Instance); in ft32_control()
209 NVIC_SetPriority(uart->config->irq_type, 1); in ft32_control()
210 NVIC_EnableIRQ(uart->config->irq_type); in ft32_control()
212 USART_ITConfig(uart->config->Instance, USART_IT_RXNE, ENABLE); in ft32_control()
222 USART_DeInit(uart->config->Instance); in ft32_control()
275 struct ft32_uart *uart; in ft32_putc() local
278 uart = rt_container_of(serial, struct ft32_uart, serial); in ft32_putc()
279 UART_INSTANCE_CLEAR_FUNCTION(uart->config->Instance, USART_FLAG_TC); in ft32_putc()
281 uart->config->Instance->TDR = c; in ft32_putc()
283 uart->config->Instance->DR = c; in ft32_putc()
285 while (USART_GetFlagStatus(uart->config->Instance, USART_FLAG_TC) == RESET); in ft32_putc()
292 struct ft32_uart *uart; in ft32_getc() local
294 uart = rt_container_of(serial, struct ft32_uart, serial); in ft32_getc()
297 if (USART_GetFlagStatus(uart->config->Instance, USART_FLAG_RXNE) != RESET) in ft32_getc()
300 …ch = uart->config->Instance->RDR & ft32_uart_get_mask(uart->Init.USART_WordLength, uart->Init.USAR… in ft32_getc()
302 …ch = uart->config->Instance->DR & ft32_uart_get_mask(uart->Init.USART_WordLength, uart->Init.USART… in ft32_getc()
331 struct ft32_uart *uart; in uart_isr() local
338 uart = rt_container_of(serial, struct ft32_uart, serial); in uart_isr()
341 if (USART_GetFlagStatus(uart->config->Instance, USART_FLAG_RXNE) != RESET) in uart_isr()
346 …else if ((uart->uart_dma_flag) && (USART_GetFlagStatus(uart->config->Instance, USART_FLAG_RXNE) !=… in uart_isr()
349 recv_total_index = serial->config.bufsz - DMA_GetCurrDataCounter(&(uart->dma_rx.Instance)); in uart_isr()
350 recv_len = recv_total_index - uart->dma_rx.last_index; in uart_isr()
351 uart->dma_rx.last_index = recv_total_index; in uart_isr()
358 USART_ClearFlag(uart->config->Instance, USART_IT_IDLE); in uart_isr()
360 else if (USART_GetFlagStatus(uart->config->Instance, USART_FLAG_TC) != RESET) in uart_isr()
366 UART_INSTANCE_CLEAR_FUNCTION(uart->config->Instance, USART_FLAG_TC); in uart_isr()
371 if (USART_GetFlagStatus(uart->config->Instance, USART_FLAG_ORE) != RESET) in uart_isr()
373 USART_ClearFlag(uart->config->Instance, USART_FLAG_ORE); in uart_isr()
375 if (USART_GetFlagStatus(uart->config->Instance, USART_FLAG_NE) != RESET) in uart_isr()
377 USART_ClearFlag(uart->config->Instance, USART_FLAG_NE); in uart_isr()
379 if (USART_GetFlagStatus(uart->config->Instance, USART_FLAG_FE) != RESET) in uart_isr()
381 USART_ClearFlag(uart->config->Instance, USART_FLAG_FE); in uart_isr()
383 if (USART_GetFlagStatus(uart->config->Instance, USART_FLAG_PE) != RESET) in uart_isr()
385 USART_ClearFlag(uart->config->Instance, USART_FLAG_PE); in uart_isr()
388 if (USART_GetFlagStatus(uart->config->Instance, USART_FLAG_LBD) != RESET) in uart_isr()
390 UART_INSTANCE_CLEAR_FUNCTION(uart->config->Instance, USART_FLAG_LBD); in uart_isr()
393 if (USART_GetFlagStatus(uart->config->Instance, USART_FLAG_CTS) != RESET) in uart_isr()
395 UART_INSTANCE_CLEAR_FUNCTION(uart->config->Instance, USART_FLAG_CTS); in uart_isr()
397 if (USART_GetFlagStatus(uart->config->Instance, USART_FLAG_TXE) != RESET) in uart_isr()
399 UART_INSTANCE_CLEAR_FUNCTION(uart->config->Instance, USART_FLAG_TXE); in uart_isr()
401 if (USART_GetFlagStatus(uart->config->Instance, USART_FLAG_TC) != RESET) in uart_isr()
403 UART_INSTANCE_CLEAR_FUNCTION(uart->config->Instance, USART_FLAG_TC); in uart_isr()
405 if (USART_GetFlagStatus(uart->config->Instance, USART_FLAG_RXNE) != RESET) in uart_isr()
407 UART_INSTANCE_CLEAR_FUNCTION(uart->config->Instance, USART_FLAG_RXNE); in uart_isr()
415 struct ft32_uart *uart; in dma_isr() local
420 uart = rt_container_of(serial, struct ft32_uart, serial); in dma_isr()
422 if ((DMA_GetITStatus(uart->dma_rx.Instance, DMA_IT_TC) != RESET) || in dma_isr()
423 (DMA_GetITStatus(uart->dma_rx.Instance, DMA_IT_HT) != RESET)) in dma_isr()
426 recv_total_index = serial->config.bufsz - DMA_GetCurrDataCounter(uart->dma_rx.Instance); in dma_isr()
429 recv_len = serial->config.bufsz - uart->dma_rx.last_index; in dma_isr()
433 recv_len = recv_total_index - uart->dma_rx.last_index; in dma_isr()
435 uart->dma_rx.last_index = recv_total_index; in dma_isr()
559 struct ft32_uart *uart; in ft32_dma_config() local
563 uart = rt_container_of(serial, struct ft32_uart, serial); in ft32_dma_config()
567 Init = &uart->dma_rx.Init; in ft32_dma_config()
568 dma_config = uart->config->dma_rx; in ft32_dma_config()
572 Init = &uart->dma_tx.Init; in ft32_dma_config()
573 dma_config = uart->config->dma_tx; in ft32_dma_config()
575 LOG_D("%s dma config start", uart->config->name); in ft32_dma_config()
620 UART_Receive_DMA(uart->config->Instance, rx_fifo->buffer, serial->config.bufsz); in ft32_dma_config()
621 CLEAR_BIT(uart->handle.Instance->CR3, USART_CR3_EIE); in ft32_dma_config()
622 USART_ITConfig(uart->config->Instance, USART_IT_IDLE, ENABLE); in ft32_dma_config()
629 NVIC_SetPriority(uart->config->irq_type, 1, 0); in ft32_dma_config()
630 NVIC_EnableIRQ(uart->config->irq_type); in ft32_dma_config()
632 …LOG_D("%s dma %s instance: %x", uart->config->name, flag == RT_DEVICE_FLAG_DMA_RX ? "RX" : "TX", D… in ft32_dma_config()
633 LOG_D("%s dma config done", uart->config->name); in ft32_dma_config()
638 struct ft32_uart *uart; in _dma_tx_complete() local
643 uart = rt_container_of(serial, struct ft32_uart, serial); in _dma_tx_complete()
646 trans_total_index = DMA_GetCurrDataCounter(uart->dma_tx.Instance); in _dma_tx_complete()