forked from Mirrors/opensbi
lib: utils: serial: Add Cadence UART driver
Add Cadence UART driver Signed-off-by: Jun Liang Tan <junliang.tan@linux.starfivetech.com> Signed-off-by: Wei Liang Lim <weiliang.lim@linux.starfivetech.com> Reviewed-by: Andrew Jones <ajones@ventanamicro.com> Reviewed-by: Anup Patel <anup@brainfault.org>
This commit is contained in:

committed by
Anup Patel

parent
adf44b51ba
commit
cbaa9b0333
35
lib/utils/serial/fdt_serial_cadence.c
Normal file
35
lib/utils/serial/fdt_serial_cadence.c
Normal file
@@ -0,0 +1,35 @@
|
||||
/*
|
||||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*
|
||||
* Copyright (c) 2022 StarFive Technology Co., Ltd.
|
||||
*
|
||||
* Author: Jun Liang Tan <junliang.tan@linux.starfivetech.com>
|
||||
*/
|
||||
|
||||
#include <sbi_utils/fdt/fdt_helper.h>
|
||||
#include <sbi_utils/serial/fdt_serial.h>
|
||||
#include <sbi_utils/serial/cadence-uart.h>
|
||||
|
||||
static int serial_cadence_init(void *fdt, int nodeoff,
|
||||
const struct fdt_match *match)
|
||||
{
|
||||
int rc;
|
||||
struct platform_uart_data uart = { 0 };
|
||||
|
||||
rc = fdt_parse_uart_node(fdt, nodeoff, &uart);
|
||||
if (rc)
|
||||
return rc;
|
||||
|
||||
return cadence_uart_init(uart.addr, uart.freq, uart.baud);
|
||||
}
|
||||
|
||||
static const struct fdt_match serial_cadence_match[] = {
|
||||
{ .compatible = "cdns,uart-r1p12" },
|
||||
{ .compatible = "starfive,jh8100-uart" },
|
||||
{ },
|
||||
};
|
||||
|
||||
struct fdt_serial fdt_serial_cadence = {
|
||||
.match_table = serial_cadence_match,
|
||||
.init = serial_cadence_init
|
||||
};
|
Reference in New Issue
Block a user