mbgtools-lx  4.2.8
Firmware Management

Data Structures

struct  MBG_FW_GLB_INFO
 
struct  MBG_FW_INFO
 
struct  MBG_FW_INFO_IDX
 
struct  MBG_FW_UFU_INFO
 
struct  MBG_FW_UFU_INFO_IDX
 
struct  MBG_FW_UFU_FLASH_CMD
 

Macros

#define _mbg_swab_fw_glb_info(_p)
 
#define MBG_FW_FILE_STRS
 
#define _mbg_swab_fw_info(_p)
 
#define _mbg_swab_fw_info_idx(_p)
 
#define _mbg_swab_fw_ufu_info(_p)
 
#define _mbg_swab_fw_ufu_info_idx(_p)
 
#define _mbg_swab_fw_ufu_flash_cmd(_p)
 

Enumerations

enum  MBG_FW_FLAGS {
  MBG_FW_FLAG_OSV, MBG_FW_FLAG_ACTIVE, MBG_FW_FLAG_UNERASABLE, MBG_FW_FLAG_IMMUTABLE,
  N_MBG_FW_FLAGS
}
 
enum  MBG_FW_FLAG_MSKS { MBG_FW_FLAG_MSK_OSV = (1UL << MBG_FW_FLAG_OSV), MBG_FW_FLAG_MSK_ACTIVE = (1UL << MBG_FW_FLAG_ACTIVE), MBG_FW_FLAG_MSK_UNERASABLE = (1UL << MBG_FW_FLAG_UNERASABLE), MBG_FW_FLAG_MSK_IMMUTABLE = (1UL << MBG_FW_FLAG_IMMUTABLE) }
 
enum  MBG_FW_FILES {
  MBG_FW_FILE_UNKNOWN, MBG_FW_FILE_INCREMENTAL, MBG_FW_FILE_MEINBERG_DTB, MBG_FW_FILE_PRELOADER,
  MBG_FW_FILE_ROOTFS, MBG_FW_FILE_KERNEL_DTB, MBG_FW_FILE_RBF, MBG_FW_FILE_INITRD,
  MBG_FW_FILE_VERSION_TXT, MBG_FW_FILE_KERNEL, N_MBG_FW_FILES
}
 
enum  MBG_FW_FILE_MSKS {
  MBG_FW_FILE_MSK_UNKNOWN = (1UL << MBG_FW_FILE_UNKNOWN), MBG_FW_FILE_MSK_INCREMENTAL = (1UL << MBG_FW_FILE_INCREMENTAL), MBG_FW_FILE_MSK_MEINBERG_DTB = (1UL << MBG_FW_FILE_MEINBERG_DTB), MBG_FW_FILE_MSK_PRELOADER = (1UL << MBG_FW_FILE_PRELOADER),
  MBG_FW_FILE_MSK_ROOTFS = (1UL << MBG_FW_FILE_ROOTFS), MBG_FW_FILE_MSK_KERNEL_DTB = (1UL << MBG_FW_FILE_KERNEL_DTB), MBG_FW_FILE_MSK_RBF = (1UL << MBG_FW_FILE_RBF), MBG_FW_FILE_MSK_INITRD = (1UL << MBG_FW_FILE_INITRD),
  MBG_FW_FILE_MSK_VERSION_TXT = (1UL << MBG_FW_FILE_VERSION_TXT), MBG_FW_FILE_MSK_KERNEL = (1UL << MBG_FW_FILE_KERNEL)
}
 
enum  MBG_FW_UFU_FLASH_CMDS {
  MBG_FW_UFU_FLASH_CMD_DEVICE_UFU, MBG_FW_UFU_FLASH_CMD_UFU_ALL, MBG_FW_UFU_FLASH_CMD_DEVICE, MBG_FW_UFU_FLASH_CMD_TYPE,
  MBG_FW_UFU_FLASH_CMD_ALL, N_MBG_FW_UFU_FLASH_CMDS
}
 Command types used to flash UFU(S) to device(s) More...
 

Detailed Description

Note
These structures and definitions provide extended firmware management for Meinberg devices based on Linux / Windows. if MBG_XFEATURE_FW_MNGMNT is set in the extended device features.

Macro Definition Documentation

◆ _mbg_swab_fw_glb_info

#define _mbg_swab_fw_glb_info (   _p)
Value:
do \
{ \
} while ( 0 )

Definition at line 23192 of file gpsdefs.h.

Referenced by mbgextio_get_fw_glb_info().

◆ _mbg_swab_fw_info

#define _mbg_swab_fw_info (   _p)
Value:
do \
{ \
_mbg_swab32( &(_p)->revision ); \
_mbg_swab32( &(_p)->flags ); \
_mbg_swab16( &(_p)->num_ufus ); \
} while ( 0 )

Definition at line 23278 of file gpsdefs.h.

◆ _mbg_swab_fw_info_idx

#define _mbg_swab_fw_info_idx (   _p)
Value:
do \
{ \
_mbg_swab32( &(_p)->idx ); \
_mbg_swab_fw_info( &(_p)->info ); \
} while ( 0 )

Definition at line 23295 of file gpsdefs.h.

Referenced by mbgextio_get_fw_info_idx().

◆ _mbg_swab_fw_ufu_flash_cmd

#define _mbg_swab_fw_ufu_flash_cmd (   _p)
Value:
do \
{ \
_mbg_swab16( &(_p)->ufu_idx ); \
_mbg_swab16( &(_p)->model_code ); \
} while ( 0 )

Definition at line 23388 of file gpsdefs.h.

Referenced by mbgextio_fw_ufu_flash().

◆ _mbg_swab_fw_ufu_info

