diff options
author | Jiewen Yao <jiewen.yao@intel.com> | 2018-03-17 07:40:51 +0800 |
---|---|---|
committer | Jiewen Yao <jiewen.yao@intel.com> | 2018-03-17 07:40:51 +0800 |
commit | 5c164e151c4047efc32f2bd0d6cad730e635c23c (patch) | |
tree | f6c3948c9087dec9dd634a3594d62856b9228f33 /Silicon/Intel/PurleySktPkg/Iio/Include/Protocol/IioSystem.h | |
parent | ba037b96944c1d1a310867f1c6fb515d96444556 (diff) | |
download | edk2-platforms-5c164e151c4047efc32f2bd0d6cad730e635c23c.tar.xz |
PurleySktPkg: Initial version.
Cc: Isaac W Oram <isaac.w.oram@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiewen Yao <jiewen.yao@intel.com>
Reviewed-by: Isaac W Oram <isaac.w.oram@intel.com>
Diffstat (limited to 'Silicon/Intel/PurleySktPkg/Iio/Include/Protocol/IioSystem.h')
-rw-r--r-- | Silicon/Intel/PurleySktPkg/Iio/Include/Protocol/IioSystem.h | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/Silicon/Intel/PurleySktPkg/Iio/Include/Protocol/IioSystem.h b/Silicon/Intel/PurleySktPkg/Iio/Include/Protocol/IioSystem.h new file mode 100644 index 0000000000..b4a2639219 --- /dev/null +++ b/Silicon/Intel/PurleySktPkg/Iio/Include/Protocol/IioSystem.h @@ -0,0 +1,64 @@ +/** @file + +Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> +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 _IIO_SYSTEM_PROTOCOL_H_ +#define _IIO_SYSTEM_PROTOCOL_H_ + +#include <IioPlatformData.h> +#include <IioSetupDefinitions.h> + +// +// IIO System driver Protocol GUID +// +// {DDC3080A-2740-4ec2-9AA5-A0ADEFD6FF9C} +#define EFI_IIO_SYSTEM_GUID \ + { \ + 0xDDC3080A, 0x2740, 0x4ec2, 0x9A, 0xA5, 0xA0, 0xAD, 0xEF, 0xD6, 0xFF, 0x9C \ + } + +extern EFI_GUID gEfiIioSystemProtocolGuid; + +typedef struct _PORT_DESCRIPTOR{ + UINT8 Bus; + UINT8 Device; + UINT8 Function; +}PORT_DESCRIPTOR; + +typedef struct _PORT_ATTRIB{ + UINT8 PortWidth; + UINT8 PortSpeed; +}PORT_ATTRIB; + +EFI_STATUS +IioGetCpuUplinkPort ( + UINT8 IioIndex, + PORT_DESCRIPTOR *PortDescriptor, //Bus, Device, function + BOOLEAN *PortStatus, //TRUE if enabled else disabled + PORT_ATTRIB *PortAttrib //width and speed +); + +typedef +EFI_STATUS +(EFIAPI *IIO_GET_CPU_UPLINK_PORT) ( + IN UINT8 IioIndex, + OUT PORT_DESCRIPTOR *PortDescriptor, + OUT BOOLEAN *PortStatus, + OUT PORT_ATTRIB *PortAttrib +); + +typedef struct _EFI_IIO_SYSTEM_PROTOCOL{ + IIO_GLOBALS *IioGlobalData; + IIO_GET_CPU_UPLINK_PORT IioGetCpuUplinkPort; +} EFI_IIO_SYSTEM_PROTOCOL; + +#endif //_IIO_SYSTEM_PROTOCOL_H_
\ No newline at end of file |