REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737 Apply uncrustify changes to .c/.h files in the ArmPlatformPkg package Cc: Andrew Fish <afish@apple.com> Cc: Leif Lindholm <leif@nuviainc.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Andrew Fish <afish@apple.com>
		
			
				
	
	
		
			184 lines
		
	
	
		
			6.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			184 lines
		
	
	
		
			6.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /** @file
 | |
| 
 | |
|   Copyright (c) 2011-2016, ARM Limited. All rights reserved.
 | |
| 
 | |
|   SPDX-License-Identifier: BSD-2-Clause-Patent
 | |
| 
 | |
| **/
 | |
| 
 | |
| #ifndef __PL011_UART_LIB_H__
 | |
| #define __PL011_UART_LIB_H__
 | |
| 
 | |
| #include <Uefi/UefiBaseType.h>
 | |
| 
 | |
| #include <Protocol/SerialIo.h>
 | |
| 
 | |
| /**
 | |
| 
 | |
|   Initialise the serial port to the specified settings.
 | |
|   All unspecified settings will be set to the default values.
 | |
| 
 | |
|   @param[in]  UartBase            The base address of the serial device.
 | |
|   @param[in]  UartClkInHz         The clock in Hz for the serial device.
 | |
|                                   Ignored if the PCD PL011UartInteger is not 0
 | |
|   @param[in out] BaudRate         The baud rate of the serial device. If the
 | |
|                                   baud rate is not supported, the speed will be
 | |
|                                   reduced to the nearest supported one and the
 | |
|                                   variable's value will be updated accordingly.
 | |
|   @param[in out] ReceiveFifoDepth The number of characters the device will
 | |
|                                   buffer on input.  Value of 0 will use the
 | |
|                                   device's default FIFO depth.
 | |
|   @param[in out]  Parity          If applicable, this is the EFI_PARITY_TYPE
 | |
|                                   that is computed or checked as each character
 | |
|                                   is transmitted or received. If the device
 | |
|                                   does not support parity, the value is the
 | |
|                                   default parity value.
 | |
|   @param[in out]  DataBits        The number of data bits in each character.
 | |
|   @param[in out]  StopBits        If applicable, the EFI_STOP_BITS_TYPE number
 | |
|                                   of stop bits per character.
 | |
|                                   If the device does not support stop bits, the
 | |
|                                   value is the default stop bit value.
 | |
| 
 | |
|   @retval RETURN_SUCCESS            All attributes were set correctly on the
 | |
|                                     serial device.
 | |
|   @retval RETURN_INVALID_PARAMETER  One or more of the attributes has an
 | |
|                                     unsupported value.
 | |
| 
 | |
| **/
 | |
| RETURN_STATUS
 | |
| EFIAPI
 | |
| PL011UartInitializePort (
 | |
|   IN     UINTN               UartBase,
 | |
|   IN     UINT32              UartClkInHz,
 | |
|   IN OUT UINT64              *BaudRate,
 | |
|   IN OUT UINT32              *ReceiveFifoDepth,
 | |
|   IN OUT EFI_PARITY_TYPE     *Parity,
 | |
|   IN OUT UINT8               *DataBits,
 | |
|   IN OUT EFI_STOP_BITS_TYPE  *StopBits
 | |
|   );
 | |
| 
 | |
| /**
 | |
| 
 | |
|   Assert or deassert the control signals on a serial port.
 | |
|   The following control signals are set according their bit settings :
 | |
|   . Request to Send
 | |
|   . Data Terminal Ready
 | |
| 
 | |
|   @param[in]  UartBase  UART registers base address
 | |
|   @param[in]  Control   The following bits are taken into account :
 | |
|                         . EFI_SERIAL_REQUEST_TO_SEND : assert/deassert the
 | |
|                           "Request To Send" control signal if this bit is
 | |
|                           equal to one/zero.
 | |
|                         . EFI_SERIAL_DATA_TERMINAL_READY : assert/deassert
 | |
|                           the "Data Terminal Ready" control signal if this
 | |
|                           bit is equal to one/zero.
 | |
|                         . EFI_SERIAL_HARDWARE_LOOPBACK_ENABLE : enable/disable
 | |
|                           the hardware loopback if this bit is equal to
 | |
|                           one/zero.
 | |
|                         . EFI_SERIAL_SOFTWARE_LOOPBACK_ENABLE : not supported.
 | |
|                         . EFI_SERIAL_HARDWARE_FLOW_CONTROL_ENABLE : enable/
 | |
|                           disable the hardware flow control based on CTS (Clear
 | |
|                           To Send) and RTS (Ready To Send) control signals.
 | |
| 
 | |
|   @retval  RETURN_SUCCESS      The new control bits were set on the device.
 | |
|   @retval  RETURN_UNSUPPORTED  The device does not support this operation.
 | |
| 
 | |
| **/
 | |