#define _mbg_swab_fw_ufu_info (   _p)
Value:
do \
{ \
_mbg_swab32( &(_p)->revision ); \
_mbg_swab16( &(_p)->model_code ); \
} while ( 0 )

Definition at line 23315 of file gpsdefs.h.

◆ _mbg_swab_fw_ufu_info_idx

#define _mbg_swab_fw_ufu_info_idx (   _p)
Value:
do \
{ \
_mbg_swab16( &(_p)->fw_idx ); \
_mbg_swab16( &(_p)->ufu_idx ); \
_mbg_swab_fw_ufu_info( &(_p)->info ); \
} while ( 0 )

Definition at line 23332 of file gpsdefs.h.

Referenced by mbgextio_get_fw_ufu_info_idx().

◆ MBG_FW_FILE_STRS

#define MBG_FW_FILE_STRS
Value:
{ \
"Unknown file(s)", \
"Incremental file(s)", \
"Meinberg device tree", \
"Preloader", \
"Root filesystem", \
"Kernel device tree", \
"FPGA firmware binary", \
"Initial ramdisk", \
"Version.txt", \
"Kernel" \
}

Definition at line 23234 of file gpsdefs.h.

Enumeration Type Documentation

◆ MBG_FW_FILE_MSKS

Enumerator
MBG_FW_FILE_MSK_UNKNOWN 

See MBG_FW_FILE_UNKNOWN.

MBG_FW_FILE_MSK_INCREMENTAL 

See MBG_FW_FILE_INCREMENTAL.

MBG_FW_FILE_MSK_MEINBERG_DTB 

See MBG_FW_FILE_MEINBERG_DTB.

MBG_FW_FILE_MSK_PRELOADER 

See MBG_FW_FILE_PRELOADER.

MBG_FW_FILE_MSK_ROOTFS 

See MBG_FW_FILE_ROOTFS.

MBG_FW_FILE_MSK_KERNEL_DTB 

See MBG_FW_FILE_KERNEL_DTB.

MBG_FW_FILE_MSK_RBF 

See MBG_FW_FILE_RBF.

MBG_FW_FILE_MSK_INITRD 

See MBG_FW_FILE_INITRD.

MBG_FW_FILE_MSK_VERSION_TXT 

See MBG_FW_FILE_VERSION_TXT.

MBG_FW_FILE_MSK_KERNEL 

See MBG_FW_FILE_KERNEL.

Definition at line 23249 of file gpsdefs.h.

◆ MBG_FW_FILES

Enumerator
MBG_FW_FILE_UNKNOWN 

Indicate there are unknown files (older FW scans newer files)

MBG_FW_FILE_INCREMENTAL 

Indicate there are incremental update files.

MBG_FW_FILE_MEINBERG_DTB 

Meinberg device tree describes e.g. front connectors.

MBG_FW_FILE_PRELOADER 

Whatever preloader magic file.

MBG_FW_FILE_ROOTFS 

Root filesystem.

MBG_FW_FILE_KERNEL_DTB 

Kernel device tree.

MBG_FW_FILE_RBF 

FPGA firmware binary.

MBG_FW_FILE_INITRD 

Initial ramdisk.

MBG_FW_FILE_VERSION_TXT 

File containing firmware version.

MBG_FW_FILE_KERNEL 

Kernel (not necessarily Linux)

N_MBG_FW_FILES 

Definition at line 23218 of file gpsdefs.h.

◆ MBG_FW_FLAG_MSKS

Enumerator
MBG_FW_FLAG_MSK_OSV 

See MBG_FW_FLAG_OSV.

MBG_FW_FLAG_MSK_ACTIVE 

See MBG_FW_FLAG_ACTIVE.

MBG_FW_FLAG_MSK_UNERASABLE 

See MBG_FW_FLAG_UNERASABLE.

MBG_FW_FLAG_MSK_IMMUTABLE 

See MBG_FW_FLAG_IMMUTABLE.

Definition at line 23209 of file gpsdefs.h.

◆ MBG_FW_FLAGS

Enumerator
MBG_FW_FLAG_OSV 

Originally Shipped Version.

MBG_FW_FLAG_ACTIVE 

Version is active (currently running)

MBG_FW_FLAG_UNERASABLE 

Firmware cannot be erased / deleted (e.g. OSV)

MBG_FW_FLAG_IMMUTABLE 

Single files (e.g. UFUs) within firmware cannot be updated, added, deleted, etc...

N_MBG_FW_FLAGS 

Definition at line 23198 of file gpsdefs.h.

◆ MBG_FW_UFU_FLASH_CMDS

Command types used to flash UFU(S) to device(s)

Enumerator
MBG_FW_UFU_FLASH_CMD_DEVICE_UFU 

MBG_FW_UFU_FLASH_CMD::ufu_idx and MBG_FW_UFU_FLASH_CMD::xbp_addr must be set. Send one specific UFU to a specific device identified by its XBP address

MBG_FW_UFU_FLASH_CMD_UFU_ALL 

MBG_FW_UFU_FLASH_CMD::ufu_idx must be set. Send one specific UFU to all suitable devices that fit the model code.

MBG_FW_UFU_FLASH_CMD_DEVICE 

MBG_FW_UFU_FLASH_CMD::xbp_addr must be set. Find the newest firmware version for a device identified by its XBP address and flash it.

MBG_FW_UFU_FLASH_CMD_TYPE 

MBG_FW_UFU_FLASH_CMD::model_code must be set. Find the newest firmware version for specific devices identified by the firmware's model code and flash that firmware to all suitable devices.

MBG_FW_UFU_FLASH_CMD_ALL 

Find the newest firmware version for each single device and flash each device with a corresponding firmware.

N_MBG_FW_UFU_FLASH_CMDS 

Definition at line 23344 of file gpsdefs.h.