Lines Matching refs:port

27 static int scif_rxfill(struct uart_port *port)  in scif_rxfill()  argument
29 return sci_in(port, SCRFDR) & 0xff; in scif_rxfill()
32 static int scif_rxfill(struct uart_port *port) in scif_rxfill() argument
34 if ((port->mapbase == 0xffe00000) || in scif_rxfill()
35 (port->mapbase == 0xffe08000)) { in scif_rxfill()
37 return sci_in(port, SCRFDR) & 0xff; in scif_rxfill()
40 return sci_in(port, SCFDR) & SCIF2_RFDC_MASK; in scif_rxfill()
44 static int scif_rxfill(struct uart_port *port) in scif_rxfill() argument
46 if (port->type == PORT_SCIFA) in scif_rxfill()
47 return sci_in(port, SCFDR) & SCIF_RFDC_MASK; in scif_rxfill()
49 return sci_in(port, SCRFDR); in scif_rxfill()
52 static int scif_rxfill(struct uart_port *port) in scif_rxfill() argument
54 return sci_in(port, SCFDR) & SCIF_RFDC_MASK; in scif_rxfill()
58 static void sh_serial_init_generic(struct uart_port *port) in sh_serial_init_generic() argument
60 sci_out(port, SCSCR , SCSCR_INIT(port)); in sh_serial_init_generic()
61 sci_out(port, SCSCR , SCSCR_INIT(port)); in sh_serial_init_generic()
62 sci_out(port, SCSMR, 0); in sh_serial_init_generic()
63 sci_out(port, SCSMR, 0); in sh_serial_init_generic()
64 sci_out(port, SCFCR, SCFCR_RFRST|SCFCR_TFRST); in sh_serial_init_generic()
65 sci_in(port, SCFCR); in sh_serial_init_generic()
66 sci_out(port, SCFCR, 0); in sh_serial_init_generic()
70 sh_serial_setbrg_generic(struct uart_port *port, int clk, int baudrate) in sh_serial_setbrg_generic() argument
72 if (port->clk_mode == EXT_CLK) { in sh_serial_setbrg_generic()
74 sci_out(port, DL, dl); in sh_serial_setbrg_generic()
78 sci_out(port, SCBRR, SCBRR_VALUE(baudrate, clk)); in sh_serial_setbrg_generic()
82 static void handle_error(struct uart_port *port) in handle_error() argument
84 sci_in(port, SCxSR); in handle_error()
85 sci_out(port, SCxSR, SCxSR_ERROR_CLEAR(port)); in handle_error()
86 sci_in(port, SCLSR); in handle_error()
87 sci_out(port, SCLSR, 0x00); in handle_error()
90 static int serial_raw_putc(struct uart_port *port, const char c) in serial_raw_putc() argument
93 if (!(sci_in(port, SCxSR) & SCxSR_TEND(port))) in serial_raw_putc()
96 sci_out(port, SCxTDR, c); in serial_raw_putc()
97 sci_out(port, SCxSR, sci_in(port, SCxSR) & ~SCxSR_TEND(port)); in serial_raw_putc()
102 static int serial_rx_fifo_level(struct uart_port *port) in serial_rx_fifo_level() argument
104 return scif_rxfill(port); in serial_rx_fifo_level()
107 static int sh_serial_tstc_generic(struct uart_port *port) in sh_serial_tstc_generic() argument
109 if (sci_in(port, SCxSR) & SCIF_ERRORS) { in sh_serial_tstc_generic()
110 handle_error(port); in sh_serial_tstc_generic()
114 return serial_rx_fifo_level(port) ? 1 : 0; in sh_serial_tstc_generic()
117 static int serial_getc_check(struct uart_port *port) in serial_getc_check() argument
121 status = sci_in(port, SCxSR); in serial_getc_check()
124 handle_error(port); in serial_getc_check()
125 if (sci_in(port, SCLSR) & SCxSR_ORER(port)) in serial_getc_check()
126 handle_error(port); in serial_getc_check()
127 return status & (SCIF_DR | SCxSR_RDxF(port)); in serial_getc_check()
130 static int sh_serial_getc_generic(struct uart_port *port) in sh_serial_getc_generic() argument
135 if (!serial_getc_check(port)) in sh_serial_getc_generic()
138 ch = sci_in(port, SCxRDR); in sh_serial_getc_generic()
139 status = sci_in(port, SCxSR); in sh_serial_getc_generic()
141 sci_out(port, SCxSR, SCxSR_RDxF_CLEAR(port)); in sh_serial_getc_generic()
144 handle_error(port); in sh_serial_getc_generic()
146 if (sci_in(port, SCLSR) & SCxSR_ORER(port)) in sh_serial_getc_generic()
147 handle_error(port); in sh_serial_getc_generic()
294 struct uart_port *port = &sh_sci; in sh_serial_setbrg() local
296 sh_serial_setbrg_generic(port, CONFIG_SH_SCIF_CLK_FREQ, gd->baudrate); in sh_serial_setbrg()
301 struct uart_port *port = &sh_sci; in sh_serial_init() local
303 sh_serial_init_generic(port); in sh_serial_init()
311 struct uart_port *port = &sh_sci; in sh_serial_putc() local
315 if (serial_raw_putc(port, '\r') != -EAGAIN) in sh_serial_putc()
320 if (serial_raw_putc(port, c) != -EAGAIN) in sh_serial_putc()
327 struct uart_port *port = &sh_sci; in sh_serial_tstc() local
329 return sh_serial_tstc_generic(port); in sh_serial_tstc()
334 struct uart_port *port = &sh_sci; in sh_serial_getc() local
338 ch = sh_serial_getc_generic(port); in sh_serial_getc()