From: Yu Chien Peter Lin <peterlin@andestech.com>
To: opensbi@lists.infradead.org
Subject: [PATCH 03/12] lib: utils/serial: Add Andes fdt serial driver support
Date: Thu, 15 Sep 2022 09:51:12 +0800 [thread overview]
Message-ID: <20220915015121.27596-4-peterlin@andestech.com> (raw)
In-Reply-To: <20220915015121.27596-1-peterlin@andestech.com>
Andes UART is compatible with uart8250 driver. This patch adds its
compatible string to the match table and use fdt_serial_init() as
platform console init hook.
dts example:
serial0: serial at f0300000 {
compatible = "andestech,uart16550", "ns16550a";
reg = <0x00000000 0xf0300000 0x00000000 0x00001000>;
interrupts = <9 4>;
interrupt-parent = <&plic0>;
clock-frequency = <19660800>;
current-speed = <38400>;
reg-shift = <2>;
reg-offset = <32>;
reg-io-width = <4>;
no-loopback-test = <1>;
};
Signed-off-by: Yu Chien Peter Lin <peterlin@andestech.com>
---
lib/utils/serial/fdt_serial_uart8250.c | 1 +
platform/andes/ae350/Kconfig | 3 ++-
platform/andes/ae350/platform.c | 15 ++-------------
platform/andes/ae350/platform.h | 8 --------
4 files changed, 5 insertions(+), 22 deletions(-)
diff --git a/lib/utils/serial/fdt_serial_uart8250.c b/lib/utils/serial/fdt_serial_uart8250.c
index 7b5d6a4..22cf2d3 100644
--- a/lib/utils/serial/fdt_serial_uart8250.c
+++ b/lib/utils/serial/fdt_serial_uart8250.c
@@ -30,6 +30,7 @@ static const struct fdt_match serial_uart8250_match[] = {
{ .compatible = "ns16550" },
{ .compatible = "ns16550a" },
{ .compatible = "snps,dw-apb-uart" },
+ { .compatible = "andestech,uart16550" },
{ },
};
diff --git a/platform/andes/ae350/Kconfig b/platform/andes/ae350/Kconfig
index 3abad04..8dd8ebe 100644
--- a/platform/andes/ae350/Kconfig
+++ b/platform/andes/ae350/Kconfig
@@ -4,7 +4,8 @@ config PLATFORM_ANDES_AE350
bool
select FDT
select IRQCHIP_PLIC
- select SERIAL_UART8250
+ select FDT_SERIAL
+ select FDT_SERIAL_UART8250
default y
if PLATFORM_ANDES_AE350
diff --git a/platform/andes/ae350/platform.c b/platform/andes/ae350/platform.c
index c07f6be..04428d1 100644
--- a/platform/andes/ae350/platform.c
+++ b/platform/andes/ae350/platform.c
@@ -18,7 +18,7 @@
#include <sbi_utils/fdt/fdt_helper.h>
#include <sbi_utils/fdt/fdt_fixup.h>
#include <sbi_utils/irqchip/plic.h>
-#include <sbi_utils/serial/uart8250.h>
+#include <sbi_utils/serial/fdt_serial.h>
#include "platform.h"
#include "plicsw.h"
#include "plmt.h"
@@ -43,17 +43,6 @@ static int ae350_final_init(bool cold_boot)
return 0;
}
-/* Initialize the platform console. */
-static int ae350_console_init(void)
-{
- return uart8250_init(AE350_UART_ADDR,
- AE350_UART_FREQUENCY,
- AE350_UART_BAUDRATE,
- AE350_UART_REG_SHIFT,
- AE350_UART_REG_WIDTH,
- AE350_UART_REG_OFFSET);
-}
-
/* Initialize the platform interrupt controller for current HART. */
static int ae350_irqchip_init(bool cold_boot)
{
@@ -155,7 +144,7 @@ static int ae350_vendor_ext_provider(long extid, long funcid,
const struct sbi_platform_operations platform_ops = {
.final_init = ae350_final_init,
- .console_init = ae350_console_init,
+ .console_init = fdt_serial_init,
.irqchip_init = ae350_irqchip_init,
diff --git a/platform/andes/ae350/platform.h b/platform/andes/ae350/platform.h
index 9b54816..c699b7f 100644
--- a/platform/andes/ae350/platform.h
+++ b/platform/andes/ae350/platform.h
@@ -22,14 +22,6 @@
#define AE350_L2C_ADDR 0xe0500000
-#define AE350_UART_ADDR_OFFSET 0x20
-#define AE350_UART_ADDR (0xf0300000 + AE350_UART_ADDR_OFFSET)
-#define AE350_UART_FREQUENCY 19660800
-#define AE350_UART_BAUDRATE 38400
-#define AE350_UART_REG_SHIFT 2
-#define AE350_UART_REG_WIDTH 0
-#define AE350_UART_REG_OFFSET 0
-
/*Memory and Miscellaneous Registers*/
#define CSR_MILMB 0x7c0
#define CSR_MDLMB 0x7c1
--
2.34.1
next prev parent reply other threads:[~2022-09-15 1:51 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-15 1:51 [PATCH 00/12] Add Andes AE350 fdt driver support Yu Chien Peter Lin
2022-09-15 1:51 ` [PATCH 01/12] platform: ae350: Remove enabling cache from platform final initailzation Yu Chien Peter Lin
2022-09-20 3:34 ` Leo Liang
2022-09-15 1:51 ` [PATCH 02/12] platform: ae350: Use kconfig to set platform version and default name Yu Chien Peter Lin
2022-09-20 6:56 ` Leo Liang
2022-09-15 1:51 ` Yu Chien Peter Lin [this message]
2022-09-15 2:06 ` [PATCH 03/12] lib: utils/serial: Add Andes fdt serial driver support Jessica Clarke
2022-09-15 1:51 ` [PATCH 04/12] lib: utils/timer: Add Andes fdt timer support Yu Chien Peter Lin
2022-09-15 2:08 ` Jessica Clarke
2022-09-15 1:51 ` [PATCH 05/12] lib: utils/timer: Add PLMT mmio region to root domain Yu Chien Peter Lin
2022-09-22 6:17 ` Leo Liang
2022-09-15 1:51 ` [PATCH 06/12] lib: utils/reset: Add Andes fdt reset driver support Yu Chien Peter Lin
2022-09-22 6:18 ` Leo Liang
2022-09-15 1:51 ` [PATCH 07/12] platform: andes/ae350: Use fdt irqchip driver Yu Chien Peter Lin
2022-09-22 6:28 ` Leo Liang
2022-09-15 1:51 ` [PATCH 08/12] platform: ae350: Add fw_platform_init for platform initialization Yu Chien Peter Lin
2022-09-22 6:29 ` Leo Liang
2022-09-15 1:51 ` [PATCH 09/12] lib: utils/ipi: Add Andes fdt ipi driver support Yu Chien Peter Lin
2022-09-15 2:11 ` Jessica Clarke
2022-09-15 1:51 ` [PATCH 10/12] lib: utils/ipi: Add PLICSW mmio region to root domain Yu Chien Peter Lin
2022-09-22 6:31 ` Leo Liang
2022-09-15 1:51 ` [PATCH 11/12] platform: ae350: Add AE350 domain support Yu Chien Peter Lin
2022-09-22 6:33 ` Leo Liang
2022-09-15 1:51 ` [PATCH 12/12] docs: andes-ae350.md: Update ae350 documentation for fdt driver support Yu Chien Peter Lin
2022-09-15 2:31 ` Jessica Clarke
2022-09-19 13:51 ` Yu-Chien Peter Lin
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=20220915015121.27596-4-peterlin@andestech.com \
--to=peterlin@andestech.com \
--cc=opensbi@lists.infradead.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.