docs: driver-api: add xilinx driver API documentation
authorMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Thu, 13 Jun 2019 17:40:42 +0000 (14:40 -0300)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Mon, 15 Jul 2019 14:03:02 +0000 (11:03 -0300)
The current file there (emmi) provides a description of
the driver uAPI and kAPI.

Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Documentation/driver-api/index.rst
Documentation/driver-api/xilinx/eemi.rst [new file with mode: 0644]
Documentation/driver-api/xilinx/index.rst [new file with mode: 0644]
Documentation/xilinx/eemi.rst [deleted file]
Documentation/xilinx/index.rst [deleted file]

index d1c6513dd20d2df5c6cd05c48b93bd16667b3f78..77322753c1bcbb3e1d34ceb2736d052346bc19cb 100644 (file)
@@ -93,6 +93,7 @@ available subsections can be seen below.
    sync_file
    vfio-mediated-device
    vfio
+   xilinx/index
    xillybus
    zorro
 
diff --git a/Documentation/driver-api/xilinx/eemi.rst b/Documentation/driver-api/xilinx/eemi.rst
new file mode 100644 (file)
index 0000000..9dcbc6f
--- /dev/null
@@ -0,0 +1,67 @@
+====================================
+Xilinx Zynq MPSoC EEMI Documentation
+====================================
+
+Xilinx Zynq MPSoC Firmware Interface
+-------------------------------------
+The zynqmp-firmware node describes the interface to platform firmware.
+ZynqMP has an interface to communicate with secure firmware. Firmware
+driver provides an interface to firmware APIs. Interface APIs can be
+used by any driver to communicate with PMC(Platform Management Controller).
+
+Embedded Energy Management Interface (EEMI)
+----------------------------------------------
+The embedded energy management interface is used to allow software
+components running across different processing clusters on a chip or
+device to communicate with a power management controller (PMC) on a
+device to issue or respond to power management requests.
+
+EEMI ops is a structure containing all eemi APIs supported by Zynq MPSoC.
+The zynqmp-firmware driver maintain all EEMI APIs in zynqmp_eemi_ops
+structure. Any driver who want to communicate with PMC using EEMI APIs
+can call zynqmp_pm_get_eemi_ops().
+
+Example of EEMI ops::
+
+       /* zynqmp-firmware driver maintain all EEMI APIs */
+       struct zynqmp_eemi_ops {
+               int (*get_api_version)(u32 *version);
+               int (*query_data)(struct zynqmp_pm_query_data qdata, u32 *out);
+       };
+
+       static const struct zynqmp_eemi_ops eemi_ops = {
+               .get_api_version = zynqmp_pm_get_api_version,
+               .query_data = zynqmp_pm_query_data,
+       };
+
+Example of EEMI ops usage::
+
+       static const struct zynqmp_eemi_ops *eemi_ops;
+       u32 ret_payload[PAYLOAD_ARG_CNT];
+       int ret;
+
+       eemi_ops = zynqmp_pm_get_eemi_ops();
+       if (IS_ERR(eemi_ops))
+               return PTR_ERR(eemi_ops);
+
+       ret = eemi_ops->query_data(qdata, ret_payload);
+
+IOCTL
+------
+IOCTL API is for device control and configuration. It is not a system
+IOCTL but it is an EEMI API. This API can be used by master to control
+any device specific configuration. IOCTL definitions can be platform
+specific. This API also manage shared device configuration.
+
+The following IOCTL IDs are valid for device control:
+- IOCTL_SET_PLL_FRAC_MODE      8
+- IOCTL_GET_PLL_FRAC_MODE      9
+- IOCTL_SET_PLL_FRAC_DATA      10
+- IOCTL_GET_PLL_FRAC_DATA      11
+
+Refer EEMI API guide [0] for IOCTL specific parameters and other EEMI APIs.
+
+References
+----------
+[0] Embedded Energy Management Interface (EEMI) API guide:
+    https://www.xilinx.com/support/documentation/user_guides/ug1200-eemi-api.pdf
diff --git a/Documentation/driver-api/xilinx/index.rst b/Documentation/driver-api/xilinx/index.rst
new file mode 100644 (file)
index 0000000..13f7589
--- /dev/null
@@ -0,0 +1,16 @@
+
+===========
+Xilinx FPGA
+===========
+
+.. toctree::
+    :maxdepth: 1
+
+    eemi
+
+.. only::  subproject and html
+
+   Indices
+   =======
+
+   * :ref:`genindex`
diff --git a/Documentation/xilinx/eemi.rst b/Documentation/xilinx/eemi.rst
deleted file mode 100644 (file)
index 9dcbc6f..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-====================================
-Xilinx Zynq MPSoC EEMI Documentation
-====================================
-
-Xilinx Zynq MPSoC Firmware Interface
--------------------------------------
-The zynqmp-firmware node describes the interface to platform firmware.
-ZynqMP has an interface to communicate with secure firmware. Firmware
-driver provides an interface to firmware APIs. Interface APIs can be
-used by any driver to communicate with PMC(Platform Management Controller).
-
-Embedded Energy Management Interface (EEMI)
-----------------------------------------------
-The embedded energy management interface is used to allow software
-components running across different processing clusters on a chip or
-device to communicate with a power management controller (PMC) on a
-device to issue or respond to power management requests.
-
-EEMI ops is a structure containing all eemi APIs supported by Zynq MPSoC.
-The zynqmp-firmware driver maintain all EEMI APIs in zynqmp_eemi_ops
-structure. Any driver who want to communicate with PMC using EEMI APIs
-can call zynqmp_pm_get_eemi_ops().
-
-Example of EEMI ops::
-
-       /* zynqmp-firmware driver maintain all EEMI APIs */
-       struct zynqmp_eemi_ops {
-               int (*get_api_version)(u32 *version);
-               int (*query_data)(struct zynqmp_pm_query_data qdata, u32 *out);
-       };
-
-       static const struct zynqmp_eemi_ops eemi_ops = {
-               .get_api_version = zynqmp_pm_get_api_version,
-               .query_data = zynqmp_pm_query_data,
-       };
-
-Example of EEMI ops usage::
-
-       static const struct zynqmp_eemi_ops *eemi_ops;
-       u32 ret_payload[PAYLOAD_ARG_CNT];
-       int ret;
-
-       eemi_ops = zynqmp_pm_get_eemi_ops();
-       if (IS_ERR(eemi_ops))
-               return PTR_ERR(eemi_ops);
-
-       ret = eemi_ops->query_data(qdata, ret_payload);
-
-IOCTL
-------
-IOCTL API is for device control and configuration. It is not a system
-IOCTL but it is an EEMI API. This API can be used by master to control
-any device specific configuration. IOCTL definitions can be platform
-specific. This API also manage shared device configuration.
-
-The following IOCTL IDs are valid for device control:
-- IOCTL_SET_PLL_FRAC_MODE      8
-- IOCTL_GET_PLL_FRAC_MODE      9
-- IOCTL_SET_PLL_FRAC_DATA      10
-- IOCTL_GET_PLL_FRAC_DATA      11
-
-Refer EEMI API guide [0] for IOCTL specific parameters and other EEMI APIs.
-
-References
-----------
-[0] Embedded Energy Management Interface (EEMI) API guide:
-    https://www.xilinx.com/support/documentation/user_guides/ug1200-eemi-api.pdf
diff --git a/Documentation/xilinx/index.rst b/Documentation/xilinx/index.rst
deleted file mode 100644 (file)
index 01cc1a0..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-:orphan:
-
-===========
-Xilinx FPGA
-===========
-
-.. toctree::
-    :maxdepth: 1
-
-    eemi
-
-.. only::  subproject and html
-
-   Indices
-   =======
-
-   * :ref:`genindex`