📄 download_configure.h
字号:
sizeof(X400_EFILE), \ sizeof(X300_ESCUNIT), \ sizeof(X300_CONFIGPARAMS), \ sizeof(X300_DFILE), \ sizeof(X300_PFILE), \ sizeof(X300_EFILE))/* This is the maximum number of .ddl files that can be present on a command line for download_configure.*/#define NUM_DDLS 4/* The Rev. 1 Viper hardware requires a number of workarounds to be done before download. Later versions do not require these workarounds. The following is the ROM address and value read to determine if this is Rev. 1 hardware. The hardware version is in the most significant 16 bits.*/#define VIPER_HWVER_ADDR 0x00003ffc#define VIPER_HWVER_SHIFT 16#define VIPER_HWVER_1 0x0100/* This structure holds all the command line parameters for the program.*/typedef struct{ char dfile[MAXOPTLEN]; /* Dpu File to download. */ char pfile[MAXOPTLEN]; /* eSC POST File to download. */ char efile[MAXOPTLEN]; /* eSC File to download. */ char wfile[MAXOPTLEN]; /* eSC SDRAM Bank Access workaround download file */ char interface[MAXOPTLEN]; /* Ethernet interface */ char unitTable[MAXOPTLEN]; /* Unit Table File */ char configparams[MAXOPTLEN]; /* Configuration File */ char root[MAXOPTLEN]; /* The --root value */ HFTC_Boolean_t rootSpecified; /* Root specified. --root (or -r) was specified. */ HFTC_Boolean_t forceDownload; /* Force a download, regardless of what is running, or what the target is. */ HFTC_Processor_t processorType; /* Target to download DPU or ESC (0 or 1) */ HFTC_PPCIAddress_t destPPCIAddrDpu; /* Target DPU PPCI Address */ HFTC_PPCIAddress_t destPPCIAddrEsc; /* Target eSC PPCI Address */ HFTC_PPCIAddress_t srcPPCIAddr; /* PPCI Address of source */ HFTC_Buffer_t destMACAddr[6]; /* MAC Address of target */ HFTC_Buffer_t srcMACAddr[6]; /* MAC Address of source */ uint32_t codeBufferLen; /* Size of a download piece */ HFTC_Boolean_t noSoftBootReset; /* Don't soft boot reset even if ROM/DIAG code is not running. */ HFTC_Boolean_t forceSoftBootReset; /* Always soft boot reset */ HFTC_Boolean_t noVerify; /* Skip the download verification cycle if this is true. */ HFTC_Boolean_t noSetTod; /* Skip the set time of day after load of DPU if this is true. */ HFTC_Boolean_t noRun; /* Skip issuing the run command after load of each piece of firmware if this is true. */ HFTC_Boolean_t noConfigParams; /* Skip config file if this is true. */ HFTC_Boolean_t noGmacEnable; /* Skip enabling the GMACs if this is true. */ HFTC_Boolean_t miiDownload; /* Set to true if downloading through an MII port. */ HFTC_Boolean_t mii133MHzDownload; /* Set this to true if downloading on a 133 MHz MII port. */ HFTC_Boolean_t bypassPolicy; /* Load a bypass policy (or policies) if this is true.*/ HFTC_Boolean_t promiscuous; /* Put GMACs in promiscuous mode (instead of filter.) */ HFTC_Boolean_t longSdramTest; /* Run long SDRAM test */ HFTC_Boolean_t postMonitorMode; /* Run DPU in POST Monitor mode. */ HFTC_Boolean_t espudpPortsSet; /* True if ESPUDP port values were provided. */ uint32_t espudpPortValues; /* ESPUDP Port values */ uint32_t numDdlFiles; /* Number of DDL files */ char ddlFile[NUM_DDLS][MAXOPTLEN]; /* DDL filename to load. */ HFTC_Processor_t ddlDestination[NUM_DDLS]; /* DDL file destination, HFTC_DPU or HFTC_ESC */} download_param_t;/*------------------------------------* * External Function Prototypes *------------------------------------*/void printUsage(void);HFTC_Status_t read_status(HFTC_Unit_t unit, download_param_t *param_p, uint32_t timeoutSeconds, HFTC_hardware_status_t *hardware_status_p);HFTC_Boolean_t is_viper();HFTC_Status_t register_units_from_param(download_param_t *param_p);HFTC_Status_t register_units_from_param(download_param_t *param_p);HFTC_Status_t viper_reset_patch(download_param_t *param_p);#endif /* DOWNLOAD_CONFIGURE_H *//*----------------------------------------------------------------------------*REV # DATE BY REVISION DESCRIPTION----- -------- ----- ------------------------------------------------------0001 05/23/05 msz Created From download_file.h0002 08/03/05 msz Code review changes.0003 05/02/06 msz Changed default PPCI Address (used by download portion of the code.) (Bug-1642)0004 05/22/06 msz Added promiscuous parameter for filtering (or not) option. Bumped version to 1.20005 06/05/06 rlh Bumped version for 2.0.0006 06/08/06 msz Increased NUM_RETRANSMITS, as with a shorter polling time, retries (especially during a soft reset) will occur more often.0007 06/22/06 msz Added support of --root default options, download of .ddl files, --long-sdram-test, --post-monitor-mode, changed --no-policy to --bypass-policy, added --no-esc-config, --no-gmac-enable.0008 08/29/06 msz Minor changes from mini code review done by Rich.0009 09/07/06 msz Use two sets of default values depending on target type (x300 vs. x400). Added support for --espudp-ports.0010 09/14/06 msz Added a destination PPCI address for eSC so we can properly direct things to the eSC without having reset it first. (Bug 1769). Added a --no-set-tod option and a --no-run option. (Bug 1759)0011 09/18/06 msz Temporarily added register_units_from_param, it is needed by the viper reset patch code.0012 09/25/06 rlh Fixed bug with 'max' macros-- needed more parens. Moved VERSION #defines into .c file.0013 10/09/06 rlh V2.0, build 2: * Added DPU port MTU params. Since the port MTU values are a DPU parameter, generalized the config file to not just handle ESC parameters. * Renamed config/escconfig -> config/configparams and changed all related definitions to be consistent w/ new naming scheme: HFTC_ReadESCConfigFile -> HFTC_ReadConfigFile ESC_PARAMETER -> CONFIG_PARAMETER, esc_parameters -> config_params, etc.0014 10/25/06 msz Moved viper_reset_patch in here so it can be applied once when using a viper. (Bug-1919) It needs to be called a second time on a Viper if we have soft reset.0015 11/02/06 msz Added RETRANSMIT_RETRY_SECONDS, so we only retry for a limited time (rather than loop forever.) Added WAIT_ESC_SECONDS, so we don't wait forever for the eSC to be ready (bug 2091). Added constants for getting Viper hardware version to apply workarounds only for Rev 1 hardware (bug 2075)0016 03/20/07 msz Added RESEND_TIMEOUTS so we will resend on ft-api (or ft-min) timeouts. This should make download over the MII more reliable. (Bug 2307)0016 03/20/07 msz Added RETRANSMIT_RETRY_SECONDS_LONG_POST to give POST code a longer time to run when running long sdram tests. (Bug-2317)*-----------------------------------------------------------------------------*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -