1 /** @file 2 * 3 * Copyright (c) 2015, Hisilicon Limited. All rights reserved. 4 * Copyright (c) 2015, Linaro Limited. All rights reserved. 5 * 6 * This program and the accompanying materials 7 * are licensed and made available under the terms and conditions of the BSD License 8 * which accompanies this distribution. The full text of the license may be found at 9 * http://opensource.org/licenses/bsd-license.php 10 * 11 * THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 13 * 14 **/ 15 16 #ifndef _HISI_BOARD_NIC_PROTOCOL_H_ 17 #define _HISI_BOARD_NIC_PROTOCOL_H_ 18 19 #define HISI_BOARD_NIC_PROTOCOL_GUID \ 20 { 0xb5903955, 0x31e9, 0x4aaf, { 0xb2, 0x83, 0x7, 0x9f, 0x3c, 0xc4, 0x71, 0x66 } } 21 22 #define HISI_BOARD_XGE_STATUS_PROTOCOL_GUID \ 23 { 0xa6b8ed0e, 0xd8cc, 0x4853, { 0xaa, 0x39, 0x2c, 0x3e, 0xcd, 0x7c, 0xa5, 0x97 } } 24 25 typedef 26 EFI_STATUS 27 (EFIAPI *HISI_BOARD_NIC_GET_MAC_ADDRESS) ( 28 IN OUT EFI_MAC_ADDRESS *Mac, 29 IN UINTN Port 30 ); 31 32 typedef 33 EFI_STATUS 34 (EFIAPI *HISI_BOARD_NIC_SET_MAC_ADDRESS) ( 35 IN EFI_MAC_ADDRESS *Mac, 36 IN UINTN Port 37 ); 38 39 typedef struct { 40 HISI_BOARD_NIC_GET_MAC_ADDRESS GetMac; 41 HISI_BOARD_NIC_SET_MAC_ADDRESS SetMac; 42 } HISI_BOARD_NIC_PROTOCOL; 43 44 typedef 45 VOID 46 (*HISI_BOARD_FEEDBACK_XGE_STATUS) ( 47 BOOLEAN IsLinkup, 48 BOOLEAN IsActOK, 49 UINT32 port 50 ); 51 52 typedef struct { 53 HISI_BOARD_FEEDBACK_XGE_STATUS FeedbackXgeStatus; 54 } HISI_BOARD_XGE_STATUS_PROTOCOL; 55 56 57 extern EFI_GUID gHisiBoardNicProtocolGuid; 58 extern EFI_GUID gHisiBoardXgeStatusProtocolGuid; 59 60 61 #endif 62