diff options
Diffstat (limited to 'arm-bcm2835-serial-8250_early-support-aux-uart.patch')
-rw-r--r-- | arm-bcm2835-serial-8250_early-support-aux-uart.patch | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/arm-bcm2835-serial-8250_early-support-aux-uart.patch b/arm-bcm2835-serial-8250_early-support-aux-uart.patch new file mode 100644 index 000000000..5ab954996 --- /dev/null +++ b/arm-bcm2835-serial-8250_early-support-aux-uart.patch @@ -0,0 +1,47 @@ +From 57b76faf1d7860f070a1ee2d0b7eccd9f37ecc55 Mon Sep 17 00:00:00 2001 +From: Matthias Brugger <mbrugger@suse.com> +Date: Sun, 26 Jan 2020 13:33:14 +0100 +Subject: serial: 8250_early: Add earlycon for BCM2835 aux uart + +Define the OF early console for BCM2835 aux UART, which can be enabled +by passing "earlycon" on the boot command line. This UART is found on +BCM283x and BCM27xx SoCs, a.k.a. Raspberry Pi in its variants. + +Signed-off-by: Matthias Brugger <mbrugger@suse.com> +Link: https://lore.kernel.org/r/20200126123314.3558-1-matthias.bgg@kernel.org +Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> +--- + drivers/tty/serial/8250/8250_bcm2835aux.c | 18 ++++++++++++++++++ + 1 file changed, 18 insertions(+) + +diff --git a/drivers/tty/serial/8250/8250_bcm2835aux.c b/drivers/tty/serial/8250/8250_bcm2835aux.c +index e70e3cc30050..5cc03bf24f85 100644 +--- a/drivers/tty/serial/8250/8250_bcm2835aux.c ++++ b/drivers/tty/serial/8250/8250_bcm2835aux.c +@@ -137,6 +137,24 @@ static struct platform_driver bcm2835aux_serial_driver = { + }; + module_platform_driver(bcm2835aux_serial_driver); + ++#ifdef CONFIG_SERIAL_8250_CONSOLE ++ ++static int __init early_bcm2835aux_setup(struct earlycon_device *device, ++ const char *options) ++{ ++ if (!device->port.membase) ++ return -ENODEV; ++ ++ device->port.iotype = UPIO_MEM32; ++ device->port.regshift = 2; ++ ++ return early_serial8250_setup(device, NULL); ++} ++ ++OF_EARLYCON_DECLARE(bcm2835aux, "brcm,bcm2835-aux-uart", ++ early_bcm2835aux_setup); ++#endif ++ + MODULE_DESCRIPTION("BCM2835 auxiliar UART driver"); + MODULE_AUTHOR("Martin Sperl <kernel@martin.sperl.org>"); + MODULE_LICENSE("GPL v2"); +-- +cgit 1.2-0.3.lf.el7 |