dm: serial: add "serial_dev_" API for normal serial device
"serial_" API is designed for UART debug and "serial_stub_" API is designed for stdio device(e.g. keyboard, video, lcd...). We need new API for normal serial device, e.g. a UART working with other peripheral device. Signed-off-by: Joseph Chen <chenjh@rock-chips.com> Change-Id: Ifc2cb2ca9c1d4a395e89ceb5e059ec05a07b1967
This commit is contained in:
parent
5d5f363eb9
commit
7ebffaaf20
|
|
@ -307,6 +307,58 @@ void serial_clear(void)
|
|||
__serial_clear(gd->cur_serial_dev);
|
||||
}
|
||||
|
||||
void serial_dev_putc(struct udevice *dev, char ch)
|
||||
{
|
||||
if (!dev)
|
||||
return;
|
||||
|
||||
_serial_putc(dev, ch);
|
||||
}
|
||||
|
||||
void serial_dev_puts(struct udevice *dev, const char *str)
|
||||
{
|
||||
if (!dev)
|
||||
return;
|
||||
|
||||
_serial_puts(dev, str);
|
||||
}
|
||||
|
||||
int serial_dev_getc(struct udevice *dev)
|
||||
{
|
||||
if (!dev)
|
||||
return 0;
|
||||
|
||||
return _serial_getc(dev);
|
||||
}
|
||||
|
||||
int serial_dev_tstc(struct udevice *dev)
|
||||
{
|
||||
if (!dev)
|
||||
return 0;
|
||||
|
||||
return _serial_tstc(dev);
|
||||
}
|
||||
|
||||
void serial_dev_setbrg(struct udevice *dev, int baudrate)
|
||||
{
|
||||
struct dm_serial_ops *ops;
|
||||
|
||||
if (!dev)
|
||||
return;
|
||||
|
||||
ops = serial_get_ops(dev);
|
||||
if (ops->setbrg)
|
||||
ops->setbrg(dev, baudrate);
|
||||
}
|
||||
|
||||
void serial_dev_clear(struct udevice *dev)
|
||||
{
|
||||
if (!dev)
|
||||
return;
|
||||
|
||||
__serial_clear(dev);
|
||||
}
|
||||
|
||||
void serial_stdio_init(void)
|
||||
{
|
||||
}
|
||||
|
|
|
|||
|
|
@ -207,4 +207,12 @@ void sh_serial_initialize(void);
|
|||
void uartlite_serial_initialize(void);
|
||||
void zynq_serial_initialize(void);
|
||||
|
||||
/* serial device */
|
||||
int serial_dev_getc(struct udevice *dev);
|
||||
int serial_dev_tstc(struct udevice *dev);
|
||||
void serial_dev_putc(struct udevice *dev, char ch);
|
||||
void serial_dev_puts(struct udevice *dev, const char *str);
|
||||
void serial_dev_setbrg(struct udevice *dev, int baudrate);
|
||||
void serial_dev_clear(struct udevice *dev);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Reference in New Issue