1*cac73f20SKeng Soon Cheah /*
2*cac73f20SKeng Soon Cheah  * Copyright (c) 2015 National Instruments
3*cac73f20SKeng Soon Cheah  *
4*cac73f20SKeng Soon Cheah  * SPDX-License-Identifier:	GPL-2.0+
5*cac73f20SKeng Soon Cheah  */
6*cac73f20SKeng Soon Cheah 
7*cac73f20SKeng Soon Cheah #include <common.h>
8*cac73f20SKeng Soon Cheah #include <dm.h>
9*cac73f20SKeng Soon Cheah #include <serial.h>
10*cac73f20SKeng Soon Cheah 
11*cac73f20SKeng Soon Cheah static int nulldev_serial_setbrg(struct udevice *dev, int baudrate)
12*cac73f20SKeng Soon Cheah {
13*cac73f20SKeng Soon Cheah 	return 0;
14*cac73f20SKeng Soon Cheah }
15*cac73f20SKeng Soon Cheah 
16*cac73f20SKeng Soon Cheah static int nulldev_serial_getc(struct udevice *dev)
17*cac73f20SKeng Soon Cheah {
18*cac73f20SKeng Soon Cheah 	return -EAGAIN;
19*cac73f20SKeng Soon Cheah }
20*cac73f20SKeng Soon Cheah 
21*cac73f20SKeng Soon Cheah static int nulldev_serial_input(struct udevice *dev)
22*cac73f20SKeng Soon Cheah {
23*cac73f20SKeng Soon Cheah 	return 0;
24*cac73f20SKeng Soon Cheah }
25*cac73f20SKeng Soon Cheah 
26*cac73f20SKeng Soon Cheah static int nulldev_serial_putc(struct udevice *dev, const char ch)
27*cac73f20SKeng Soon Cheah {
28*cac73f20SKeng Soon Cheah 	return 0;
29*cac73f20SKeng Soon Cheah }
30*cac73f20SKeng Soon Cheah 
31*cac73f20SKeng Soon Cheah static const struct udevice_id nulldev_serial_ids[] = {
32*cac73f20SKeng Soon Cheah 	{ .compatible = "nulldev-serial" },
33*cac73f20SKeng Soon Cheah 	{ }
34*cac73f20SKeng Soon Cheah };
35*cac73f20SKeng Soon Cheah 
36*cac73f20SKeng Soon Cheah 
37*cac73f20SKeng Soon Cheah const struct dm_serial_ops nulldev_serial_ops = {
38*cac73f20SKeng Soon Cheah 	.putc = nulldev_serial_putc,
39*cac73f20SKeng Soon Cheah 	.getc = nulldev_serial_getc,
40*cac73f20SKeng Soon Cheah 	.setbrg = nulldev_serial_setbrg,
41*cac73f20SKeng Soon Cheah };
42*cac73f20SKeng Soon Cheah 
43*cac73f20SKeng Soon Cheah U_BOOT_DRIVER(serial_nulldev) = {
44*cac73f20SKeng Soon Cheah 	.name	= "serial_nulldev",
45*cac73f20SKeng Soon Cheah 	.id	= UCLASS_SERIAL,
46*cac73f20SKeng Soon Cheah 	.of_match = nulldev_serial_ids,
47*cac73f20SKeng Soon Cheah 	.ops	= &nulldev_serial_ops,
48*cac73f20SKeng Soon Cheah };
49