summaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
authorYu Chien Peter Lin <peterlin@andestech.com>2022-10-14 03:32:45 +0300
committerAnup Patel <anup@brainfault.org>2022-10-23 07:56:06 +0300
commit88f58a3694c936791eb875d3cc85f1cde41c3d09 (patch)
tree9b24f852b2f77f83d975b16fd849a54c02470034 /platform
parent9899b59beb840a377fdb62b758506fc5ffbc6b44 (diff)
downloadopensbi-88f58a3694c936791eb875d3cc85f1cde41c3d09.tar.xz
platform: andes/ae350: Use fdt serial driver
Andes UART is compatible with uart8250 driver. We can use fdt_serial_init() as platform console init hook. dts example: serial0: serial@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> Reviewed-by: Anup Patel <anup@brainfault.org>
Diffstat (limited to 'platform')
-rw-r--r--platform/andes/ae350/Kconfig3
-rw-r--r--platform/andes/ae350/platform.c15
-rw-r--r--platform/andes/ae350/platform.h8
3 files changed, 4 insertions, 22 deletions
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