Skip to content

Digilent/dpmutil

Repository files navigation

dpmutil

Digilent Platform Management Utility

Description

The Digilent Platform Management Utility (dpmutil) provides a cross platform API for discovering Zmods (SYZYGY Pods) attached to a Digilent platform board, acquiring information about them, acquiring information about the Digilent platform board, and setting certain settings pertaining to the configuration of the Digilent platform board.

Usage

Include the top level header file, dpmutil.h. All dpmutil functions and structs are prefixed with "dpmutil"

Functions

Function Description
dpmutilFGetInfo Get general configuration and information about the supported features of the Platform MCU (PMCU). This function communicates with the PMCU over the I2C bus to retrieve general information about the capabilities of the PMCU and the board configuration. This information includes the PMCU firwmare revision, SmartVIO port count, power supply group counts (5V0, 3V3, VADJ), the number of temperature probes supported by the board, and the number of fans supported by the board. If the board supports one or more temperature probe then the capabilities of each supported probe and the most recent temperature measurement of that probe are displayed via the console. If the board supports one or more fan then the capabilities of each supported fan are displayed via the console and if a fan supports RPM measurement then the most recent RPM measurement is also displayed.
dpmutilFGetInfoPower Get information about the on board power supplies (5V0, 3V3, VIO) that are associated with the on board SmartVIO ports. This function communicates with the Platform MCU (PMCU) over I2C to determine the number of on board 5V0, 3V3, and VIO power supplies that are associated with the on board VIO ports and to retrieve various information about each of these supplies. The "chanid <0...7>" parameter can be used to specify the channel ID of a specific power supply. If chanid = -1 this function will retrieve and display information for every channel supported by the board.
dpmutilFGetInfo5V0 Get information about the on board 5V0 power supplies that are associated with the on board SmartVIO ports. This function communicates with the Platform MCU (PMCU) over I2C to determine the number of on board 5V0 power supplies, to retrieve the amount of current that each supply is capable of providing, and to retrieve the sum of current requested by all SmartVIO ports that are associated with each supply. All of this information is output to the console. The "chanid <0...7>" parameter can be used to specify the channel ID of a specific power supply. If chanid = -1 this function will retrieve and display information for every channel supported by the board.
dpmutilFGetInfo3V3 Get information about the on board 3V3 power supplies that are associated with the on board SmartVIO ports. This function communicates with the Platform MCU (PMCU) over I2C to determine the number of on board 3V3 power supplies, to retrieve the amount of current that each supply is capable of providing, and to retrieve the sum of current requested by all SmartVIO ports that are associated with each supply. All of this information is output to the console. The "chanid <0...7>" parameter can be used to specify the channel ID of a specific power supply. If chanid = -1 this function will retrieve and display information for every channel supported by the board.
dpmutilFGetInfoVio Get information about the on board VIO (VADJ) power supplies that are associated with the on board SmartVIO ports. This function communicates with the Platform MCU (PMCU) over I2C to determine the number of on board VIO power supplies, to retrieve the amount of current that each supply is capable of providing, to retrieve the sum of current requested by all SmartVIO ports that are associated with each supply, and to retrieve all status and configuration information associated with each supply. All of this information is output to the console. The "chanid <0...7>" parameter can be used to specify the channel ID of a specific power supply. If chanid = -1 this function will retrieve and display information for every channel supported by the board.
dpmutilFEnum Enumerate SmartVIO ports. This function communicates with the Platform MCU over the I2C bus to determine how many SmartVIO ports the board supports and to retrieve the configuration and status of those ports. If a SmartVIO port has a SYZYGY pod installed then the I2C bus is used to retrieve the Standard SYZYGY firmware registers and the SYZYGY DNA (including all string fields) and that information is output to the console.
dpmutilFSetPlatformConfig Modify one or more field of the Platform MCU (PMCU) Platform configuration Register. This function uses the I2C bus to retrieve the contents of the PMCU's Platform Configuration Register, modifies the specified field(s) of the register, and then writes the new settings to the register. Settings that may be modified include enforcing the 5V0 current limit, enforcing the 3V3 current limit, enforcing the VOI current limit, and performing CRC checks of SYZYGY headers. Please note that the Platform Configuration is stored in the PMCU's EEPROM and is only read during firmware initialization. Therefore any changes made to the Platform Configuration Register will not take effect until the next time the PMCU is reset.
dpmutilFSetVioConfig Modify one or more field of the Platform MCU (PMCU) VADJ_n_OVERRIDE register. The VADJ_n_OVERRIDE register can be used to override the state of a specific VIO supply. This includes enabling or disabling the supply, as well as setting the output voltage. When a VADJ_n_OVERRIDE register is written the PMCU will check to make sure that the specified settings do not conflict with the requirements of any SmartVIO port associated with the specified supply. If there aren't any conflicts then the specified settings will take place immediately. However, if there is a conflict then the changes to the VADJ_n_OVERRIDE register, and the associated power supply, will be restricted in order to meet the requirements of all associated SmartVIO ports.
dpmutilFSetFanConfig Modify one or more field of the Platform MCU (PMCU) FAN_n_CONFIGURATION register. The FAN_n_CONFIGURATION register is used to specify the settings of the associated fan. This may include the enable state of the fan, the fan's speed, and the associated temperature probe. Please note that not all fan ports support enable/disable, fixed speed control, or automatic speed control (temperature based). Changes to a FAN_n_CONFIGURATION register will be restricted to the be within the supported capabilities of the port and take effect immediately after the register is written. Additionally, the FAN configuration is written to EEPROM and will be restored each time the PMCU is reset or power cycled.
dpmutilFResetPMCU This function uses the I2C bus to write a positive value to the software reset register of the Platform MCU (PMCU), which causes the process to perform a software reset.

About

Digilent Platform Management Utility

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages