• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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