summaryrefslogtreecommitdiffstats
path: root/configs/platform-v7a/patches/barebox-2019.01.0/0005-serial_ns16550-add-raspberry-pi-compatible-and-init.patch
diff options
context:
space:
mode:
Diffstat (limited to 'configs/platform-v7a/patches/barebox-2019.01.0/0005-serial_ns16550-add-raspberry-pi-compatible-and-init.patch')
-rw-r--r--configs/platform-v7a/patches/barebox-2019.01.0/0005-serial_ns16550-add-raspberry-pi-compatible-and-init.patch65
1 files changed, 0 insertions, 65 deletions
diff --git a/configs/platform-v7a/patches/barebox-2019.01.0/0005-serial_ns16550-add-raspberry-pi-compatible-and-init.patch b/configs/platform-v7a/patches/barebox-2019.01.0/0005-serial_ns16550-add-raspberry-pi-compatible-and-init.patch
deleted file mode 100644
index 37a4df8..0000000
--- a/configs/platform-v7a/patches/barebox-2019.01.0/0005-serial_ns16550-add-raspberry-pi-compatible-and-init.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From: Rouven Czerwinski <r.czerwinski@pengutronix.de>
-Date: Tue, 11 Dec 2018 10:50:44 +0100
-Subject: [PATCH] serial_ns16550: add raspberry pi compatible and init
-
-Add the compatible for the Raspberry Pi AUX UART and an init function which
-enables it via the aux register and configures the correct shift value.
-
-Signed-off-by: Rouven Czerwinski <r.czerwinski@pengutronix.de>
----
- drivers/serial/serial_ns16550.c | 28 ++++++++++++++++++++++++++++
- 1 file changed, 28 insertions(+)
-
-diff --git a/drivers/serial/serial_ns16550.c b/drivers/serial/serial_ns16550.c
-index 8ddcfdbefc1d..ccd082e495c3 100644
---- a/drivers/serial/serial_ns16550.c
-+++ b/drivers/serial/serial_ns16550.c
-@@ -253,6 +253,23 @@ static void ns16550_jz_init_port(struct console_device *cdev)
- ns16550_serial_init_port(cdev);
- }
-
-+#define BCM2836_AUX_CLOCK_ENB 0x3f215004 /* BCM2835 AUX Clock enable register */
-+#define BCM2836_AUX_CLOCK_EN_UART BIT(0) /* Bit 0 enables the Miniuart */
-+
-+static void rpi_init_port(struct console_device *cdev)
-+{
-+ struct ns16550_priv *priv = to_ns16550_priv(cdev);
-+
-+ writeb(BCM2836_AUX_CLOCK_EN_UART, BCM2836_AUX_CLOCK_ENB);
-+ priv->plat.shift = 2;
-+ /*
-+ * We double the clock rate since the 16550 will divide by 16
-+ * (instead of 8 required by the BCM2835 peripheral manual)
-+ */
-+ priv->plat.clock = priv->plat.clock*2;
-+ ns16550_serial_init_port(cdev);
-+}
-+
- /*********** Exposed Functions **********************************/
-
- /**
-@@ -353,6 +370,11 @@ static __maybe_unused struct ns16550_drvdata tegra_drvdata = {
- .linux_console_name = "ttyS",
- };
-
-+static __maybe_unused struct ns16550_drvdata rpi_drvdata = {
-+ .init_port = rpi_init_port,
-+ .linux_console_name = "ttyS",
-+};
-+
- static int ns16550_init_iomem(struct device_d *dev, struct ns16550_priv *priv)
- {
- struct resource *iores;
-@@ -527,6 +549,12 @@ static struct of_device_id ns16550_serial_dt_ids[] = {
- .compatible = "ingenic,jz4740-uart",
- .data = &jz_drvdata,
- },
-+#endif
-+#if IS_ENABLED(CONFIG_MACH_RPI_COMMON)
-+ {
-+ .compatible = "brcm,bcm2835-aux-uart",
-+ .data = &rpi_drvdata,
-+ },
- #endif
- {
- /* sentinel */