51 lines
1.4 KiB
C++
51 lines
1.4 KiB
C++
#pragma once
|
|
|
|
#include "Register.h"
|
|
|
|
namespace FM10K{
|
|
namespace registers{
|
|
namespace MGMT{
|
|
enum class DEVICE_CFG_FeatureCode: uint8_t {
|
|
FULL = 0b00,
|
|
HALF = 0b01,
|
|
BASIC = 0b10,
|
|
RESERVED = 0b11,
|
|
};
|
|
|
|
typedef PACKED(struct {
|
|
uint8_t PCIeMode: 4; //Bitfield array [0..3]
|
|
uint8_t Eth100GDisabled: 1;
|
|
DEVICE_CFG_FeatureCode FeatureCode: 2;
|
|
uint16_t PCIeEnable: 9; //Bitfield array [0..8]
|
|
uint8_t SystimeClockSource: 1;
|
|
uint16_t : 15;
|
|
}, uint32_t) DEVICE_CFG;
|
|
const uint32_t DEVICE_CFG__Address = 0x4;
|
|
|
|
|
|
typedef PACKED(struct {
|
|
uint16_t PartNumber : 16;
|
|
uint16_t : 16;
|
|
}, uint32_t) VITAL_PRODUCT_DATA;
|
|
const uint32_t VITAL_PRODUCT_DATA__Address = 0x304;
|
|
|
|
typedef PACKED(struct {
|
|
uint16_t ChipVersion : 7;
|
|
uint32_t : 25;
|
|
}, uint32_t) CHIP_VERSION;
|
|
const uint32_t CHIP_VERSION__Address = 0x452;
|
|
|
|
typedef PACKED(struct {
|
|
uint16_t : 11;
|
|
uint8_t SKU : 5;
|
|
uint8_t VDDS_VRM : 8;
|
|
uint8_t VDDF_VRM : 8;
|
|
}, uint32_t) FUSE_DATA_0;
|
|
const uint32_t FUSE_DATA_0__Address = 0xC0E;
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
|