Lines Matching refs:ascport
394 struct asc_port *ascport = to_asc_port(port); in asc_set_mctrl() local
407 if (!ascport->rts) in asc_set_mctrl()
414 gpiod_set_value(ascport->rts, mctrl & TIOCM_RTS); in asc_set_mctrl()
480 struct asc_port *ascport = to_asc_port(port); in asc_pm() local
486 clk_prepare_enable(ascport->clk); in asc_pm()
498 clk_disable_unprepare(ascport->clk); in asc_pm()
506 struct asc_port *ascport = to_asc_port(port); in asc_set_termios() local
515 (ascport->hw_flow_control ? 0 : CRTSCTS)); in asc_set_termios()
517 port->uartclk = clk_get_rate(ascport->clk); in asc_set_termios()
559 if (ascport->rts) { in asc_set_termios()
560 devm_gpiod_put(port->dev, ascport->rts); in asc_set_termios()
561 ascport->rts = NULL; in asc_set_termios()
563 pinctrl_select_state(ascport->pinctrl, in asc_set_termios()
564 ascport->states[DEFAULT]); in asc_set_termios()
568 if (!ascport->rts && ascport->states[NO_HW_FLOWCTRL]) { in asc_set_termios()
569 pinctrl_select_state(ascport->pinctrl, in asc_set_termios()
570 ascport->states[NO_HW_FLOWCTRL]); in asc_set_termios()
576 ascport->rts = gpiod; in asc_set_termios()
581 if ((baud < 19200) && !ascport->force_m1) { in asc_set_termios()
602 ascport->port.read_status_mask = ASC_RXBUF_DUMMY_OE; in asc_set_termios()
604 ascport->port.read_status_mask |= ASC_RXBUF_FE | ASC_RXBUF_PE; in asc_set_termios()
606 ascport->port.read_status_mask |= ASC_RXBUF_DUMMY_BE; in asc_set_termios()
611 ascport->port.ignore_status_mask = 0; in asc_set_termios()
613 ascport->port.ignore_status_mask |= ASC_RXBUF_FE | ASC_RXBUF_PE; in asc_set_termios()
615 ascport->port.ignore_status_mask |= ASC_RXBUF_DUMMY_BE; in asc_set_termios()
621 ascport->port.ignore_status_mask |= ASC_RXBUF_DUMMY_OE; in asc_set_termios()
628 ascport->port.ignore_status_mask |= ASC_RXBUF_DUMMY_RX; in asc_set_termios()
718 static int asc_init_port(struct asc_port *ascport, in asc_init_port() argument
721 struct uart_port *port = &ascport->port; in asc_init_port()
741 ascport->clk = devm_clk_get(&pdev->dev, NULL); in asc_init_port()
743 if (WARN_ON(IS_ERR(ascport->clk))) in asc_init_port()
746 clk_prepare_enable(ascport->clk); in asc_init_port()
747 ascport->port.uartclk = clk_get_rate(ascport->clk); in asc_init_port()
748 WARN_ON(ascport->port.uartclk == 0); in asc_init_port()
749 clk_disable_unprepare(ascport->clk); in asc_init_port()
751 ascport->pinctrl = devm_pinctrl_get(&pdev->dev); in asc_init_port()
752 if (IS_ERR(ascport->pinctrl)) { in asc_init_port()
753 ret = PTR_ERR(ascport->pinctrl); in asc_init_port()
758 ascport->states[DEFAULT] = in asc_init_port()
759 pinctrl_lookup_state(ascport->pinctrl, "default"); in asc_init_port()
760 if (IS_ERR(ascport->states[DEFAULT])) { in asc_init_port()
761 ret = PTR_ERR(ascport->states[DEFAULT]); in asc_init_port()
768 ascport->states[NO_HW_FLOWCTRL] = in asc_init_port()
769 pinctrl_lookup_state(ascport->pinctrl, "no-hw-flowctrl"); in asc_init_port()
770 if (IS_ERR(ascport->states[NO_HW_FLOWCTRL])) in asc_init_port()
771 ascport->states[NO_HW_FLOWCTRL] = NULL; in asc_init_port()
815 struct asc_port *ascport; in asc_serial_probe() local
817 ascport = asc_of_get_asc_port(pdev); in asc_serial_probe()
818 if (!ascport) in asc_serial_probe()
821 ret = asc_init_port(ascport, pdev); in asc_serial_probe()
825 ret = uart_add_one_port(&asc_uart_driver, &ascport->port); in asc_serial_probe()
829 platform_set_drvdata(pdev, &ascport->port); in asc_serial_probe()
913 struct asc_port *ascport; in asc_console_setup() local
922 ascport = &asc_ports[co->index]; in asc_console_setup()
930 if (ascport->port.mapbase == 0 || ascport->port.membase == NULL) in asc_console_setup()
936 return uart_set_options(&ascport->port, co, baud, parity, bits, flow); in asc_console_setup()