hc
2024-03-26 e0728245c89800c2038c23308f2d88969d5b41c8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
/** @file
*
*  Copyright (c) 2018, Hisilicon Limited. All rights reserved.
*  Copyright (c) 2018, Linaro Limited. All rights reserved.
*
*  SPDX-License-Identifier: BSD-2-Clause-Patent
*
**/
 
 
#ifndef _OEM_NIC_LIB_H_
#define _OEM_NIC_LIB_H_
 
#define ETH_MAX_PORT          8
#define ETH_DEBUG_PORT0       6
#define ETH_DEBUG_PORT1       7
 
#define ETH_SPEED_10M     6
#define ETH_SPEED_100M    7
#define ETH_SPEED_1000M   8
#define ETH_SPEED_10KM    9
#define ETH_HALF_DUPLEX   0
#define ETH_FULL_DUPLEX   1
 
#define ETH_GDD_ID                          0x001378e0
#define ETH_PHY_BCM5241_ID                  0x0143bc30
#define ETH_PHY_MVL88E1145_ID               0x01410cd0
#define ETH_PHY_MVL88E1119_ID               0x01410e80
#define ETH_PHY_MVL88E1512_ID               0x01410dd0
#define ETH_PHY_MVL88E1543_ID               0x01410ea0
#define ETH_PHY_NLP3142_ID                  0x00000412
 
#define ETH_INVALID                         0xffffffff
 
typedef struct {
  UINT32 Valid;
  UINT32 Speed;
  UINT32 Duplex;
  UINT32 PhyId;
  UINT32 PhyAddr;
} ETH_PRODUCT_DESC;
 
BOOLEAN OemIsInitEth (UINT32 Port);
UINT32 OemEthFindFirstSP ();
ETH_PRODUCT_DESC *OemEthInit (UINT32 port);
UINT32 GetCpu1FiberType (UINT8 *Fiber1Type, UINT8 *Fiber2Type);
UINT32 GetCpu2FiberType (UINT8 *Fiber1Type, UINT8 *Fiber2Type, UINT8 *Fiber100Ge);
EFI_STATUS EFIAPI OemGetMac (IN OUT EFI_MAC_ADDRESS *Mac, IN UINTN Port);
EFI_STATUS EFIAPI OemSetMac (IN EFI_MAC_ADDRESS *Mac, IN UINTN Port);
 
#endif