From 8b2982cd59533486c31f6effae45cdf7899209b8 Mon Sep 17 00:00:00 2001 From: Jiewen Yao Date: Sat, 17 Mar 2018 07:41:44 +0800 Subject: PurleyOpenBoardPkg: Initial version. Cc: Isaac W Oram Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jiewen Yao Reviewed-by: Isaac W Oram --- .../Policy/IioUdsDataDxe/IioUdsDataDxe.h | 87 ++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Policy/IioUdsDataDxe/IioUdsDataDxe.h (limited to 'Platform/Intel/PurleyOpenBoardPkg/Policy/IioUdsDataDxe/IioUdsDataDxe.h') diff --git a/Platform/Intel/PurleyOpenBoardPkg/Policy/IioUdsDataDxe/IioUdsDataDxe.h b/Platform/Intel/PurleyOpenBoardPkg/Policy/IioUdsDataDxe/IioUdsDataDxe.h new file mode 100644 index 0000000000..9453ac618d --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Policy/IioUdsDataDxe/IioUdsDataDxe.h @@ -0,0 +1,87 @@ +/** @file + +Copyright (c) 2018, Intel Corporation. All rights reserved.
+This program and the accompanying materials are licensed and made available under +the terms and conditions of the BSD License that accompanies this distribution. +The full text of the license may be found at +http://opensource.org/licenses/bsd-license.php. + +THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + +**/ + +#ifndef _PLATFORM_TYPES_H_ +#define _PLATFORM_TYPES_H_ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + + + + +#define EFI_PLATFORM_TYPE_DRIVER_PRIVATE_SIGNATURE SIGNATURE_32 ('T', 'Y', 'P', 'P') +#define EFI_IIO_UDS_DRIVER_PRIVATE_SIGNATURE SIGNATURE_32 ('S', 'D', 'U', 'I') + + +typedef unsigned char BYTE; //!< 8-bit quantities +typedef unsigned short WORD; //!< 16-bit quantities +typedef unsigned long DWORD; //!< 32-bit quantities + +typedef enum +{ +#ifndef SUCCESS + SUCCESS = 0x00, //!< Packet it good! .data[] is valid +#endif + DEFER = 0x01, //!< Packet is defered. .data[1] = BufID + W_EARLY_NACK = 0x02, //!< Packet mastered on the SMBus by the MCU was NACKed earlier than expected + NOT_RESP = 0x03, //!< Packet mastered on the SMBus by the MCU was NACKed during the address byte + BUFFER_OVERRUN = 0x04, //!< Too many BYTE s were stuffed into the buffer. + NO_BUFFER = 0x05, //!< All the buffers are used + INVALID_BUF = 0x06, //!< Command passed a buffer id that was not in range + BUF_NOT_IN_QUEUE = 0x07, //!< Command passed a buffer id is not being used. + ARBITRATION_LOST = 0x08, //!< While the MCU was mastering a packet on the SMBus it lost arbitration. + TIMEOUT = 0x0B, //!< SMBus timed out. + CHECKSUM_ERR = 0x0C, //!< Operation encountered a checksum mismatch + DATA_NACK = 0x0D, //!< Still don't know what these mean? + BUS_ERR = 0x0E, //!< ? + FAIL = 0x0F, //!< Generic error + BUSY = 0x10, //!< ? + R_EARLY_NACK = 0x11, //!< ? + INVALID_LCD_COL_OFF = 0x12, //!< The cursor on the LCD was set to a column that was out of range. + INVALID_LCD_ROW_OFF = 0x13, //!< The cursor on the LCD was set to a row that was out of range. + INVALID_CK410_SEL = 0x14, //!< ? + CMD_NOT_SUPPORTED = 0x15, //!< This command is not supported + MORE_DATA_AVAILABLE = 0x16, //!< Do the command again to get more data +} STATUS; + +typedef struct { + BYTE byte_count; + STATUS status; + BYTE data[31]; +} BUFFER_RSLT; + +typedef struct { + UINTN Signature; + EFI_HANDLE Handle; // Handle for protocol this driver installs on + EFI_IIO_UDS_PROTOCOL IioUds; // Policy protocol this driver installs +} EFI_IIO_UDS_DRIVER_PRIVATE; + +#endif -- cgit v1.2.3