Lines Matching refs:sci_port
131 struct sci_port { struct
182 static struct sci_port sci_ports[SCI_NPORTS]; argument
188 static inline struct sci_port *
191 return container_of(uart, struct sci_port, port); in to_sci_port()
582 static void sci_port_enable(struct sci_port *sci_port) in sci_port_enable() argument
586 if (!sci_port->port.dev) in sci_port_enable()
589 pm_runtime_get_sync(sci_port->port.dev); in sci_port_enable()
592 clk_prepare_enable(sci_port->clks[i]); in sci_port_enable()
593 sci_port->clk_rates[i] = clk_get_rate(sci_port->clks[i]); in sci_port_enable()
595 sci_port->port.uartclk = sci_port->clk_rates[SCI_FCK]; in sci_port_enable()
598 static void sci_port_disable(struct sci_port *sci_port) in sci_port_disable() argument
602 if (!sci_port->port.dev) in sci_port_disable()
606 clk_disable_unprepare(sci_port->clks[i]); in sci_port_disable()
608 pm_runtime_put_sync(sci_port->port.dev); in sci_port_disable()
625 struct sci_port *s = to_sci_port(port); in sci_start_tx()
778 struct sci_port *s = to_sci_port(port); in sci_init_pins()
828 struct sci_port *s = to_sci_port(port); in sci_txfill()
850 struct sci_port *s = to_sci_port(port); in sci_rxfill()
873 struct sci_port *s = to_sci_port(port); in sci_transmit_chars()
1009 struct sci_port *s = to_sci_port(port); in sci_handle_errors()
1045 struct sci_port *s = to_sci_port(port); in sci_handle_fifo_overrun()
1164 struct sci_port *s = from_timer(s, t, rx_fifo_timer); in rx_fifo_timer_fn()
1175 struct sci_port *sci = to_sci_port(port); in rx_fifo_trigger_show()
1185 struct sci_port *sci = to_sci_port(port); in rx_fifo_trigger_store()
1207 struct sci_port *sci = to_sci_port(port); in rx_fifo_timeout_show()
1224 struct sci_port *sci = to_sci_port(port); in rx_fifo_timeout_store()
1252 struct sci_port *s = arg; in sci_dma_tx_complete()
1289 static int sci_dma_rx_push(struct sci_port *s, void *buf, size_t count) in sci_dma_rx_push()
1304 static int sci_dma_rx_find_active(struct sci_port *s) in sci_dma_rx_find_active()
1316 static void sci_dma_rx_chan_invalidate(struct sci_port *s) in sci_dma_rx_chan_invalidate()
1326 static void sci_dma_rx_release(struct sci_port *s) in sci_dma_rx_release()
1352 static void sci_dma_rx_reenable_irq(struct sci_port *s) in sci_dma_rx_reenable_irq()
1372 struct sci_port *s = arg; in sci_dma_rx_complete()
1426 static void sci_dma_tx_release(struct sci_port *s) in sci_dma_tx_release()
1439 static int sci_dma_rx_submit(struct sci_port *s, bool port_lock_held) in sci_dma_rx_submit()
1484 struct sci_port *s = container_of(work, struct sci_port, work_tx); in sci_dma_tx_work_fn()
1548 struct sci_port *s = container_of(t, struct sci_port, rx_timer); in sci_dma_rx_timer_fn()
1647 struct sci_port *s = to_sci_port(port); in sci_request_dma()
1734 struct sci_port *s = to_sci_port(port); in sci_free_dma()
1744 struct sci_port *s = to_sci_port(port); in sci_flush_buffer()
1758 static void sci_dma_check_tx_occurred(struct sci_port *s) in sci_dma_check_tx_occurred()
1779 static void sci_dma_check_tx_occurred(struct sci_port *s) in sci_dma_check_tx_occurred()
1789 struct sci_port *s = to_sci_port(port); in sci_rx_interrupt()
1891 struct sci_port *s = to_sci_port(port); in sci_er_interrupt()
1932 struct sci_port *s = to_sci_port(port); in sci_mpxed_interrupt()
2021 static int sci_request_irq(struct sci_port *port) in sci_request_irq()
2080 static void sci_free_irq(struct sci_port *port) in sci_free_irq()
2119 struct sci_port *s = to_sci_port(port); in sci_tx_empty()
2183 struct sci_port *s = to_sci_port(port); in sci_set_mctrl()
2229 struct sci_port *s = to_sci_port(port); in sci_get_mctrl()
2291 struct sci_port *s = to_sci_port(port); in sci_startup()
2310 struct sci_port *s = to_sci_port(port); in sci_shutdown()
2345 static int sci_sck_calc(struct sci_port *s, unsigned int bps, in sci_sck_calc()
2372 static int sci_brg_calc(struct sci_port *s, unsigned int bps, in sci_brg_calc()
2404 static int sci_scbrr_calc(struct sci_port *s, unsigned int bps, in sci_scbrr_calc()
2475 struct sci_port *s = to_sci_port(port); in sci_reset()
2512 struct sci_port *s = to_sci_port(port); in sci_set_termios()
2764 struct sci_port *sci_port = to_sci_port(port); in sci_pm() local
2768 sci_port_disable(sci_port); in sci_pm()
2771 sci_port_enable(sci_port); in sci_pm()
2798 struct sci_port *sport = to_sci_port(port); in sci_remap_port()
2826 struct sci_port *sport = to_sci_port(port); in sci_release_port()
2839 struct sci_port *sport = to_sci_port(port); in sci_request_port()
2861 struct sci_port *sport = to_sci_port(port); in sci_config_port()
2902 static int sci_init_clocks(struct sci_port *sci_port, struct device *dev) in sci_init_clocks() argument
2913 if (sci_port->cfg->type == PORT_HSCIF) in sci_init_clocks()
2939 sci_port->clks[i] = clk; in sci_init_clocks()
2986 struct sci_port *sci_port, unsigned int index, in sci_init_single() argument
2989 struct uart_port *port = &sci_port->port; in sci_init_single()
2994 sci_port->cfg = p; in sci_init_single()
3006 sci_port->reg_size = resource_size(res); in sci_init_single()
3008 for (i = 0; i < ARRAY_SIZE(sci_port->irqs); ++i) { in sci_init_single()
3010 sci_port->irqs[i] = platform_get_irq_optional(dev, i); in sci_init_single()
3012 sci_port->irqs[i] = platform_get_irq(dev, i); in sci_init_single()
3020 swap(sci_port->irqs[SCIx_BRI_IRQ], sci_port->irqs[SCIx_TEI_IRQ]); in sci_init_single()
3029 if (sci_port->irqs[0] < 0) in sci_init_single()
3032 if (sci_port->irqs[1] < 0) in sci_init_single()
3033 for (i = 1; i < ARRAY_SIZE(sci_port->irqs); i++) in sci_init_single()
3034 sci_port->irqs[i] = sci_port->irqs[0]; in sci_init_single()
3036 sci_port->params = sci_probe_regmap(p); in sci_init_single()
3037 if (unlikely(sci_port->params == NULL)) in sci_init_single()
3042 sci_port->rx_trigger = 48; in sci_init_single()
3045 sci_port->rx_trigger = 64; in sci_init_single()
3048 sci_port->rx_trigger = 32; in sci_init_single()
3053 sci_port->rx_trigger = 1; in sci_init_single()
3055 sci_port->rx_trigger = 8; in sci_init_single()
3058 sci_port->rx_trigger = 1; in sci_init_single()
3062 sci_port->rx_fifo_timeout = 0; in sci_init_single()
3063 sci_port->hscif_tot = 0; in sci_init_single()
3069 sci_port->sampling_rate_mask = p->sampling_rate in sci_init_single()
3071 : sci_port->params->sampling_rate_mask; in sci_init_single()
3074 ret = sci_init_clocks(sci_port, &dev->dev); in sci_init_single()
3081 port->fifosize = sci_port->params->fifosize; in sci_init_single()
3084 if (sci_port->reg_size >= 0x20) in sci_init_single()
3097 port->irq = sci_port->irqs[SCIx_RXI_IRQ]; in sci_init_single()
3117 struct sci_port *sci_port = &sci_ports[co->index]; in serial_console_write() local
3118 struct uart_port *port = &sci_port->port; in serial_console_write()
3133 (sci_port->cfg->scscr & ~(SCSCR_CKE1 | SCSCR_CKE0)) | in serial_console_write()
3135 sci_serial_out(port, SCSCR, ctrl_temp | sci_port->hscif_tot); in serial_console_write()
3153 struct sci_port *sci_port; in serial_console_setup() local
3167 sci_port = &sci_ports[co->index]; in serial_console_setup()
3168 port = &sci_port->port; in serial_console_setup()
3266 struct sci_port *port = platform_get_drvdata(dev); in sci_remove()
3348 struct sci_port *sp; in sci_parse_dt()
3407 struct sci_port *sciport, in sci_probe_single()
3486 struct sci_port *sp; in sci_probe()
3566 static void sci_console_save(struct sci_port *s) in sci_console_save()
3595 static void sci_console_restore(struct sci_port *s) in sci_console_restore()
3626 struct sci_port *sport = dev_get_drvdata(dev); in sci_suspend()
3642 struct sci_port *sport = dev_get_drvdata(dev); in sci_resume()
3696 struct sci_port *sci_port = &sci_ports[0]; in early_console_exit() local
3703 memset(sci_port, 0, sizeof(*sci_port)); in early_console_exit()