aboutsummaryrefslogtreecommitdiffstats
path: root/target
diff options
context:
space:
mode:
authorRafał Miłecki <rafal@milecki.pl>2018-03-29 15:10:01 +0200
committerRafał Miłecki <rafal@milecki.pl>2018-03-29 15:10:19 +0200
commit707d11971612821829b0ce2002bece77e859dc52 (patch)
tree860dbe31647998284dc36fb8273a199f95791db8 /target
parent4bcf6acb1454a4450c3060054e0e2d15183c836f (diff)
downloadupstream-707d11971612821829b0ce2002bece77e859dc52.tar.gz
upstream-707d11971612821829b0ce2002bece77e859dc52.tar.bz2
upstream-707d11971612821829b0ce2002bece77e859dc52.zip
bcm53xx: fix earlycon regression in kernel 4.14
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Diffstat (limited to 'target')
-rw-r--r--target/linux/bcm53xx/patches-4.14/910-Revert-earlycon-initialise-baud-field-of-earlycon-de.patch33
1 files changed, 33 insertions, 0 deletions
diff --git a/target/linux/bcm53xx/patches-4.14/910-Revert-earlycon-initialise-baud-field-of-earlycon-de.patch b/target/linux/bcm53xx/patches-4.14/910-Revert-earlycon-initialise-baud-field-of-earlycon-de.patch
new file mode 100644
index 0000000000..025781a862
--- /dev/null
+++ b/target/linux/bcm53xx/patches-4.14/910-Revert-earlycon-initialise-baud-field-of-earlycon-de.patch
@@ -0,0 +1,33 @@
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
+Subject: [PATCH] Revert "earlycon: initialise baud field of earlycon device
+ structure"
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This reverts commit 31cb9a8575ca04f47ea113434d4782b695638b62.
+
+It broke earlycon on BCM5301X. Using:
+1) uartclk 1843200 (BASE_BAUD * 16)
+2) early_console_dev.baud 115200
+results in init_port() calculating UART divisor 1. That's a wrong value
+(default one is 54) that breaks serial console output.
+
+Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
+---
+
+--- a/drivers/tty/serial/earlycon.c
++++ b/drivers/tty/serial/earlycon.c
+@@ -283,12 +283,7 @@ int __init of_setup_earlycon(const struc
+ }
+ }
+
+- val = of_get_flat_dt_prop(node, "current-speed", NULL);
+- if (val)
+- early_console_dev.baud = be32_to_cpu(*val);
+-
+ if (options) {
+- early_console_dev.baud = simple_strtoul(options, NULL, 0);
+ strlcpy(early_console_dev.options, options,
+ sizeof(early_console_dev.options));
+ }