iPXE
Data Structures | Defines | Typedefs | Enumerations | Functions
thunderxcfg.h File Reference

Cavium ThunderX Board Configuration. More...

#include <ipxe/efi/efi.h>

Go to the source code of this file.

Data Structures

struct  _EFI_THUNDER_CONFIG_PROTOCOL
 Protocol structure. More...

Defines

#define MAX_NODES   2
#define CLUSTER_COUNT   3
#define CORE_PER_CLUSTER_COUNT   16
#define CORE_COUNT   (CLUSTER_COUNT*CORE_PER_CLUSTER_COUNT)
#define BGX_PER_NODE_COUNT   2
#define LMAC_PER_BGX_COUNT   4
#define PEM_PER_NODE_COUNT   6
#define LMC_PER_NODE_COUNT   4
#define DIMM_PER_LMC_COUNT   2
#define THUNDERX_CPU_ID(node, cluster, core)   (((node) << 16) | ((cluster) << 8) | (core))
#define EFI_THUNDER_CONFIG_PROTOCOL_GUID   {0xc12b1873, 0xac17, 0x4176, {0xac, 0x77, 0x7e, 0xcb, 0x4d, 0xef, 0xff, 0xec}}

Typedefs

typedef struct
_EFI_THUNDER_CONFIG_PROTOCOL 
EFI_THUNDER_CONFIG_PROTOCOL
 Forward declaration.
typedef EFI_STATUS(EFIAPIEFI_THUNDER_CONFIG_PROTOCOL_GET_CONFIG )(IN EFI_THUNDER_CONFIG_PROTOCOL *This, OUT VOID **cfg)
 Function prototypes.
typedef EFI_STATUS(EFIAPIEFI_THUNDER_CONFIG_PROTOCOL_GET_BGX_PROP )(IN EFI_THUNDER_CONFIG_PROTOCOL *This, IN UINTN NodeId, IN UINTN BgxId, IN BGX_PROPERTY BgxProp, IN UINT64 ValueSize, OUT UINT64 *Value)
typedef EFI_STATUS(EFIAPIEFI_THUNDER_CONFIG_PROTOCOL_GET_LMAC_PROP )(IN EFI_THUNDER_CONFIG_PROTOCOL *This, IN UINTN NodeId, IN UINTN BgxId, IN UINTN LmacId, IN LMAC_PROPERTY LmacProp, IN UINT64 ValueSize, OUT UINT64 *Value)

Enumerations

enum  BGX_PROPERTY {
  BGX_ENABLED, BGX_MODE, LMAC_COUNT, BASE_ADDRESS,
  LMAC_TYPE_BGX, QLM_MASK, QLM_FREQ, USE_TRAINING
}
enum  LMAC_PROPERTY { ENABLED, LANE_TO_SDS, MAC_ADDRESS }

Functions

 FILE_LICENCE (BSD2)

Detailed Description

Cavium ThunderX Board Configuration.

The definitions in this section are extracted from BSD-licensed (but non-public) portions of ThunderPkg.

Definition in file thunderxcfg.h.


Define Documentation

#define MAX_NODES   2

Definition at line 54 of file thunderxcfg.h.

#define CLUSTER_COUNT   3

Definition at line 55 of file thunderxcfg.h.

#define CORE_PER_CLUSTER_COUNT   16

Definition at line 56 of file thunderxcfg.h.

Definition at line 57 of file thunderxcfg.h.

#define BGX_PER_NODE_COUNT   2

Definition at line 58 of file thunderxcfg.h.

#define LMAC_PER_BGX_COUNT   4

Definition at line 59 of file thunderxcfg.h.

#define PEM_PER_NODE_COUNT   6

Definition at line 60 of file thunderxcfg.h.

#define LMC_PER_NODE_COUNT   4

Definition at line 61 of file thunderxcfg.h.

#define DIMM_PER_LMC_COUNT   2

Definition at line 62 of file thunderxcfg.h.

#define THUNDERX_CPU_ID (   node,
  cluster,
  core 
)    (((node) << 16) | ((cluster) << 8) | (core))

Definition at line 64 of file thunderxcfg.h.

#define EFI_THUNDER_CONFIG_PROTOCOL_GUID   {0xc12b1873, 0xac17, 0x4176, {0xac, 0x77, 0x7e, 0xcb, 0x4d, 0xef, 0xff, 0xec}}

Definition at line 87 of file thunderxcfg.h.


Typedef Documentation

Forward declaration.

Definition at line 93 of file thunderxcfg.h.

Function prototypes.

Definition at line 117 of file thunderxcfg.h.

Definition at line 124 of file thunderxcfg.h.

Definition at line 135 of file thunderxcfg.h.


Enumeration Type Documentation

Enumerator:
BGX_ENABLED 
BGX_MODE 
LMAC_COUNT 
BASE_ADDRESS 
LMAC_TYPE_BGX 
QLM_MASK 
QLM_FREQ 
USE_TRAINING 

Definition at line 95 of file thunderxcfg.h.

Enumerator:
ENABLED 
LANE_TO_SDS 
MAC_ADDRESS 

Definition at line 106 of file thunderxcfg.h.


Function Documentation

FILE_LICENCE ( BSD2  )