xref: /linux/Documentation/driver-api/xilinx/eemi.rst (revision 0526b56cbc3c489642bd6a5fe4b718dea7ef0ee8)
1====================================
2Xilinx Zynq MPSoC EEMI Documentation
3====================================
4
5Xilinx Zynq MPSoC Firmware Interface
6-------------------------------------
7The zynqmp-firmware node describes the interface to platform firmware.
8ZynqMP has an interface to communicate with secure firmware. Firmware
9driver provides an interface to firmware APIs. Interface APIs can be
10used by any driver to communicate with PMC(Platform Management Controller).
11
12Embedded Energy Management Interface (EEMI)
13----------------------------------------------
14The embedded energy management interface is used to allow software
15components running across different processing clusters on a chip or
16device to communicate with a power management controller (PMC) on a
17device to issue or respond to power management requests.
18
19Any driver who wants to communicate with PMC using EEMI APIs use the
20functions provided for each function.
21
22IOCTL
23------
24IOCTL API is for device control and configuration. It is not a system
25IOCTL but it is an EEMI API. This API can be used by master to control
26any device specific configuration. IOCTL definitions can be platform
27specific. This API also manage shared device configuration.
28
29The following IOCTL IDs are valid for device control:
30- IOCTL_SET_PLL_FRAC_MODE	8
31- IOCTL_GET_PLL_FRAC_MODE	9
32- IOCTL_SET_PLL_FRAC_DATA	10
33- IOCTL_GET_PLL_FRAC_DATA	11
34
35Refer EEMI API guide [0] for IOCTL specific parameters and other EEMI APIs.
36
37References
38----------
39[0] Embedded Energy Management Interface (EEMI) API guide:
40    https://www.xilinx.com/support/documentation/user_guides/ug1200-eemi-api.pdf
41