XPm_Query EEMI API - 2023.2 English

Versal Adaptive SoC System Software Developers Guide (UG1304)

Document ID
UG1304
Release Date
2023-10-18
Version
2023.2 English

The XPm_Query EEMI API allows a platform management master to request specific configuration information from the PLM.

The following table lists the supported operations in Versal devices.

Table 1. XPm_Query Operations
ID Name Description Arguments
Arg1 Arg2 Return Value
1 XPM_QID_CLOCK_GET_NAME Get the string name associated with a clock id Clock ID -
  • Data[0]: Success/Failure
  • Data[1-4]: String name
2 XPM_QID_CLOCK_GET_TOPOLOGY Get a clock’s topology Clock ID Topology node index
  • Data[0]: Success/Failure
  • Data[1-3]: 3 nodes of topology start from node index (passed in Arg 2)
3 XPM_QID_CLOCK_GET_FIXEDFACTOR_PARAMS Get Fixed Factor value Clock ID -
  • Data[0]: Success/Failure
  • Data[1]: Fixed factor value
4 XPM_QID_CLOCK_GET_MUXSOURCES Get clock multiplexer sources Clock ID Parent node index
  • Data[0]: Success/Failure
  • Data[1-3]: Parents id of a clock, starts from parent index (passed in Arg 2)
5 XPM_QID_CLOCK_GET_ATTRIBUTES Get clock attributes Clock ID -
  • Data[0]: Success/ Failure
  • Data[1] Bit(0): Valid/Invalid clock
  • Data[1] Bit(1): Initial enable requirement
  • Data[1] Bit(2): Clock type (output/external)
  • Data[1] Bit(14:19): Clock node type
  • Data[1] Bit(20-25): Clock node subclass
  • Data[1] Bit(26:31): Clock node class
6 XPM_QID_PINCTRL_GET_NUM_PINS Get the number of pins available for configuration - -
  • Data[0]: Success/Failure
  • Data[1]: Number of pins
7 XPM_QID_PINCTRL_GET_NUM_FUNCTIONS Get the total number of functional units available - -
  • Data[0]: Success/Failure
  • Data[1]: Number of functions
8 XPM_QID_PINCTRL_GET_NUM_FUNCTION_GROUPS Get the number of groups that a function id belongs

Function ID

-
  • Data[0]: Success/Failure
  • Data[1]: Number of groups
9 XPM_QID_PINCTRL_GET_FUNCTION_NAME Get the string name associated with a functional unit

Function id

-
  • Data[0]: Success/ Failure
  • Data[1-3]: String name
10 XPM_QID_PINCTRL_GET_FUNCTION_GROUPS Get group ids that a function id belongs Function ID Index
  • Data[0]: Success/Failure
  • Data[1-3]: 6 groups start from index (Arg2) , each group is of 16 bits
11 XPM_QID_PINCTRL_GET_PIN_GROUPS Get group ids that a pin id could belong Pin id Index
  • Data[0]: Success/Failure
  • Data[1-3]: 6 groups start from index (Arg 2), each group is of 16-bits
12 XPM_QID_CLOCK_GET_NUM_CLOCKS Get the number of clocks - -
  • Data[0]: Success/Failure
  • Data[1]: Number of clocks
13 XPM_QID_CLOCK_GET_MAX_DIVISOR Get the maximum divisor value of a clock Clock ID -
  • Data[0]: Success/Failure
  • Data[1]: Maximum divisor value
14 XPM_QID_PLD_GET_PARENT Get the parent of the PL Device Node PLDevice ID -
  • Data[0]: Success/Failure
  • Data[1]: PlDevice Parent
15 XPM_QID_PINCTRL_GET_ATTRIBUTES Get pin attributes Pin ID  
  • Data[0]: Success/Failure
  • Data[1] Bit(0:13): Pin node index
  • Data[1] Bit(14:19): Pin node type
  • Data[1] Bit(20-25): Pin node
  • Data[1] Bit(26:31): Pin node class