DesignWare UART.
Definition in file dwuart.c.
| static int dwuart_probe |
( |
struct dt_device * |
dt, |
|
|
unsigned int |
offset |
|
) |
| |
|
static |
Probe devicetree device.
- Parameters
-
| dt | Devicetree device |
| offset | Starting node offset |
- Return values
-
Definition at line 45 of file dwuart.c.
65 if ( ! ns16550->
base ) {
73 ns16550->
shift = shift;
80 ns16550->
clock = clock;
92 uart_nullify (
uart );
struct arbelprm_rc_send_wqe rc
void * base
Register base address.
unsigned int shift
Register shift.
int uart_register(struct uart *uart)
Register UART.
#define NS16550_CLK_DEFAULT
Default input clock rate (1.8432 MHz)
#define ENOMEM
Not enough space.
int fdt_u32(struct fdt *fdt, unsigned int offset, const char *name, uint32_t *value)
Get 32-bit integer property.
unsigned int clock
Input clock frequency.
static void dt_set_drvdata(struct dt_device *dt, void *priv)
Set devicetree driver-private data.
void * priv
Driver-private data.
#define ENODEV
No such device.
struct uart_operations ns16550_operations
16550 UART operations
const char * name
Device name.
void * dt_ioremap(struct dt_device *dt, unsigned int offset, unsigned int index, size_t len)
Map devicetree range.
struct uart_operations * op
UART operations.
void iounmap(volatile const void *io_addr)
Unmap I/O address.
struct uart * alloc_uart(size_t priv_len)
Allocate UART.
void uart_unregister(struct uart *uart)
Unregister UART.
uint16_t offset
Offset to command line.
struct fdt sysfdt
The system flattened device tree (if present)
References alloc_uart(), ns16550_uart::base, ns16550_uart::clock, dt_ioremap(), dt_set_drvdata(), ENODEV, ENOMEM, fdt_u32(), iounmap(), dt_device::name, uart::name, NS16550_CLK_DEFAULT, ns16550_operations, offset, uart::op, uart::priv, rc, ns16550_uart::shift, sysfdt, uart_register(), and uart_unregister().