Lines Matching refs:mvuart
375 struct mvebu_uart *mvuart = to_mvuart(port); in mvebu_uart_startup() local
394 if (!mvuart->irq[UART_TX_IRQ]) { in mvebu_uart_startup()
396 ret = devm_request_irq(port->dev, mvuart->irq[UART_IRQ_SUM], in mvebu_uart_startup()
401 mvuart->irq[UART_IRQ_SUM]); in mvebu_uart_startup()
406 ret = devm_request_irq(port->dev, mvuart->irq[UART_RX_IRQ], in mvebu_uart_startup()
411 mvuart->irq[UART_RX_IRQ]); in mvebu_uart_startup()
415 ret = devm_request_irq(port->dev, mvuart->irq[UART_TX_IRQ], in mvebu_uart_startup()
421 mvuart->irq[UART_TX_IRQ]); in mvebu_uart_startup()
422 devm_free_irq(port->dev, mvuart->irq[UART_RX_IRQ], in mvebu_uart_startup()
433 struct mvebu_uart *mvuart = to_mvuart(port); in mvebu_uart_shutdown() local
437 if (!mvuart->irq[UART_TX_IRQ]) { in mvebu_uart_shutdown()
438 devm_free_irq(port->dev, mvuart->irq[UART_IRQ_SUM], port); in mvebu_uart_shutdown()
440 devm_free_irq(port->dev, mvuart->irq[UART_RX_IRQ], port); in mvebu_uart_shutdown()
441 devm_free_irq(port->dev, mvuart->irq[UART_TX_IRQ], port); in mvebu_uart_shutdown()
763 struct mvebu_uart *mvuart = dev_get_drvdata(dev); in mvebu_uart_suspend() local
764 struct uart_port *port = mvuart->port; in mvebu_uart_suspend()
768 mvuart->pm_regs.rbr = readl(port->membase + UART_RBR(port)); in mvebu_uart_suspend()
769 mvuart->pm_regs.tsh = readl(port->membase + UART_TSH(port)); in mvebu_uart_suspend()
770 mvuart->pm_regs.ctrl = readl(port->membase + UART_CTRL(port)); in mvebu_uart_suspend()
771 mvuart->pm_regs.intr = readl(port->membase + UART_INTR(port)); in mvebu_uart_suspend()
772 mvuart->pm_regs.stat = readl(port->membase + UART_STAT); in mvebu_uart_suspend()
773 mvuart->pm_regs.brdv = readl(port->membase + UART_BRDV); in mvebu_uart_suspend()
774 mvuart->pm_regs.osamp = readl(port->membase + UART_OSAMP); in mvebu_uart_suspend()
783 struct mvebu_uart *mvuart = dev_get_drvdata(dev); in mvebu_uart_resume() local
784 struct uart_port *port = mvuart->port; in mvebu_uart_resume()
786 writel(mvuart->pm_regs.rbr, port->membase + UART_RBR(port)); in mvebu_uart_resume()
787 writel(mvuart->pm_regs.tsh, port->membase + UART_TSH(port)); in mvebu_uart_resume()
788 writel(mvuart->pm_regs.ctrl, port->membase + UART_CTRL(port)); in mvebu_uart_resume()
789 writel(mvuart->pm_regs.intr, port->membase + UART_INTR(port)); in mvebu_uart_resume()
790 writel(mvuart->pm_regs.stat, port->membase + UART_STAT); in mvebu_uart_resume()
791 writel(mvuart->pm_regs.brdv, port->membase + UART_BRDV); in mvebu_uart_resume()
792 writel(mvuart->pm_regs.osamp, port->membase + UART_OSAMP); in mvebu_uart_resume()
816 struct mvebu_uart *mvuart; in mvebu_uart_probe() local
864 mvuart = devm_kzalloc(&pdev->dev, sizeof(struct mvebu_uart), in mvebu_uart_probe()
866 if (!mvuart) in mvebu_uart_probe()
870 mvuart->data = (struct mvebu_uart_driver_data *)match->data; in mvebu_uart_probe()
871 mvuart->port = port; in mvebu_uart_probe()
873 port->private_data = mvuart; in mvebu_uart_probe()
874 platform_set_drvdata(pdev, mvuart); in mvebu_uart_probe()
877 mvuart->clk = devm_clk_get(&pdev->dev, NULL); in mvebu_uart_probe()
878 if (IS_ERR(mvuart->clk)) { in mvebu_uart_probe()
879 if (PTR_ERR(mvuart->clk) == -EPROBE_DEFER) in mvebu_uart_probe()
880 return PTR_ERR(mvuart->clk); in mvebu_uart_probe()
884 return PTR_ERR(mvuart->clk); in mvebu_uart_probe()
887 if (!clk_prepare_enable(mvuart->clk)) in mvebu_uart_probe()
888 port->uartclk = clk_get_rate(mvuart->clk); in mvebu_uart_probe()
898 mvuart->irq[UART_IRQ_SUM] = irq; in mvebu_uart_probe()
909 mvuart->irq[UART_RX_IRQ] = irq; in mvebu_uart_probe()
915 mvuart->irq[UART_TX_IRQ] = irq; in mvebu_uart_probe()