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