| RETURN_STATUS
 | |
| EFIAPI
 | |
| PL011UartSetControl (
 | |
|   IN UINTN   UartBase,
 | |
|   IN UINT32  Control
 | |
|   );
 | |
| 
 | |
| /**
 | |
| 
 | |
|   Retrieve the status of the control bits on a serial device.
 | |
| 
 | |
|   @param[in]   UartBase  UART registers base address
 | |
|   @param[out]  Control   Status of the control bits on a serial device :
 | |
| 
 | |
|                          . EFI_SERIAL_DATA_CLEAR_TO_SEND,
 | |
|                            EFI_SERIAL_DATA_SET_READY,
 | |
|                            EFI_SERIAL_RING_INDICATE,
 | |
|                            EFI_SERIAL_CARRIER_DETECT,
 | |
|                            EFI_SERIAL_REQUEST_TO_SEND,
 | |
|                            EFI_SERIAL_DATA_TERMINAL_READY
 | |
|                            are all related to the DTE (Data Terminal Equipment)
 | |
|                            and DCE (Data Communication Equipment) modes of
 | |
|                            operation of the serial device.
 | |
|                          . EFI_SERIAL_INPUT_BUFFER_EMPTY : equal to one if the
 | |
|                            receive buffer is empty, 0 otherwise.
 | |
|                          . EFI_SERIAL_OUTPUT_BUFFER_EMPTY : equal to one if the
 | |
|                            transmit buffer is empty, 0 otherwise.
 | |
|                          . EFI_SERIAL_HARDWARE_LOOPBACK_ENABLE : equal to one if
 | |
|                            the hardware loopback is enabled (the output feeds the
 | |
|                            receive buffer), 0 otherwise.
 | |
|                          . EFI_SERIAL_SOFTWARE_LOOPBACK_ENABLE : equal to one if
 | |
|                            a loopback is accomplished by software, 0 otherwise.
 | |
|                          . EFI_SERIAL_HARDWARE_FLOW_CONTROL_ENABLE : equal to
 | |
|                            one if the hardware flow control based on CTS (Clear
 | |
|                            To Send) and RTS (Ready To Send) control signals is
 | |
|                            enabled, 0 otherwise.
 | |
| 
 | |
|   @retval RETURN_SUCCESS  The control bits were read from the serial device.
 | |
| 
 | |
| **/
 | |
| RETURN_STATUS
 | |
| EFIAPI
 | |
| PL011UartGetControl (
 | |
|   IN UINTN    UartBase,
 | |
|   OUT UINT32  *Control
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Write data to serial device.
 | |
| 
 | |
|   @param  Buffer           Point of data buffer which need to be written.
 | |
|   @param  NumberOfBytes    Number of output bytes which are cached in Buffer.
 | |
| 
 | |
|   @retval 0                Write data failed.
 | |
|   @retval !0               Actual number of bytes written to serial device.
 | |
| 
 | |
| **/
 | |
| UINTN
 | |
| EFIAPI
 | |
| PL011UartWrite (
 | |
|   IN  UINTN  UartBase,
 | |
|   IN  UINT8  *Buffer,
 | |
|   IN  UINTN  NumberOfBytes
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Read data from serial device and save the data in buffer.
 | |
| 
 | |
|   @param  Buffer           Point of data buffer which need to be written.
 | |
|   @param  NumberOfBytes    Number of output bytes which are cached in Buffer.
 | |
| 
 | |
|   @retval 0                Read data failed.
 | |
|   @retval !0               Actual number of bytes read from serial device.
 | |
| 
 | |
| **/
 | |
| UINTN
 | |
| EFIAPI
 | |
| PL011UartRead (
 | |
|   IN  UINTN  UartBase,
 | |
|   OUT UINT8  *Buffer,
 | |
|   IN  UINTN  NumberOfBytes
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Check to see if any data is available to be read from the debug device.
 | |
| 
 | |
|   @retval TRUE       At least one byte of data is available to be read
 | |
|   @retval FALSE      No data is available to be read
 | |
| 
 | |
| **/
 | |
| BOOLEAN
 | |
| EFIAPI
 | |
| PL011UartPoll (
 | |
|   IN  UINTN  UartBase
 | |
|   );
 | |
| 
 | |
| #endif
 |