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 12struct 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/** 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 */ 29size_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 */ 39void sandbox_serial_endisable(bool enabled); 40 41/** 42 * struct sandbox_serial_priv - Private data for this driver 43 * 44 * @buf: holds input characters available to be read by this driver 45 */ 46struct sandbox_serial_priv { 47 struct membuff buf; 48 char serial_buf[16]; 49 bool start_of_line; 50}; 51 52#endif /* __asm_serial_h */ 53