* [PATCH v2 1/3] xen/arm: Add Amlogic Meson SoCs earlyprintk support
@ 2019-03-21 10:25 Amit Singh Tomar
2019-03-21 10:25 ` [PATCH v2 2/3] xen/arm: Add MESON UART driver for Amlogic Meson SoCs Amit Singh Tomar
` (3 more replies)
0 siblings, 4 replies; 13+ messages in thread
From: Amit Singh Tomar @ 2019-03-21 10:25 UTC (permalink / raw)
To: xen-devel; +Cc: andre.przywara, julien.grall, sstabellini, Amit Singh Tomar
Signed-off-by: Amit Singh Tomar <amittomer25@gmail.com>
---
TODO:
* Capture XEN boot info on WIKI.
Changes since v1:
* Fixed coding style issue.
* Undone changes in early-printk.txt.
Changes since RFC:
* Replaced LDRH with LDR, with this there
is no scattered output on console now.
* Used tbnz instead of tst and b.ne.
* Used AML_ prefix against register names.
---
xen/arch/arm/arm64/debug-meson.inc | 51 ++++++++++++++++++++++++++++++++++++++
1 file changed, 51 insertions(+)
create mode 100644 xen/arch/arm/arm64/debug-meson.inc
diff --git a/xen/arch/arm/arm64/debug-meson.inc b/xen/arch/arm/arm64/debug-meson.inc
new file mode 100644
index 0000000..01b70f0
--- /dev/null
+++ b/xen/arch/arm/arm64/debug-meson.inc
@@ -0,0 +1,51 @@
+/*
+ * xen/arch/arm/arm64/debug-meson.inc
+ *
+ * MESON specific debug code.
+ *
+ * Copyright (c) 2019, Amit Singh Tomar <amittomer25@gmail.com>.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms and conditions of the GNU General Public
+ * License, version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program; If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#define AML_UART_WFIFO_REG 0x00
+#define AML_UART_STATUS_REG 0x0c
+
+#define AML_UART_TX_FIFO_FULL 21
+
+/*
+ * MESON UART wait UART to be ready to transmit
+ * xb: register which contains the UART base address
+ * c: scratch register
+ */
+.macro early_uart_ready xb c
+1:
+ ldr w\c, [\xb, #AML_UART_STATUS_REG] /* status register */
+ tbnz w\c, #AML_UART_TX_FIFO_FULL, 1b /* Check TXFIFO FULL bit */
+.endm
+
+/*
+ * MESON UART transmit character
+ * xb: register which contains the UART base address
+ * wt: register which contains the character to transmit
+ */
+.macro early_uart_transmit xb wt
+ str \wt, [\xb, #AML_UART_WFIFO_REG]
+.endm
+
+/*
+ * Local variables:
+ * mode: ASM
+ * indent-tabs-mode: nil
+ * End:
+ */
--
2.7.4
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
^ permalink raw reply related [flat|nested] 13+ messages in thread* [PATCH v2 2/3] xen/arm: Add MESON UART driver for Amlogic Meson SoCs 2019-03-21 10:25 [PATCH v2 1/3] xen/arm: Add Amlogic Meson SoCs earlyprintk support Amit Singh Tomar @ 2019-03-21 10:25 ` Amit Singh Tomar 2019-04-02 20:01 ` André Przywara 2019-03-21 10:25 ` [PATCH v2 3/3] MAINTAINERS: add ARM meson serial driver Amit Singh Tomar ` (2 subsequent siblings) 3 siblings, 1 reply; 13+ messages in thread From: Amit Singh Tomar @ 2019-03-21 10:25 UTC (permalink / raw) To: xen-devel; +Cc: andre.przywara, julien.grall, sstabellini, Amit Singh Tomar This patch adds driver for UART controller present on Amlogic Meson SoCs and it has been tested on Nanopi K2 board based on S905 SoC. Controller registers defination is taken from Linux 4.20. https://github.com/torvalds/linux/blob/v4.20-rc1/drivers/tty/serial/meson_uart.c Signed-off-by: Amit Singh Tomar <amittomer25@gmail.com> --- Changes since v1: * Removed clrsetbits macro. * Fixed coding style issue. * Updated MAINTAINERS file. Changes since RFC: * Removed S905 reference as other Amlogic SoCs have this uart controller. * Replaced meson_s905_read/write helper with clrsetbit and friends helper. * Followed proper UART reset sequence. * List all UART compatible strings same as Linux driver. --- xen/drivers/char/Kconfig | 8 ++ xen/drivers/char/Makefile | 1 + xen/drivers/char/meson-uart.c | 276 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 285 insertions(+) create mode 100644 xen/drivers/char/meson-uart.c diff --git a/xen/drivers/char/Kconfig b/xen/drivers/char/Kconfig index b1f07f8..b572305 100644 --- a/xen/drivers/char/Kconfig +++ b/xen/drivers/char/Kconfig @@ -20,6 +20,14 @@ config HAS_MVEBU This selects the Marvell MVEBU UART. If you have a ARMADA 3700 based board, say Y. +config HAS_MESON + bool "Amlogic MESON UART driver" + default y + depends on ARM_64 + help + This selects the Amlogic MESON UART. If you have a Amlogic based + board, say Y. + config HAS_PL011 bool "ARM PL011 UART driver" default y diff --git a/xen/drivers/char/Makefile b/xen/drivers/char/Makefile index b68c330..7c646d7 100644 --- a/xen/drivers/char/Makefile +++ b/xen/drivers/char/Makefile @@ -3,6 +3,7 @@ obj-$(CONFIG_HAS_NS16550) += ns16550.o obj-$(CONFIG_HAS_CADENCE_UART) += cadence-uart.o obj-$(CONFIG_HAS_PL011) += pl011.o obj-$(CONFIG_HAS_EXYNOS4210) += exynos4210-uart.o +obj-$(CONFIG_HAS_MESON) += meson-uart.o obj-$(CONFIG_HAS_MVEBU) += mvebu-uart.o obj-$(CONFIG_HAS_OMAP) += omap-uart.o obj-$(CONFIG_HAS_SCIF) += scif-uart.o diff --git a/xen/drivers/char/meson-uart.c b/xen/drivers/char/meson-uart.c new file mode 100644 index 0000000..c16c188 --- /dev/null +++ b/xen/drivers/char/meson-uart.c @@ -0,0 +1,276 @@ +/* + * xen/drivers/char/meson-uart.c + * + * Driver for Amlogic MESON UART + * + * Copyright (c) 2019, Amit Singh Tomar <amittomer25@gmail.com>. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms and conditions of the GNU General Public + * License, version 2, as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; If not, see <http://www.gnu.org/licenses/>. + */ + +#include <xen/irq.h> +#include <xen/serial.h> +#include <xen/vmap.h> +#include <asm/io.h> + +/* Register offsets */ +#define AML_UART_WFIFO_REG 0x00 +#define AML_UART_RFIFO_REG 0x04 +#define AML_UART_CONTROL_REG 0x08 +#define AML_UART_STATUS_REG 0x0c +#define AML_UART_MISC_REG 0x10 + +/* UART_CONTROL bits */ +#define AML_UART_TX_RST BIT(22) +#define AML_UART_RX_RST BIT(23) +#define AML_UART_CLEAR_ERR BIT(24) +#define AML_UART_RX_INT_EN BIT(27) +#define AML_UART_TX_INT_EN BIT(28) + +/* UART_STATUS bits */ +#define AML_UART_RX_FIFO_EMPTY BIT(20) +#define AML_UART_TX_FIFO_FULL BIT(21) +#define AML_UART_TX_FIFO_EMPTY BIT(22) +#define AML_UART_TX_CNT_MASK GENMASK(14, 8) + +/* AML_UART_MISC bits */ +#define AML_UART_XMIT_IRQ(c) (((c) & 0xff) << 8) +#define AML_UART_RECV_IRQ(c) ((c) & 0xff) + +#define TX_FIFO_SIZE 64 + +#define setbits(addr, set) writel((readl(addr) | (set)), (addr)) +#define clrbits(addr, clear) writel((readl(addr) & ~(clear)), (addr)) + +static struct meson_uart { + unsigned int irq; + void __iomem *regs; + struct irqaction irqaction; + struct vuart_info vuart; +} meson_com; + +static void meson_uart_interrupt(int irq, void *data, + struct cpu_user_regs *regs) +{ + struct serial_port *port = data; + struct meson_uart *uart = port->uart; + uint32_t st = readl(uart->regs + AML_UART_STATUS_REG); + + if ( !(st & AML_UART_RX_FIFO_EMPTY) ) + serial_rx_interrupt(port, regs); + + if ( !(st & AML_UART_TX_FIFO_FULL) ) + serial_tx_interrupt(port, regs); +} + +static void __init meson_uart_init_preirq(struct serial_port *port) +{ + struct meson_uart *uart = port->uart; + + /* Reset UART */ + setbits(uart->regs + AML_UART_CONTROL_REG, + (AML_UART_RX_RST | AML_UART_TX_RST | AML_UART_CLEAR_ERR)); + + clrbits(uart->regs + AML_UART_CONTROL_REG, + (AML_UART_RX_RST | AML_UART_TX_RST | AML_UART_CLEAR_ERR)); + + /* Disable Rx/Tx interrupts */ + clrbits(uart->regs + AML_UART_CONTROL_REG, + (AML_UART_RX_INT_EN | AML_UART_TX_INT_EN)); +} + +static void __init meson_uart_init_postirq(struct serial_port *port) +{ + struct meson_uart *uart = port->uart; + + uart->irqaction.handler = meson_uart_interrupt; + uart->irqaction.name = "meson_uart"; + uart->irqaction.dev_id = port; + + if ( setup_irq(uart->irq, 0, &uart->irqaction) != 0 ) + { + printk("Failed to allocated Meson UART IRQ %d\n", uart->irq); + return; + } + + /* + * Configure Rx/Tx interrupts based on bytes in FIFO, these bits have + * taken from Linux driver + */ + writel((AML_UART_RECV_IRQ(1) | AML_UART_XMIT_IRQ(TX_FIFO_SIZE / 2)), + uart->regs + AML_UART_MISC_REG); + + /* Make sure Rx/Tx interrupts are enabled now */ + setbits(uart->regs + AML_UART_CONTROL_REG, + (AML_UART_RX_INT_EN | AML_UART_TX_INT_EN)); +} + +static void meson_uart_suspend(struct serial_port *port) +{ + BUG(); +} + +static void meson_uart_resume(struct serial_port *port) +{ + BUG(); +} + +static void meson_uart_putc(struct serial_port *port, char c) +{ + struct meson_uart *uart = port->uart; + + writel(c, uart->regs + AML_UART_WFIFO_REG); +} + +static int meson_uart_getc(struct serial_port *port, char *c) +{ + struct meson_uart *uart = port->uart; + + if ( (readl(uart->regs + AML_UART_STATUS_REG) & AML_UART_RX_FIFO_EMPTY) ) + return 0; + + *c = readl(uart->regs + AML_UART_RFIFO_REG) & 0xff; + + return 1; +} + +static int __init meson_irq(struct serial_port *port) +{ + struct meson_uart *uart = port->uart; + + return uart->irq; +} + +static const struct vuart_info *meson_vuart_info(struct serial_port *port) +{ + struct meson_uart *uart = port->uart; + + return &uart->vuart; +} + +static void meson_uart_stop_tx(struct serial_port *port) +{ + struct meson_uart *uart = port->uart; + + clrbits(uart->regs + AML_UART_CONTROL_REG, AML_UART_TX_INT_EN); +} + +static void meson_uart_start_tx(struct serial_port *port) +{ + struct meson_uart *uart = port->uart; + + setbits(uart->regs + AML_UART_CONTROL_REG, AML_UART_TX_INT_EN); +} + +static int meson_uart_tx_ready(struct serial_port *port) +{ + struct meson_uart *uart = port->uart; + uint32_t reg; + + reg = readl(uart->regs + AML_UART_STATUS_REG); + + if ( reg & AML_UART_TX_FIFO_EMPTY ) + return TX_FIFO_SIZE; + if ( reg & AML_UART_TX_FIFO_FULL ) + return 0; + + return (reg & AML_UART_TX_CNT_MASK) >> 8; +} + +static struct uart_driver __read_mostly meson_uart_driver = { + .init_preirq = meson_uart_init_preirq, + .init_postirq = meson_uart_init_postirq, + .endboot = NULL, + .suspend = meson_uart_suspend, + .resume = meson_uart_resume, + .putc = meson_uart_putc, + .getc = meson_uart_getc, + .tx_ready = meson_uart_tx_ready, + .stop_tx = meson_uart_stop_tx, + .start_tx = meson_uart_start_tx, + .irq = meson_irq, + .vuart_info = meson_vuart_info, +}; + +static int __init meson_uart_init(struct dt_device_node *dev, const void *data) +{ + const char *config = data; + struct meson_uart *uart; + int res; + u64 addr, size; + + if ( strcmp(config, "") ) + printk("WARNING: UART configuration is not supported\n"); + + uart = &meson_com; + + res = dt_device_get_address(dev, 0, &addr, &size); + if ( res ) + { + printk("meson: Unable to retrieve the base address of the UART\n"); + return res; + } + + res = platform_get_irq(dev, 0); + if ( res < 0 ) + { + printk("meson: Unable to retrieve the IRQ\n"); + return -EINVAL; + } + + uart->irq = res; + + uart->regs = ioremap_nocache(addr, size); + if ( !uart->regs ) + { + printk("meson: Unable to map the UART\n"); + return -ENOMEM; + } + + uart->vuart.base_addr = addr; + uart->vuart.size = size; + uart->vuart.data_off = AML_UART_WFIFO_REG; + uart->vuart.status_off = AML_UART_STATUS_REG; + uart->vuart.status = AML_UART_RX_FIFO_EMPTY | AML_UART_TX_FIFO_EMPTY; + + /* Register with generic serial driver. */ + serial_register_uart(SERHND_DTUART, &meson_uart_driver, uart); + + dt_device_set_used_by(dev, DOMID_XEN); + + return 0; +} + +static const struct dt_device_match meson_dt_match[] __initconst = +{ + DT_MATCH_COMPATIBLE("amlogic,meson-uart"), + DT_MATCH_COMPATIBLE("amlogic,meson6-uart"), + DT_MATCH_COMPATIBLE("amlogic,meson8-uart"), + DT_MATCH_COMPATIBLE("amlogic,meson8b-uart"), + DT_MATCH_COMPATIBLE("amlogic,meson-gx-uart"), + { /* sentinel */ }, +}; + +DT_DEVICE_START(meson, "Amlogic UART", DEVICE_SERIAL) + .dt_match = meson_dt_match, + .init = meson_uart_init, +DT_DEVICE_END + +/* + * Local variables: + * mode: C + * c-file-style: "BSD" + * c-basic-offset: 4 + * indent-tabs-mode: nil + * End: +*/ -- 2.7.4 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel ^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH v2 2/3] xen/arm: Add MESON UART driver for Amlogic Meson SoCs 2019-03-21 10:25 ` [PATCH v2 2/3] xen/arm: Add MESON UART driver for Amlogic Meson SoCs Amit Singh Tomar @ 2019-04-02 20:01 ` André Przywara 2019-04-09 9:39 ` Julien Grall 0 siblings, 1 reply; 13+ messages in thread From: André Przywara @ 2019-04-02 20:01 UTC (permalink / raw) To: Amit Singh Tomar, xen-devel; +Cc: julien.grall, sstabellini On 21/03/2019 10:25, Amit Singh Tomar wrote: > This patch adds driver for UART controller present on Amlogic Meson > SoCs and it has been tested on Nanopi K2 board based on S905 SoC. > > Controller registers defination is taken from Linux 4.20. > https://github.com/torvalds/linux/blob/v4.20-rc1/drivers/tty/serial/meson_uart.c > > Signed-off-by: Amit Singh Tomar <amittomer25@gmail.com> Thanks for the changes! Reviewed-by: Andre Przywara <andre.przywara@arm.com> Cheers, Andre. > --- > Changes since v1: > > * Removed clrsetbits macro. > * Fixed coding style issue. > * Updated MAINTAINERS file. > > Changes since RFC: > > * Removed S905 reference as other Amlogic SoCs > have this uart controller. > * Replaced meson_s905_read/write helper > with clrsetbit and friends helper. > * Followed proper UART reset sequence. > * List all UART compatible strings same as Linux > driver. > --- > xen/drivers/char/Kconfig | 8 ++ > xen/drivers/char/Makefile | 1 + > xen/drivers/char/meson-uart.c | 276 ++++++++++++++++++++++++++++++++++++++++++ > 3 files changed, 285 insertions(+) > create mode 100644 xen/drivers/char/meson-uart.c > > diff --git a/xen/drivers/char/Kconfig b/xen/drivers/char/Kconfig > index b1f07f8..b572305 100644 > --- a/xen/drivers/char/Kconfig > +++ b/xen/drivers/char/Kconfig > @@ -20,6 +20,14 @@ config HAS_MVEBU > This selects the Marvell MVEBU UART. If you have a ARMADA 3700 > based board, say Y. > > +config HAS_MESON > + bool "Amlogic MESON UART driver" > + default y > + depends on ARM_64 > + help > + This selects the Amlogic MESON UART. If you have a Amlogic based > + board, say Y. > + > config HAS_PL011 > bool "ARM PL011 UART driver" > default y > diff --git a/xen/drivers/char/Makefile b/xen/drivers/char/Makefile > index b68c330..7c646d7 100644 > --- a/xen/drivers/char/Makefile > +++ b/xen/drivers/char/Makefile > @@ -3,6 +3,7 @@ obj-$(CONFIG_HAS_NS16550) += ns16550.o > obj-$(CONFIG_HAS_CADENCE_UART) += cadence-uart.o > obj-$(CONFIG_HAS_PL011) += pl011.o > obj-$(CONFIG_HAS_EXYNOS4210) += exynos4210-uart.o > +obj-$(CONFIG_HAS_MESON) += meson-uart.o > obj-$(CONFIG_HAS_MVEBU) += mvebu-uart.o > obj-$(CONFIG_HAS_OMAP) += omap-uart.o > obj-$(CONFIG_HAS_SCIF) += scif-uart.o > diff --git a/xen/drivers/char/meson-uart.c b/xen/drivers/char/meson-uart.c > new file mode 100644 > index 0000000..c16c188 > --- /dev/null > +++ b/xen/drivers/char/meson-uart.c > @@ -0,0 +1,276 @@ > +/* > + * xen/drivers/char/meson-uart.c > + * > + * Driver for Amlogic MESON UART > + * > + * Copyright (c) 2019, Amit Singh Tomar <amittomer25@gmail.com>. > + * > + * This program is free software; you can redistribute it and/or > + * modify it under the terms and conditions of the GNU General Public > + * License, version 2, as published by the Free Software Foundation. > + * > + * This program is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + * General Public License for more details. > + * > + * You should have received a copy of the GNU General Public > + * License along with this program; If not, see <http://www.gnu.org/licenses/>. > + */ > + > +#include <xen/irq.h> > +#include <xen/serial.h> > +#include <xen/vmap.h> > +#include <asm/io.h> > + > +/* Register offsets */ > +#define AML_UART_WFIFO_REG 0x00 > +#define AML_UART_RFIFO_REG 0x04 > +#define AML_UART_CONTROL_REG 0x08 > +#define AML_UART_STATUS_REG 0x0c > +#define AML_UART_MISC_REG 0x10 > + > +/* UART_CONTROL bits */ > +#define AML_UART_TX_RST BIT(22) > +#define AML_UART_RX_RST BIT(23) > +#define AML_UART_CLEAR_ERR BIT(24) > +#define AML_UART_RX_INT_EN BIT(27) > +#define AML_UART_TX_INT_EN BIT(28) > + > +/* UART_STATUS bits */ > +#define AML_UART_RX_FIFO_EMPTY BIT(20) > +#define AML_UART_TX_FIFO_FULL BIT(21) > +#define AML_UART_TX_FIFO_EMPTY BIT(22) > +#define AML_UART_TX_CNT_MASK GENMASK(14, 8) > + > +/* AML_UART_MISC bits */ > +#define AML_UART_XMIT_IRQ(c) (((c) & 0xff) << 8) > +#define AML_UART_RECV_IRQ(c) ((c) & 0xff) > + > +#define TX_FIFO_SIZE 64 > + > +#define setbits(addr, set) writel((readl(addr) | (set)), (addr)) > +#define clrbits(addr, clear) writel((readl(addr) & ~(clear)), (addr)) > + > +static struct meson_uart { > + unsigned int irq; > + void __iomem *regs; > + struct irqaction irqaction; > + struct vuart_info vuart; > +} meson_com; > + > +static void meson_uart_interrupt(int irq, void *data, > + struct cpu_user_regs *regs) > +{ > + struct serial_port *port = data; > + struct meson_uart *uart = port->uart; > + uint32_t st = readl(uart->regs + AML_UART_STATUS_REG); > + > + if ( !(st & AML_UART_RX_FIFO_EMPTY) ) > + serial_rx_interrupt(port, regs); > + > + if ( !(st & AML_UART_TX_FIFO_FULL) ) > + serial_tx_interrupt(port, regs); > +} > + > +static void __init meson_uart_init_preirq(struct serial_port *port) > +{ > + struct meson_uart *uart = port->uart; > + > + /* Reset UART */ > + setbits(uart->regs + AML_UART_CONTROL_REG, > + (AML_UART_RX_RST | AML_UART_TX_RST | AML_UART_CLEAR_ERR)); > + > + clrbits(uart->regs + AML_UART_CONTROL_REG, > + (AML_UART_RX_RST | AML_UART_TX_RST | AML_UART_CLEAR_ERR)); > + > + /* Disable Rx/Tx interrupts */ > + clrbits(uart->regs + AML_UART_CONTROL_REG, > + (AML_UART_RX_INT_EN | AML_UART_TX_INT_EN)); > +} > + > +static void __init meson_uart_init_postirq(struct serial_port *port) > +{ > + struct meson_uart *uart = port->uart; > + > + uart->irqaction.handler = meson_uart_interrupt; > + uart->irqaction.name = "meson_uart"; > + uart->irqaction.dev_id = port; > + > + if ( setup_irq(uart->irq, 0, &uart->irqaction) != 0 ) > + { > + printk("Failed to allocated Meson UART IRQ %d\n", uart->irq); > + return; > + } > + > + /* > + * Configure Rx/Tx interrupts based on bytes in FIFO, these bits have > + * taken from Linux driver > + */ > + writel((AML_UART_RECV_IRQ(1) | AML_UART_XMIT_IRQ(TX_FIFO_SIZE / 2)), > + uart->regs + AML_UART_MISC_REG); > + > + /* Make sure Rx/Tx interrupts are enabled now */ > + setbits(uart->regs + AML_UART_CONTROL_REG, > + (AML_UART_RX_INT_EN | AML_UART_TX_INT_EN)); > +} > + > +static void meson_uart_suspend(struct serial_port *port) > +{ > + BUG(); > +} > + > +static void meson_uart_resume(struct serial_port *port) > +{ > + BUG(); > +} > + > +static void meson_uart_putc(struct serial_port *port, char c) > +{ > + struct meson_uart *uart = port->uart; > + > + writel(c, uart->regs + AML_UART_WFIFO_REG); > +} > + > +static int meson_uart_getc(struct serial_port *port, char *c) > +{ > + struct meson_uart *uart = port->uart; > + > + if ( (readl(uart->regs + AML_UART_STATUS_REG) & AML_UART_RX_FIFO_EMPTY) ) > + return 0; > + > + *c = readl(uart->regs + AML_UART_RFIFO_REG) & 0xff; > + > + return 1; > +} > + > +static int __init meson_irq(struct serial_port *port) > +{ > + struct meson_uart *uart = port->uart; > + > + return uart->irq; > +} > + > +static const struct vuart_info *meson_vuart_info(struct serial_port *port) > +{ > + struct meson_uart *uart = port->uart; > + > + return &uart->vuart; > +} > + > +static void meson_uart_stop_tx(struct serial_port *port) > +{ > + struct meson_uart *uart = port->uart; > + > + clrbits(uart->regs + AML_UART_CONTROL_REG, AML_UART_TX_INT_EN); > +} > + > +static void meson_uart_start_tx(struct serial_port *port) > +{ > + struct meson_uart *uart = port->uart; > + > + setbits(uart->regs + AML_UART_CONTROL_REG, AML_UART_TX_INT_EN); > +} > + > +static int meson_uart_tx_ready(struct serial_port *port) > +{ > + struct meson_uart *uart = port->uart; > + uint32_t reg; > + > + reg = readl(uart->regs + AML_UART_STATUS_REG); > + > + if ( reg & AML_UART_TX_FIFO_EMPTY ) > + return TX_FIFO_SIZE; > + if ( reg & AML_UART_TX_FIFO_FULL ) > + return 0; > + > + return (reg & AML_UART_TX_CNT_MASK) >> 8; > +} > + > +static struct uart_driver __read_mostly meson_uart_driver = { > + .init_preirq = meson_uart_init_preirq, > + .init_postirq = meson_uart_init_postirq, > + .endboot = NULL, > + .suspend = meson_uart_suspend, > + .resume = meson_uart_resume, > + .putc = meson_uart_putc, > + .getc = meson_uart_getc, > + .tx_ready = meson_uart_tx_ready, > + .stop_tx = meson_uart_stop_tx, > + .start_tx = meson_uart_start_tx, > + .irq = meson_irq, > + .vuart_info = meson_vuart_info, > +}; > + > +static int __init meson_uart_init(struct dt_device_node *dev, const void *data) > +{ > + const char *config = data; > + struct meson_uart *uart; > + int res; > + u64 addr, size; > + > + if ( strcmp(config, "") ) > + printk("WARNING: UART configuration is not supported\n"); > + > + uart = &meson_com; > + > + res = dt_device_get_address(dev, 0, &addr, &size); > + if ( res ) > + { > + printk("meson: Unable to retrieve the base address of the UART\n"); > + return res; > + } > + > + res = platform_get_irq(dev, 0); > + if ( res < 0 ) > + { > + printk("meson: Unable to retrieve the IRQ\n"); > + return -EINVAL; > + } > + > + uart->irq = res; > + > + uart->regs = ioremap_nocache(addr, size); > + if ( !uart->regs ) > + { > + printk("meson: Unable to map the UART\n"); > + return -ENOMEM; > + } > + > + uart->vuart.base_addr = addr; > + uart->vuart.size = size; > + uart->vuart.data_off = AML_UART_WFIFO_REG; > + uart->vuart.status_off = AML_UART_STATUS_REG; > + uart->vuart.status = AML_UART_RX_FIFO_EMPTY | AML_UART_TX_FIFO_EMPTY; > + > + /* Register with generic serial driver. */ > + serial_register_uart(SERHND_DTUART, &meson_uart_driver, uart); > + > + dt_device_set_used_by(dev, DOMID_XEN); > + > + return 0; > +} > + > +static const struct dt_device_match meson_dt_match[] __initconst = > +{ > + DT_MATCH_COMPATIBLE("amlogic,meson-uart"), > + DT_MATCH_COMPATIBLE("amlogic,meson6-uart"), > + DT_MATCH_COMPATIBLE("amlogic,meson8-uart"), > + DT_MATCH_COMPATIBLE("amlogic,meson8b-uart"), > + DT_MATCH_COMPATIBLE("amlogic,meson-gx-uart"), > + { /* sentinel */ }, > +}; > + > +DT_DEVICE_START(meson, "Amlogic UART", DEVICE_SERIAL) > + .dt_match = meson_dt_match, > + .init = meson_uart_init, > +DT_DEVICE_END > + > +/* > + * Local variables: > + * mode: C > + * c-file-style: "BSD" > + * c-basic-offset: 4 > + * indent-tabs-mode: nil > + * End: > +*/ > _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v2 2/3] xen/arm: Add MESON UART driver for Amlogic Meson SoCs 2019-04-02 20:01 ` André Przywara @ 2019-04-09 9:39 ` Julien Grall 2019-04-09 9:39 ` [Xen-devel] " Julien Grall 2019-04-09 10:09 ` Amit Tomer 0 siblings, 2 replies; 13+ messages in thread From: Julien Grall @ 2019-04-09 9:39 UTC (permalink / raw) To: André Przywara, Amit Singh Tomar, xen-devel; +Cc: sstabellini Hi, On 02/04/2019 21:01, André Przywara wrote: > On 21/03/2019 10:25, Amit Singh Tomar wrote: >> This patch adds driver for UART controller present on Amlogic Meson >> SoCs and it has been tested on Nanopi K2 board based on S905 SoC. >> >> Controller registers defination is taken from Linux 4.20. >> https://github.com/torvalds/linux/blob/v4.20-rc1/drivers/tty/serial/meson_uart.c >> >> Signed-off-by: Amit Singh Tomar <amittomer25@gmail.com> > > Thanks for the changes! > > Reviewed-by: Andre Przywara <andre.przywara@arm.com> Acked-by: Julien Grall <julien.grall@arm.com> I have committed this patch and the following patch. Please resend the first patch with the comments addressed. Cheers, -- Julien Grall _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Xen-devel] [PATCH v2 2/3] xen/arm: Add MESON UART driver for Amlogic Meson SoCs 2019-04-09 9:39 ` Julien Grall @ 2019-04-09 9:39 ` Julien Grall 2019-04-09 10:09 ` Amit Tomer 1 sibling, 0 replies; 13+ messages in thread From: Julien Grall @ 2019-04-09 9:39 UTC (permalink / raw) To: André Przywara, Amit Singh Tomar, xen-devel; +Cc: sstabellini Hi, On 02/04/2019 21:01, André Przywara wrote: > On 21/03/2019 10:25, Amit Singh Tomar wrote: >> This patch adds driver for UART controller present on Amlogic Meson >> SoCs and it has been tested on Nanopi K2 board based on S905 SoC. >> >> Controller registers defination is taken from Linux 4.20. >> https://github.com/torvalds/linux/blob/v4.20-rc1/drivers/tty/serial/meson_uart.c >> >> Signed-off-by: Amit Singh Tomar <amittomer25@gmail.com> > > Thanks for the changes! > > Reviewed-by: Andre Przywara <andre.przywara@arm.com> Acked-by: Julien Grall <julien.grall@arm.com> I have committed this patch and the following patch. Please resend the first patch with the comments addressed. Cheers, -- Julien Grall _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v2 2/3] xen/arm: Add MESON UART driver for Amlogic Meson SoCs 2019-04-09 9:39 ` Julien Grall 2019-04-09 9:39 ` [Xen-devel] " Julien Grall @ 2019-04-09 10:09 ` Amit Tomer 2019-04-09 10:09 ` [Xen-devel] " Amit Tomer 2019-04-09 10:14 ` Julien Grall 1 sibling, 2 replies; 13+ messages in thread From: Amit Tomer @ 2019-04-09 10:09 UTC (permalink / raw) To: Julien Grall; +Cc: André Przywara, Stefano Stabellini, xen-devel Hello, On Tue, Apr 9, 2019 at 3:09 PM Julien Grall <julien.grall@arm.com> wrote: > > Hi, > > On 02/04/2019 21:01, André Przywara wrote: > > On 21/03/2019 10:25, Amit Singh Tomar wrote: > >> This patch adds driver for UART controller present on Amlogic Meson > >> SoCs and it has been tested on Nanopi K2 board based on S905 SoC. > >> > >> Controller registers defination is taken from Linux 4.20. > >> https://github.com/torvalds/linux/blob/v4.20-rc1/drivers/tty/serial/meson_uart.c > >> > >> Signed-off-by: Amit Singh Tomar <amittomer25@gmail.com> > > > > Thanks for the changes! > > > > Reviewed-by: Andre Przywara <andre.przywara@arm.com> > > Acked-by: Julien Grall <julien.grall@arm.com> Thanks. > I have committed this patch and the following patch. Please resend the first > patch with the comments addressed. Is it the patch with following subject: [PATCH v2 1/3] xen/arm: Add Amlogic Meson SoCs earlyprintk support Really, couldn't find any comments over there. -Amit. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Xen-devel] [PATCH v2 2/3] xen/arm: Add MESON UART driver for Amlogic Meson SoCs 2019-04-09 10:09 ` Amit Tomer @ 2019-04-09 10:09 ` Amit Tomer 2019-04-09 10:14 ` Julien Grall 1 sibling, 0 replies; 13+ messages in thread From: Amit Tomer @ 2019-04-09 10:09 UTC (permalink / raw) To: Julien Grall; +Cc: André Przywara, Stefano Stabellini, xen-devel Hello, On Tue, Apr 9, 2019 at 3:09 PM Julien Grall <julien.grall@arm.com> wrote: > > Hi, > > On 02/04/2019 21:01, André Przywara wrote: > > On 21/03/2019 10:25, Amit Singh Tomar wrote: > >> This patch adds driver for UART controller present on Amlogic Meson > >> SoCs and it has been tested on Nanopi K2 board based on S905 SoC. > >> > >> Controller registers defination is taken from Linux 4.20. > >> https://github.com/torvalds/linux/blob/v4.20-rc1/drivers/tty/serial/meson_uart.c > >> > >> Signed-off-by: Amit Singh Tomar <amittomer25@gmail.com> > > > > Thanks for the changes! > > > > Reviewed-by: Andre Przywara <andre.przywara@arm.com> > > Acked-by: Julien Grall <julien.grall@arm.com> Thanks. > I have committed this patch and the following patch. Please resend the first > patch with the comments addressed. Is it the patch with following subject: [PATCH v2 1/3] xen/arm: Add Amlogic Meson SoCs earlyprintk support Really, couldn't find any comments over there. -Amit. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v2 2/3] xen/arm: Add MESON UART driver for Amlogic Meson SoCs 2019-04-09 10:09 ` Amit Tomer 2019-04-09 10:09 ` [Xen-devel] " Amit Tomer @ 2019-04-09 10:14 ` Julien Grall 2019-04-09 10:14 ` [Xen-devel] " Julien Grall 1 sibling, 1 reply; 13+ messages in thread From: Julien Grall @ 2019-04-09 10:14 UTC (permalink / raw) To: Amit Tomer; +Cc: André Przywara, Stefano Stabellini, xen-devel On 09/04/2019 11:09, Amit Tomer wrote: > Hello, > > On Tue, Apr 9, 2019 at 3:09 PM Julien Grall <julien.grall@arm.com> wrote: >> >> Hi, >> >> On 02/04/2019 21:01, André Przywara wrote: >>> On 21/03/2019 10:25, Amit Singh Tomar wrote: >>>> This patch adds driver for UART controller present on Amlogic Meson >>>> SoCs and it has been tested on Nanopi K2 board based on S905 SoC. >>>> >>>> Controller registers defination is taken from Linux 4.20. >>>> https://github.com/torvalds/linux/blob/v4.20-rc1/drivers/tty/serial/meson_uart.c >>>> >>>> Signed-off-by: Amit Singh Tomar <amittomer25@gmail.com> >>> >>> Thanks for the changes! >>> >>> Reviewed-by: Andre Przywara <andre.przywara@arm.com> >> >> Acked-by: Julien Grall <julien.grall@arm.com> > > Thanks. > >> I have committed this patch and the following patch. Please resend the first >> patch with the comments addressed. > > Is it the patch with following subject: > [PATCH v2 1/3] xen/arm: Add Amlogic Meson SoCs earlyprintk support > > Really, couldn't find any comments over there. See https://lists.xenproject.org/archives/html/xen-devel/2019-04/msg00145.html I pointed two issues: 1) The lack of cover letter 2) The lack of commit message 1) does not need to be addressed for this series, but should be for any new series you send with more than 1 patch. 2) should be addressed before I will commit the patch. The exact issue were already described in version 1 (see [1]). Cheers, [1] https://lists.xenproject.org/archives/html/xen-devel/2019-02/msg01204.html > > -Amit. > -- Julien Grall _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Xen-devel] [PATCH v2 2/3] xen/arm: Add MESON UART driver for Amlogic Meson SoCs 2019-04-09 10:14 ` Julien Grall @ 2019-04-09 10:14 ` Julien Grall 0 siblings, 0 replies; 13+ messages in thread From: Julien Grall @ 2019-04-09 10:14 UTC (permalink / raw) To: Amit Tomer; +Cc: André Przywara, Stefano Stabellini, xen-devel On 09/04/2019 11:09, Amit Tomer wrote: > Hello, > > On Tue, Apr 9, 2019 at 3:09 PM Julien Grall <julien.grall@arm.com> wrote: >> >> Hi, >> >> On 02/04/2019 21:01, André Przywara wrote: >>> On 21/03/2019 10:25, Amit Singh Tomar wrote: >>>> This patch adds driver for UART controller present on Amlogic Meson >>>> SoCs and it has been tested on Nanopi K2 board based on S905 SoC. >>>> >>>> Controller registers defination is taken from Linux 4.20. >>>> https://github.com/torvalds/linux/blob/v4.20-rc1/drivers/tty/serial/meson_uart.c >>>> >>>> Signed-off-by: Amit Singh Tomar <amittomer25@gmail.com> >>> >>> Thanks for the changes! >>> >>> Reviewed-by: Andre Przywara <andre.przywara@arm.com> >> >> Acked-by: Julien Grall <julien.grall@arm.com> > > Thanks. > >> I have committed this patch and the following patch. Please resend the first >> patch with the comments addressed. > > Is it the patch with following subject: > [PATCH v2 1/3] xen/arm: Add Amlogic Meson SoCs earlyprintk support > > Really, couldn't find any comments over there. See https://lists.xenproject.org/archives/html/xen-devel/2019-04/msg00145.html I pointed two issues: 1) The lack of cover letter 2) The lack of commit message 1) does not need to be addressed for this series, but should be for any new series you send with more than 1 patch. 2) should be addressed before I will commit the patch. The exact issue were already described in version 1 (see [1]). Cheers, [1] https://lists.xenproject.org/archives/html/xen-devel/2019-02/msg01204.html > > -Amit. > -- Julien Grall _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel ^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH v2 3/3] MAINTAINERS: add ARM meson serial driver 2019-03-21 10:25 [PATCH v2 1/3] xen/arm: Add Amlogic Meson SoCs earlyprintk support Amit Singh Tomar 2019-03-21 10:25 ` [PATCH v2 2/3] xen/arm: Add MESON UART driver for Amlogic Meson SoCs Amit Singh Tomar @ 2019-03-21 10:25 ` Amit Singh Tomar 2019-04-02 20:01 ` André Przywara 2019-04-02 10:05 ` [PATCH v2 1/3] xen/arm: Add Amlogic Meson SoCs earlyprintk support Julien Grall 2019-04-02 20:00 ` André Przywara 3 siblings, 1 reply; 13+ messages in thread From: Amit Singh Tomar @ 2019-03-21 10:25 UTC (permalink / raw) To: xen-devel; +Cc: andre.przywara, julien.grall, sstabellini, Amit Singh Tomar The meson-uart.c is an ARM specific UART driver for the Amlogic MESON SoC family. Signed-off-by: Amit Singh Tomar <amittomer25@gmail.com> --- MAINTAINERS | 1 + 1 file changed, 1 insertion(+) diff --git a/MAINTAINERS b/MAINTAINERS index ba7527c..aff7f81 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -182,6 +182,7 @@ F: xen/arch/arm/ F: xen/drivers/char/arm-uart.c F: xen/drivers/char/cadence-uart.c F: xen/drivers/char/exynos4210-uart.c +F: xen/drivers/char/meson-uart.c F: xen/drivers/char/mvebu-uart.c F: xen/drivers/char/omap-uart.c F: xen/drivers/char/pl011.c -- 2.7.4 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel ^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH v2 3/3] MAINTAINERS: add ARM meson serial driver 2019-03-21 10:25 ` [PATCH v2 3/3] MAINTAINERS: add ARM meson serial driver Amit Singh Tomar @ 2019-04-02 20:01 ` André Przywara 0 siblings, 0 replies; 13+ messages in thread From: André Przywara @ 2019-04-02 20:01 UTC (permalink / raw) To: Amit Singh Tomar, xen-devel; +Cc: julien.grall, sstabellini On 21/03/2019 10:25, Amit Singh Tomar wrote: > The meson-uart.c is an ARM specific UART driver for the Amlogic MESON > SoC family. > > Signed-off-by: Amit Singh Tomar <amittomer25@gmail.com> Reviewed-by: Andre Przywara <andre.przywara@arm.com> Cheers, Andre > --- > MAINTAINERS | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/MAINTAINERS b/MAINTAINERS > index ba7527c..aff7f81 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -182,6 +182,7 @@ F: xen/arch/arm/ > F: xen/drivers/char/arm-uart.c > F: xen/drivers/char/cadence-uart.c > F: xen/drivers/char/exynos4210-uart.c > +F: xen/drivers/char/meson-uart.c > F: xen/drivers/char/mvebu-uart.c > F: xen/drivers/char/omap-uart.c > F: xen/drivers/char/pl011.c > _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v2 1/3] xen/arm: Add Amlogic Meson SoCs earlyprintk support 2019-03-21 10:25 [PATCH v2 1/3] xen/arm: Add Amlogic Meson SoCs earlyprintk support Amit Singh Tomar 2019-03-21 10:25 ` [PATCH v2 2/3] xen/arm: Add MESON UART driver for Amlogic Meson SoCs Amit Singh Tomar 2019-03-21 10:25 ` [PATCH v2 3/3] MAINTAINERS: add ARM meson serial driver Amit Singh Tomar @ 2019-04-02 10:05 ` Julien Grall 2019-04-02 20:00 ` André Przywara 3 siblings, 0 replies; 13+ messages in thread From: Julien Grall @ 2019-04-02 10:05 UTC (permalink / raw) To: Amit Singh Tomar, xen-devel; +Cc: andre.przywara, sstabellini Hi, You don't have a cover letter, so I will comment here. I will leave Andre reviewing the patch series. In the future, please include a cover letter if you send more than one patch together. On 21/03/2019 10:25, Amit Singh Tomar wrote: As I pointed out on v2, you are missing the commit message. Please read what I wrote in v2 to know what you need to write here. > Signed-off-by: Amit Singh Tomar <amittomer25@gmail.com> Cheers, -- Julien Grall _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v2 1/3] xen/arm: Add Amlogic Meson SoCs earlyprintk support 2019-03-21 10:25 [PATCH v2 1/3] xen/arm: Add Amlogic Meson SoCs earlyprintk support Amit Singh Tomar ` (2 preceding siblings ...) 2019-04-02 10:05 ` [PATCH v2 1/3] xen/arm: Add Amlogic Meson SoCs earlyprintk support Julien Grall @ 2019-04-02 20:00 ` André Przywara 3 siblings, 0 replies; 13+ messages in thread From: André Przywara @ 2019-04-02 20:00 UTC (permalink / raw) To: Amit Singh Tomar, xen-devel; +Cc: julien.grall, sstabellini On 21/03/2019 10:25, Amit Singh Tomar wrote: > Signed-off-by: Amit Singh Tomar <amittomer25@gmail.com> Apart from the missing commit message: Reviewed-by: Andre Przywara <andre.przywara@arm.com> Tested-by: Andre Przywara <andre.przywara@arm.com> Cheers, Andre. > --- > TODO: > * Capture XEN boot info on WIKI. > > Changes since v1: > > * Fixed coding style issue. > * Undone changes in early-printk.txt. > > Changes since RFC: > > * Replaced LDRH with LDR, with this there > is no scattered output on console now. > * Used tbnz instead of tst and b.ne. > * Used AML_ prefix against register names. > --- > xen/arch/arm/arm64/debug-meson.inc | 51 ++++++++++++++++++++++++++++++++++++++ > 1 file changed, 51 insertions(+) > create mode 100644 xen/arch/arm/arm64/debug-meson.inc > > diff --git a/xen/arch/arm/arm64/debug-meson.inc b/xen/arch/arm/arm64/debug-meson.inc > new file mode 100644 > index 0000000..01b70f0 > --- /dev/null > +++ b/xen/arch/arm/arm64/debug-meson.inc > @@ -0,0 +1,51 @@ > +/* > + * xen/arch/arm/arm64/debug-meson.inc > + * > + * MESON specific debug code. > + * > + * Copyright (c) 2019, Amit Singh Tomar <amittomer25@gmail.com>. > + * > + * This program is free software; you can redistribute it and/or > + * modify it under the terms and conditions of the GNU General Public > + * License, version 2, as published by the Free Software Foundation. > + * > + * This program is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + * General Public License for more details. > + * > + * You should have received a copy of the GNU General Public > + * License along with this program; If not, see <http://www.gnu.org/licenses/>. > + */ > + > +#define AML_UART_WFIFO_REG 0x00 > +#define AML_UART_STATUS_REG 0x0c > + > +#define AML_UART_TX_FIFO_FULL 21 > + > +/* > + * MESON UART wait UART to be ready to transmit > + * xb: register which contains the UART base address > + * c: scratch register > + */ > +.macro early_uart_ready xb c > +1: > + ldr w\c, [\xb, #AML_UART_STATUS_REG] /* status register */ > + tbnz w\c, #AML_UART_TX_FIFO_FULL, 1b /* Check TXFIFO FULL bit */ > +.endm > + > +/* > + * MESON UART transmit character > + * xb: register which contains the UART base address > + * wt: register which contains the character to transmit > + */ > +.macro early_uart_transmit xb wt > + str \wt, [\xb, #AML_UART_WFIFO_REG] > +.endm > + > +/* > + * Local variables: > + * mode: ASM > + * indent-tabs-mode: nil > + * End: > + */ > _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2019-04-09 10:14 UTC | newest] Thread overview: 13+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-03-21 10:25 [PATCH v2 1/3] xen/arm: Add Amlogic Meson SoCs earlyprintk support Amit Singh Tomar 2019-03-21 10:25 ` [PATCH v2 2/3] xen/arm: Add MESON UART driver for Amlogic Meson SoCs Amit Singh Tomar 2019-04-02 20:01 ` André Przywara 2019-04-09 9:39 ` Julien Grall 2019-04-09 9:39 ` [Xen-devel] " Julien Grall 2019-04-09 10:09 ` Amit Tomer 2019-04-09 10:09 ` [Xen-devel] " Amit Tomer 2019-04-09 10:14 ` Julien Grall 2019-04-09 10:14 ` [Xen-devel] " Julien Grall 2019-03-21 10:25 ` [PATCH v2 3/3] MAINTAINERS: add ARM meson serial driver Amit Singh Tomar 2019-04-02 20:01 ` André Przywara 2019-04-02 10:05 ` [PATCH v2 1/3] xen/arm: Add Amlogic Meson SoCs earlyprintk support Julien Grall 2019-04-02 20:00 ` André Przywara
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).