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