All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jiri Slaby <jirislaby@kernel.org>
To: Stafford Horne <shorne@gmail.com>, LKML <linux-kernel@vger.kernel.org>
Cc: Florent Kermarrec <florent@enjoy-digital.fr>,
	Mateusz Holenko <mholenko@antmicro.com>,
	Joel Stanley <joel@jms.id.au>,
	"Gabriel L . Somlo" <gsomlo@gmail.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Karol Gugala <kgugala@antmicro.com>,
	"Paul E. McKenney" <paulmck@kernel.org>,
	Randy Dunlap <rdunlap@infradead.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vlastimil Babka <vbabka@suse.cz>,
	Viresh Kumar <viresh.kumar@linaro.org>,
	Mike Kravetz <mike.kravetz@oracle.com>,
	Peter Zijlstra <peterz@infradead.org>,
	linux-doc@vger.kernel.org, linux-serial@vger.kernel.org
Subject: Re: [PATCH v2] serial: liteuart: Add support for earlycon
Date: Tue, 18 May 2021 06:57:34 +0200	[thread overview]
Message-ID: <3810b979-e94e-24dc-9a6f-e9989800f7e7@kernel.org> (raw)
In-Reply-To: <20210517115453.24365-1-shorne@gmail.com>

On 17. 05. 21, 13:54, Stafford Horne wrote:
> Most litex boards using RISC-V soft cores us the sbi earlycon, however
> this is not available for non RISC-V litex SoC's.  This patch enables
> earlycon for liteuart which is available on all Litex SoC's making
> support for earycon debugging more widely available.
> 
> Signed-off-by: Stafford Horne <shorne@gmail.com>
> Cc: Florent Kermarrec <florent@enjoy-digital.fr>
> Cc: Mateusz Holenko <mholenko@antmicro.com>
> Cc: Joel Stanley <joel@jms.id.au>
> Cc: Gabriel L. Somlo <gsomlo@gmail.com>
> Reviewed-and-tested-by: Gabriel Somlo <gsomlo@gmail.com>

Reviewed-by: Jiri Slaby <jirislaby@kernel.org>

> ---
> Changes since v1:
>   - Fixed subject
>   - Fixed ifdef and config issues pointed out by Jiri
>   - Use liteuart_putchar instead of early_liteuart_putc
> 
>   .../admin-guide/kernel-parameters.txt         |  5 +++++
>   drivers/tty/serial/Kconfig                    |  1 +
>   drivers/tty/serial/liteuart.c                 | 21 +++++++++++++++++++
>   3 files changed, 27 insertions(+)
> 
> diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
> index 04545725f187..2d4a43af8de2 100644
> --- a/Documentation/admin-guide/kernel-parameters.txt
> +++ b/Documentation/admin-guide/kernel-parameters.txt
> @@ -1084,6 +1084,11 @@
>   			the driver will use only 32-bit accessors to read/write
>   			the device registers.
>   
> +		liteuart,<addr>
> +			Start an early console on a litex serial port at the
> +			specified address. The serial port must already be
> +			setup and configured. Options are not yet supported.
> +
>   		meson,<addr>
>   			Start an early, polled-mode console on a meson serial
>   			port at the specified address. The serial port must
> diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig
> index 0c4cd4a348f4..af41e534483c 100644
> --- a/drivers/tty/serial/Kconfig
> +++ b/drivers/tty/serial/Kconfig
> @@ -1550,6 +1550,7 @@ config SERIAL_LITEUART_CONSOLE
>   	bool "LiteUART serial port console support"
>   	depends on SERIAL_LITEUART=y
>   	select SERIAL_CORE_CONSOLE
> +	select SERIAL_EARLYCON
>   	help
>   	  Say 'Y' or 'M' here if you wish to use the FPGA-based LiteUART serial
>   	  controller from LiteX SoC builder as the system console
> diff --git a/drivers/tty/serial/liteuart.c b/drivers/tty/serial/liteuart.c
> index 64842f3539e1..1b75a4bf7c56 100644
> --- a/drivers/tty/serial/liteuart.c
> +++ b/drivers/tty/serial/liteuart.c
> @@ -370,6 +370,27 @@ static int __init liteuart_console_init(void)
>   	return 0;
>   }
>   console_initcall(liteuart_console_init);
> +
> +static void early_liteuart_write(struct console *console, const char *s,
> +				    unsigned int count)
> +{
> +	struct earlycon_device *device = console->data;
> +	struct uart_port *port = &device->port;
> +
> +	uart_console_write(port, s, count, liteuart_putchar);
> +}
> +
> +static int __init early_liteuart_setup(struct earlycon_device *device,
> +				       const char *options)
> +{
> +	if (!device->port.membase)
> +		return -ENODEV;
> +
> +	device->con->write = early_liteuart_write;
> +	return 0;
> +}
> +
> +OF_EARLYCON_DECLARE(liteuart, "litex,liteuart", early_liteuart_setup);
>   #endif /* CONFIG_SERIAL_LITEUART_CONSOLE */
>   
>   static int __init liteuart_init(void)
> 

thanks,
-- 
js
suse labs

  reply	other threads:[~2021-05-18  4:57 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-17 11:54 [PATCH v2] serial: liteuart: Add support for earlycon Stafford Horne
2021-05-18  4:57 ` Jiri Slaby [this message]
2021-05-18 12:02 ` Joel Stanley
2021-05-18 21:36   ` Stafford Horne

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3810b979-e94e-24dc-9a6f-e9989800f7e7@kernel.org \
    --to=jirislaby@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=corbet@lwn.net \
    --cc=florent@enjoy-digital.fr \
    --cc=gregkh@linuxfoundation.org \
    --cc=gsomlo@gmail.com \
    --cc=joel@jms.id.au \
    --cc=kgugala@antmicro.com \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=mholenko@antmicro.com \
    --cc=mike.kravetz@oracle.com \
    --cc=paulmck@kernel.org \
    --cc=peterz@infradead.org \
    --cc=rdunlap@infradead.org \
    --cc=shorne@gmail.com \
    --cc=tglx@linutronix.de \
    --cc=vbabka@suse.cz \
    --cc=viresh.kumar@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.