Lines Matching refs:mvuart

385 	struct mvebu_uart *mvuart = to_mvuart(port);  in mvebu_uart_startup()  local
404 if (!mvuart->irq[UART_TX_IRQ]) { in mvebu_uart_startup()
406 ret = devm_request_irq(port->dev, mvuart->irq[UART_IRQ_SUM], in mvebu_uart_startup()
411 mvuart->irq[UART_IRQ_SUM]); in mvebu_uart_startup()
416 ret = devm_request_irq(port->dev, mvuart->irq[UART_RX_IRQ], in mvebu_uart_startup()
421 mvuart->irq[UART_RX_IRQ]); in mvebu_uart_startup()
425 ret = devm_request_irq(port->dev, mvuart->irq[UART_TX_IRQ], in mvebu_uart_startup()
431 mvuart->irq[UART_TX_IRQ]); in mvebu_uart_startup()
432 devm_free_irq(port->dev, mvuart->irq[UART_RX_IRQ], in mvebu_uart_startup()
443 struct mvebu_uart *mvuart = to_mvuart(port); in mvebu_uart_shutdown() local
447 if (!mvuart->irq[UART_TX_IRQ]) { in mvebu_uart_shutdown()
448 devm_free_irq(port->dev, mvuart->irq[UART_IRQ_SUM], port); in mvebu_uart_shutdown()
450 devm_free_irq(port->dev, mvuart->irq[UART_RX_IRQ], port); in mvebu_uart_shutdown()
451 devm_free_irq(port->dev, mvuart->irq[UART_TX_IRQ], port); in mvebu_uart_shutdown()
824 struct mvebu_uart *mvuart = dev_get_drvdata(dev); in mvebu_uart_suspend() local
825 struct uart_port *port = mvuart->port; in mvebu_uart_suspend()
830 mvuart->pm_regs.rbr = readl(port->membase + UART_RBR(port)); in mvebu_uart_suspend()
831 mvuart->pm_regs.tsh = readl(port->membase + UART_TSH(port)); in mvebu_uart_suspend()
832 mvuart->pm_regs.ctrl = readl(port->membase + UART_CTRL(port)); in mvebu_uart_suspend()
833 mvuart->pm_regs.intr = readl(port->membase + UART_INTR(port)); in mvebu_uart_suspend()
834 mvuart->pm_regs.stat = readl(port->membase + UART_STAT); in mvebu_uart_suspend()
836 mvuart->pm_regs.brdv = readl(port->membase + UART_BRDV); in mvebu_uart_suspend()
838 mvuart->pm_regs.osamp = readl(port->membase + UART_OSAMP); in mvebu_uart_suspend()
847 struct mvebu_uart *mvuart = dev_get_drvdata(dev); in mvebu_uart_resume() local
848 struct uart_port *port = mvuart->port; in mvebu_uart_resume()
851 writel(mvuart->pm_regs.rbr, port->membase + UART_RBR(port)); in mvebu_uart_resume()
852 writel(mvuart->pm_regs.tsh, port->membase + UART_TSH(port)); in mvebu_uart_resume()
853 writel(mvuart->pm_regs.ctrl, port->membase + UART_CTRL(port)); in mvebu_uart_resume()
854 writel(mvuart->pm_regs.intr, port->membase + UART_INTR(port)); in mvebu_uart_resume()
855 writel(mvuart->pm_regs.stat, port->membase + UART_STAT); in mvebu_uart_resume()
857 writel(mvuart->pm_regs.brdv, port->membase + UART_BRDV); in mvebu_uart_resume()
859 writel(mvuart->pm_regs.osamp, port->membase + UART_OSAMP); in mvebu_uart_resume()
882 struct mvebu_uart *mvuart; in mvebu_uart_probe() local
926 mvuart = devm_kzalloc(&pdev->dev, sizeof(struct mvebu_uart), in mvebu_uart_probe()
928 if (!mvuart) in mvebu_uart_probe()
932 mvuart->data = (struct mvebu_uart_driver_data *)match->data; in mvebu_uart_probe()
933 mvuart->port = port; in mvebu_uart_probe()
935 port->private_data = mvuart; in mvebu_uart_probe()
936 platform_set_drvdata(pdev, mvuart); in mvebu_uart_probe()
939 mvuart->clk = devm_clk_get(&pdev->dev, NULL); in mvebu_uart_probe()
940 if (IS_ERR(mvuart->clk)) { in mvebu_uart_probe()
941 if (PTR_ERR(mvuart->clk) == -EPROBE_DEFER) in mvebu_uart_probe()
942 return PTR_ERR(mvuart->clk); in mvebu_uart_probe()
946 return PTR_ERR(mvuart->clk); in mvebu_uart_probe()
949 if (!clk_prepare_enable(mvuart->clk)) in mvebu_uart_probe()
950 port->uartclk = clk_get_rate(mvuart->clk); in mvebu_uart_probe()
960 mvuart->irq[UART_IRQ_SUM] = irq; in mvebu_uart_probe()
971 mvuart->irq[UART_RX_IRQ] = irq; in mvebu_uart_probe()
977 mvuart->irq[UART_TX_IRQ] = irq; in mvebu_uart_probe()