1
0
mirror of https://github.com/preble/libpinproc synced 2026-02-24 18:25:23 +01:00

Added function IsStern() to assest PRDevice.cpp in determining the machineType.

This commit is contained in:
Gerry Stellenberg
2009-10-01 22:46:18 -05:00
parent 2a48ff79c9
commit 2efa0ad54c
2 changed files with 16 additions and 0 deletions

View File

@@ -32,6 +32,12 @@
#include "PRHardware.h"
#include "PRCommon.h"
bool_t IsStern (uint32_t hardware_data) {
if ( ((hardware_data & P_ROC_BOARD_VERSION_MASK) >> P_ROC_BOARD_VERSION_SHIFT) == 0x1)
return ( ((hardware_data & P_ROC_AUTO_STERN_DETECT_MASK) >> P_ROC_AUTO_STERN_DETECT_SHIFT) == P_ROC_AUTO_STERN_DETECT_VALUE);
else
return ( ((hardware_data & P_ROC_MANUAL_STERN_DETECT_MASK) >> P_ROC_MANUAL_STERN_DETECT_SHIFT) == P_ROC_MANUAL_STERN_DETECT_VALUE);
}
uint32_t CreateRegRequestWord( uint32_t select, uint32_t addr, uint32_t num_words ) {
return ( (P_ROC_READ << P_ROC_COMMAND_SHIFT) |

View File

@@ -44,6 +44,15 @@ const uint32_t P_ROC_INIT_PATTERN_A = 0x801F1122;
const uint32_t P_ROC_INIT_PATTERN_B = 0x345678AB;
const uint32_t P_ROC_CHIP_ID = 0xFEEDBEEF;
const uint32_t P_ROC_AUTO_STERN_DETECT_SHIFT = 8;
const uint32_t P_ROC_AUTO_STERN_DETECT_MASK = 0x00000100;
const uint32_t P_ROC_AUTO_STERN_DETECT_VALUE = 0x1;
const uint32_t P_ROC_MANUAL_STERN_DETECT_SHIFT = 0;
const uint32_t P_ROC_MANUAL_STERN_DETECT_MASK = 0x00000001;
const uint32_t P_ROC_MANUAL_STERN_DETECT_VALUE = 0x00000000;
const uint32_t P_ROC_BOARD_VERSION_SHIFT = 7;
const uint32_t P_ROC_BOARD_VERSION_MASK = 0x00000080;
const uint32_t P_ROC_ADDR_MASK = 0x000FFFFF;
const uint32_t P_ROC_HEADER_LENGTH_MASK = 0x7FF00000;
const uint32_t P_ROC_COMMAND_MASK = 0x80000000;
@@ -208,6 +217,7 @@ typedef struct PRSwitchRuleInternal {
} PRSwitchRuleInternal;
bool_t IsStern (uint32_t hardware_data);
uint32_t CreateRegRequestWord( uint32_t select, uint32_t addr, uint32_t num_words);
uint32_t CreateBurstCommand ( uint32_t select, uint32_t addr, uint32_t num_words);
int32_t CreateDriverUpdateGlobalConfigBurst ( uint32_t * burst, PRDriverGlobalConfig *driver_globals);