H A D | sirfsoc_uart.c | 116 struct sirfsoc_register *ureg = &sirfport->uart_reg->uart_reg; sirfsoc_uart_tx_empty() local 118 reg = rd_regl(port, ureg->sirfsoc_tx_fifo_status); sirfsoc_uart_tx_empty() 126 struct sirfsoc_register *ureg = &sirfport->uart_reg->uart_reg; sirfsoc_uart_get_mctrl() local 130 if (!(rd_regl(port, ureg->sirfsoc_afc_ctrl) & sirfsoc_uart_get_mctrl() 150 struct sirfsoc_register *ureg = &sirfport->uart_reg->uart_reg; sirfsoc_uart_set_mctrl() local 158 current_val = rd_regl(port, ureg->sirfsoc_afc_ctrl) & ~0xFF; sirfsoc_uart_set_mctrl() 160 wr_regl(port, ureg->sirfsoc_afc_ctrl, val); sirfsoc_uart_set_mctrl() 172 struct sirfsoc_register *ureg = &sirfport->uart_reg->uart_reg; sirfsoc_uart_stop_tx() local 181 wr_regl(port, ureg->sirfsoc_int_en_reg, sirfsoc_uart_stop_tx() 182 rd_regl(port, ureg->sirfsoc_int_en_reg) & sirfsoc_uart_stop_tx() 190 wr_regl(port, ureg->sirfsoc_int_en_reg, sirfsoc_uart_stop_tx() 191 rd_regl(port, ureg->sirfsoc_int_en_reg) & sirfsoc_uart_stop_tx() 202 struct sirfsoc_register *ureg = &sirfport->uart_reg->uart_reg; sirfsoc_uart_tx_with_dma() local 221 wr_regl(port, ureg->sirfsoc_int_en_reg, sirfsoc_uart_tx_with_dma() 222 rd_regl(port, ureg->sirfsoc_int_en_reg)& sirfsoc_uart_tx_with_dma() 236 wr_regl(port, ureg->sirfsoc_tx_fifo_op, SIRFUART_FIFO_STOP); sirfsoc_uart_tx_with_dma() 237 wr_regl(port, ureg->sirfsoc_tx_dma_io_ctrl, sirfsoc_uart_tx_with_dma() 238 rd_regl(port, ureg->sirfsoc_tx_dma_io_ctrl)| sirfsoc_uart_tx_with_dma() 248 wr_regl(port, ureg->sirfsoc_int_en_reg, sirfsoc_uart_tx_with_dma() 249 rd_regl(port, ureg->sirfsoc_int_en_reg)| sirfsoc_uart_tx_with_dma() 252 wr_regl(port, ureg->sirfsoc_int_en_reg, sirfsoc_uart_tx_with_dma() 254 wr_regl(port, ureg->sirfsoc_tx_fifo_op, SIRFUART_FIFO_START); sirfsoc_uart_tx_with_dma() 257 wr_regl(port, ureg->sirfsoc_tx_fifo_op, SIRFUART_FIFO_STOP); sirfsoc_uart_tx_with_dma() 258 wr_regl(port, ureg->sirfsoc_tx_dma_io_ctrl, sirfsoc_uart_tx_with_dma() 259 rd_regl(port, ureg->sirfsoc_tx_dma_io_ctrl)& sirfsoc_uart_tx_with_dma() 261 wr_regl(port, ureg->sirfsoc_tx_fifo_op, SIRFUART_FIFO_START); sirfsoc_uart_tx_with_dma() 288 struct sirfsoc_register *ureg = &sirfport->uart_reg->uart_reg; sirfsoc_uart_start_tx() local 295 wr_regl(port, ureg->sirfsoc_tx_fifo_op, SIRFUART_FIFO_START); sirfsoc_uart_start_tx() 297 wr_regl(port, ureg->sirfsoc_int_en_reg, sirfsoc_uart_start_tx() 298 rd_regl(port, ureg->sirfsoc_int_en_reg)| sirfsoc_uart_start_tx() 301 wr_regl(port, ureg->sirfsoc_int_en_reg, sirfsoc_uart_start_tx() 309 struct sirfsoc_register *ureg = &sirfport->uart_reg->uart_reg; sirfsoc_uart_stop_rx() local 312 wr_regl(port, ureg->sirfsoc_rx_fifo_op, 0); sirfsoc_uart_stop_rx() 315 wr_regl(port, ureg->sirfsoc_int_en_reg, sirfsoc_uart_stop_rx() 316 rd_regl(port, ureg->sirfsoc_int_en_reg) & sirfsoc_uart_stop_rx() 326 wr_regl(port, ureg->sirfsoc_int_en_reg, sirfsoc_uart_stop_rx() 327 rd_regl(port, ureg->sirfsoc_int_en_reg)& sirfsoc_uart_stop_rx() 338 struct sirfsoc_register *ureg = &sirfport->uart_reg->uart_reg; sirfsoc_uart_disable_ms() local 345 wr_regl(port, ureg->sirfsoc_afc_ctrl, sirfsoc_uart_disable_ms() 346 rd_regl(port, ureg->sirfsoc_afc_ctrl) & ~0x3FF); sirfsoc_uart_disable_ms() 348 wr_regl(port, ureg->sirfsoc_int_en_reg, sirfsoc_uart_disable_ms() 349 rd_regl(port, ureg->sirfsoc_int_en_reg)& sirfsoc_uart_disable_ms() 373 struct sirfsoc_register *ureg = &sirfport->uart_reg->uart_reg; sirfsoc_uart_enable_ms() local 380 wr_regl(port, ureg->sirfsoc_afc_ctrl, sirfsoc_uart_enable_ms() 381 rd_regl(port, ureg->sirfsoc_afc_ctrl) | sirfsoc_uart_enable_ms() 384 wr_regl(port, ureg->sirfsoc_int_en_reg, sirfsoc_uart_enable_ms() 385 rd_regl(port, ureg->sirfsoc_int_en_reg) sirfsoc_uart_enable_ms() 388 wr_regl(port, ureg->sirfsoc_int_en_reg, sirfsoc_uart_enable_ms() 397 struct sirfsoc_register *ureg = &sirfport->uart_reg->uart_reg; sirfsoc_uart_break_ctl() local 399 unsigned long ulcon = rd_regl(port, ureg->sirfsoc_line_ctrl); sirfsoc_uart_break_ctl() 404 wr_regl(port, ureg->sirfsoc_line_ctrl, ulcon); sirfsoc_uart_break_ctl() 412 struct sirfsoc_register *ureg = &sirfport->uart_reg->uart_reg; sirfsoc_uart_pio_rx_chars() local 419 while (!(rd_regl(port, ureg->sirfsoc_rx_fifo_status) & sirfsoc_uart_pio_rx_chars() 421 ch = rd_regl(port, ureg->sirfsoc_rx_fifo_data) | sirfsoc_uart_pio_rx_chars() 441 struct sirfsoc_register *ureg = &sirfport->uart_reg->uart_reg; sirfsoc_uart_pio_tx_chars() local 446 !(rd_regl(port, ureg->sirfsoc_tx_fifo_status) & sirfsoc_uart_pio_tx_chars() 449 wr_regl(port, ureg->sirfsoc_tx_fifo_data, sirfsoc_uart_pio_tx_chars() 519 struct sirfsoc_register *ureg = &sirfport->uart_reg->uart_reg; sirfsoc_rx_tmo_process_tl() local 539 wr_regl(port, ureg->sirfsoc_rx_dma_io_ctrl, sirfsoc_rx_tmo_process_tl() 540 rd_regl(port, ureg->sirfsoc_rx_dma_io_ctrl) | sirfsoc_rx_tmo_process_tl() 545 wr_regl(port, ureg->sirfsoc_int_st_reg, sirfsoc_rx_tmo_process_tl() 548 wr_regl(port, ureg->sirfsoc_int_en_reg, sirfsoc_rx_tmo_process_tl() 549 rd_regl(port, ureg->sirfsoc_int_en_reg) & sirfsoc_rx_tmo_process_tl() 556 wr_regl(port, ureg->sirfsoc_int_st_reg, sirfsoc_rx_tmo_process_tl() 559 wr_regl(port, ureg->sirfsoc_int_en_reg, sirfsoc_rx_tmo_process_tl() 560 rd_regl(port, ureg->sirfsoc_int_en_reg) | sirfsoc_rx_tmo_process_tl() 563 wr_regl(port, ureg->sirfsoc_int_en_reg, sirfsoc_rx_tmo_process_tl() 573 struct sirfsoc_register *ureg = &sirfport->uart_reg->uart_reg; sirfsoc_uart_handle_rx_tmo() local 582 wr_regl(port, ureg->sirfsoc_int_en_reg, sirfsoc_uart_handle_rx_tmo() 583 rd_regl(port, ureg->sirfsoc_int_en_reg) & sirfsoc_uart_handle_rx_tmo() 594 struct sirfsoc_register *ureg = &sirfport->uart_reg->uart_reg; sirfsoc_uart_handle_rx_done() local 602 wr_regl(port, ureg->sirfsoc_int_en_reg, sirfsoc_uart_handle_rx_done() 603 rd_regl(port, ureg->sirfsoc_int_en_reg) & sirfsoc_uart_handle_rx_done() 608 wr_regl(port, ureg->sirfsoc_int_st_reg, sirfsoc_uart_handle_rx_done() 621 struct sirfsoc_register *ureg = &sirfport->uart_reg->uart_reg; sirfsoc_uart_isr() local 628 intr_status = rd_regl(port, ureg->sirfsoc_int_st_reg); sirfsoc_uart_isr() 629 wr_regl(port, ureg->sirfsoc_int_st_reg, intr_status); sirfsoc_uart_isr() 630 intr_status &= rd_regl(port, ureg->sirfsoc_int_en_reg); sirfsoc_uart_isr() 645 wr_regl(port, ureg->sirfsoc_rx_fifo_op, SIRFUART_FIFO_RESET); sirfsoc_uart_isr() 646 wr_regl(port, ureg->sirfsoc_rx_fifo_op, 0); sirfsoc_uart_isr() 647 wr_regl(port, ureg->sirfsoc_rx_fifo_op, SIRFUART_FIFO_START); sirfsoc_uart_isr() 656 cts_status = rd_regl(port, ureg->sirfsoc_afc_ctrl) & sirfsoc_uart_isr() 689 (rd_regl(port, ureg->sirfsoc_tx_fifo_status) & sirfsoc_uart_isr() 704 struct sirfsoc_register *ureg = &sirfport->uart_reg->uart_reg; sirfsoc_uart_rx_dma_complete_tl() local 713 if (rd_regl(port, ureg->sirfsoc_int_en_reg) & sirfsoc_uart_rx_dma_complete_tl() 741 struct sirfsoc_register *ureg = &sirfport->uart_reg->uart_reg; sirfsoc_uart_start_next_rx_dma() local 745 wr_regl(port, ureg->sirfsoc_rx_dma_io_ctrl, sirfsoc_uart_start_next_rx_dma() 746 rd_regl(port, ureg->sirfsoc_rx_dma_io_ctrl) & sirfsoc_uart_start_next_rx_dma() 752 wr_regl(port, ureg->sirfsoc_int_en_reg, sirfsoc_uart_start_next_rx_dma() 753 rd_regl(port, ureg->sirfsoc_int_en_reg) | sirfsoc_uart_start_next_rx_dma() 756 wr_regl(port, ureg->sirfsoc_int_en_reg, sirfsoc_uart_start_next_rx_dma() 763 struct sirfsoc_register *ureg = &sirfport->uart_reg->uart_reg; sirfsoc_uart_start_rx() local 767 wr_regl(port, ureg->sirfsoc_rx_fifo_op, SIRFUART_FIFO_RESET); sirfsoc_uart_start_rx() 768 wr_regl(port, ureg->sirfsoc_rx_fifo_op, 0); sirfsoc_uart_start_rx() 769 wr_regl(port, ureg->sirfsoc_rx_fifo_op, SIRFUART_FIFO_START); sirfsoc_uart_start_rx() 774 wr_regl(port, ureg->sirfsoc_int_en_reg, sirfsoc_uart_start_rx() 775 rd_regl(port, ureg->sirfsoc_int_en_reg) | sirfsoc_uart_start_rx() 778 wr_regl(port, ureg->sirfsoc_int_en_reg, sirfsoc_uart_start_rx() 849 struct sirfsoc_register *ureg = &sirfport->uart_reg->uart_reg; sirfsoc_uart_set_termios() local 955 wr_regl(port, ureg->sirfsoc_divisor, clk_div_reg); sirfsoc_uart_set_termios() 967 wr_regl(port, ureg->sirfsoc_mode2, len_val); sirfsoc_uart_set_termios() 974 txfifo_op_reg = rd_regl(port, ureg->sirfsoc_tx_fifo_op); sirfsoc_uart_set_termios() 975 wr_regl(port, ureg->sirfsoc_rx_fifo_op, SIRFUART_FIFO_STOP); sirfsoc_uart_set_termios() 976 wr_regl(port, ureg->sirfsoc_tx_fifo_op, sirfsoc_uart_set_termios() 980 wr_regl(port, ureg->sirfsoc_line_ctrl, config_reg); sirfsoc_uart_set_termios() 990 wr_regl(port, ureg->sirfsoc_tx_frame_ctrl, len_val); sirfsoc_uart_set_termios() 999 wr_regl(port, ureg->sirfsoc_rx_frame_ctrl, len_val); sirfsoc_uart_set_termios() 1001 wr_regl(port, ureg->sirfsoc_async_param_reg, sirfsoc_uart_set_termios() 1007 wr_regl(port, ureg->sirfsoc_tx_dma_io_ctrl, SIRFUART_DMA_MODE); sirfsoc_uart_set_termios() 1009 wr_regl(port, ureg->sirfsoc_tx_dma_io_ctrl, SIRFUART_IO_MODE); sirfsoc_uart_set_termios() 1011 wr_regl(port, ureg->sirfsoc_rx_dma_io_ctrl, SIRFUART_DMA_MODE); sirfsoc_uart_set_termios() 1013 wr_regl(port, ureg->sirfsoc_rx_dma_io_ctrl, SIRFUART_IO_MODE); sirfsoc_uart_set_termios() 1019 wr_regl(port, ureg->sirfsoc_tx_fifo_ctrl, sirfsoc_uart_set_termios() 1021 wr_regl(port, ureg->sirfsoc_rx_fifo_ctrl, sirfsoc_uart_set_termios() 1024 wr_regl(port, ureg->sirfsoc_tx_fifo_op, txfifo_op_reg); sirfsoc_uart_set_termios() 1027 wr_regl(port, ureg->sirfsoc_tx_rx_en, SIRFUART_TX_EN | SIRFUART_RX_EN); sirfsoc_uart_set_termios() 1053 struct sirfsoc_register *ureg = &sirfport->uart_reg->uart_reg; sirfsoc_uart_startup() local 1069 wr_regl(port, ureg->sirfsoc_tx_dma_io_ctrl, sirfsoc_uart_startup() 1070 rd_regl(port, ureg->sirfsoc_tx_dma_io_ctrl) | sirfsoc_uart_startup() 1072 wr_regl(port, ureg->sirfsoc_rx_dma_io_ctrl, sirfsoc_uart_startup() 1073 rd_regl(port, ureg->sirfsoc_rx_dma_io_ctrl) | sirfsoc_uart_startup() 1075 wr_regl(port, ureg->sirfsoc_tx_dma_io_len, 0); sirfsoc_uart_startup() 1076 wr_regl(port, ureg->sirfsoc_rx_dma_io_len, 0); sirfsoc_uart_startup() 1077 wr_regl(port, ureg->sirfsoc_tx_rx_en, SIRFUART_RX_EN | SIRFUART_TX_EN); sirfsoc_uart_startup() 1079 wr_regl(port, ureg->sirfsoc_mode1, sirfsoc_uart_startup() 1082 wr_regl(port, ureg->sirfsoc_tx_fifo_op, SIRFUART_FIFO_RESET); sirfsoc_uart_startup() 1083 wr_regl(port, ureg->sirfsoc_tx_fifo_op, 0); sirfsoc_uart_startup() 1084 wr_regl(port, ureg->sirfsoc_rx_fifo_op, SIRFUART_FIFO_RESET); sirfsoc_uart_startup() 1085 wr_regl(port, ureg->sirfsoc_rx_fifo_op, 0); sirfsoc_uart_startup() 1086 wr_regl(port, ureg->sirfsoc_tx_fifo_ctrl, SIRFUART_FIFO_THD(port)); sirfsoc_uart_startup() 1087 wr_regl(port, ureg->sirfsoc_rx_fifo_ctrl, SIRFUART_FIFO_THD(port)); sirfsoc_uart_startup() 1089 wr_regl(port, ureg->sirfsoc_rx_fifo_level_chk, sirfsoc_uart_startup() 1095 wr_regl(port, ureg->sirfsoc_tx_fifo_level_chk, sirfsoc_uart_startup() 1126 struct sirfsoc_register *ureg = &sirfport->uart_reg->uart_reg; sirfsoc_uart_shutdown() local 1128 wr_regl(port, ureg->sirfsoc_int_en_reg, 0); sirfsoc_uart_shutdown() 1201 struct sirfsoc_register *ureg = &sirfport->uart_reg->uart_reg; sirfsoc_uart_console_setup() local 1210 wr_regl(port, ureg->sirfsoc_mode1, SIRFSOC_USP_EN | sirfsoc_uart_console_setup() 1225 struct sirfsoc_register *ureg = &sirfport->uart_reg->uart_reg; sirfsoc_uart_console_putchar() local 1228 ureg->sirfsoc_tx_fifo_status) & ufifo_st->ff_full(port->line)) sirfsoc_uart_console_putchar() 1230 wr_regl(port, ureg->sirfsoc_tx_fifo_data, ch); sirfsoc_uart_console_putchar()
|