Simon Glass | 2bfb7ef | 2020-12-19 10:39:53 -0700 | [diff] [blame] | 1 | /* SPDX-License-Identifier: GPL-2.0+ */ |
| 2 | /* |
| 3 | * Copyright 2020 Google LLC |
| 4 | * Written by Simon Glass <sjg@chromium.org> |
| 5 | */ |
| 6 | |
| 7 | #ifndef __asm_serial_h |
| 8 | #define __asm_serial_h |
| 9 | |
| 10 | #include <dt-structs.h> |
| 11 | |
| 12 | struct sandbox_serial_plat { |
| 13 | #if CONFIG_IS_ENABLED(OF_PLATDATA) |
| 14 | struct dtd_sandbox_serial dtplat; |
| 15 | #endif |
| 16 | int colour; /* Text colour to use for output, -1 for none */ |
| 17 | }; |
| 18 | |
| 19 | /** |
Sean Anderson | b271161 | 2022-04-04 14:17:59 -0400 | [diff] [blame^] | 20 | * sandbox_serial_written() - Get the total number of characters written |
| 21 | * |
| 22 | * This returns the number of characters written by the sandbox serial |
| 23 | * device. It is intended for performing tests of the serial subsystem |
| 24 | * where a console buffer cannot be used. The absolute number should not be |
| 25 | * relied upon; call this function twice and compare the difference. |
| 26 | * |
| 27 | * Return: The number of characters written |
| 28 | */ |
| 29 | size_t sandbox_serial_written(void); |
| 30 | |
| 31 | /** |
| 32 | * sandbox_serial_endisable() - Enable or disable serial output |
| 33 | * @enabled: Whether serial output should be enabled or not |
| 34 | * |
| 35 | * This allows tests to enable or disable the sandbox serial output. All |
| 36 | * processes relating to writing output (except the actual writing) will be |
| 37 | * performed. |
| 38 | */ |
| 39 | void sandbox_serial_endisable(bool enabled); |
| 40 | |
| 41 | /** |
Simon Glass | 2bfb7ef | 2020-12-19 10:39:53 -0700 | [diff] [blame] | 42 | * struct sandbox_serial_priv - Private data for this driver |
| 43 | * |
| 44 | * @buf: holds input characters available to be read by this driver |
| 45 | */ |
| 46 | struct sandbox_serial_priv { |
| 47 | struct membuff buf; |
| 48 | char serial_buf[16]; |
| 49 | bool start_of_line; |
| 50 | }; |
| 51 | |
| 52 | #endif /* __asm_serial_h */ |