summaryrefslogtreecommitdiffstats
path: root/doc/device-tree
diff options
context:
space:
mode:
authorMadhavan Srinivasan <maddy@linux.vnet.ibm.com>2017-06-22 17:45:16 +0530
committerStewart Smith <stewart@linux.vnet.ibm.com>2017-06-27 15:31:52 +1000
commit7e6499674f154d62d2f136778877cce8f6710df5 (patch)
treeb31be0ed7f9c32a8d2a3b79b4b8274c25eddf3a6 /doc/device-tree
parentc1cf0bc90c4185db4962a05980a3a0e3d639b58a (diff)
downloadblackbird-skiboot-7e6499674f154d62d2f136778877cce8f6710df5.tar.gz
blackbird-skiboot-7e6499674f154d62d2f136778877cce8f6710df5.zip
skiboot/doc: Add devicetree binding document for IMC
Add a device tree binding documentation for the In Memory Collection counter infrastructure. Acked-by: Michael Neuling <mikey@neuling.org> Signed-off-by: Madhavan Srinivasan <maddy@linux.vnet.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'doc/device-tree')
-rw-r--r--doc/device-tree/imc.rst72
1 files changed, 72 insertions, 0 deletions
diff --git a/doc/device-tree/imc.rst b/doc/device-tree/imc.rst
new file mode 100644
index 00000000..8533cc12
--- /dev/null
+++ b/doc/device-tree/imc.rst
@@ -0,0 +1,72 @@
+.. _device-tree/imc:
+
+===========================
+IMC Device Tree Bindings
+===========================
+
+See :ref:`imc` for general In-Memory Collection (IMC) counter information.
+
+imc-counters top-level node
+----------------------------
+.. code-block:: dts
+
+ imc-counters {
+ compatible = "ibm,opal-in-memory-counters";
+ #address-cells = <0x1>;
+ #size-cells = <0x1>;
+ phandle = <0x1000023a>;
+ version-id = <0xd>;
+ /* Denote IMC Events Catalog version used to build this DTS file. */
+
+ };
+
+IMC device/units bindings
+-------------------------
+
+.. code-block:: dts
+
+ mcs3 {
+ compatible = "ibm,imc-counters";
+ events-prefix = "PM_MCS3_"; /* denotes event name to be prefixed to get complete event name supported by this device */
+
+ phandle = <0x10000241>;
+ events = <0x10000242>; /* phandle of the events node supported by this device */
+
+ unit = "MiB";
+ scale = "4"; /* unit and scale for all the events for this device */
+
+ reg = <0x118 0x8>; /* denotes base address for device event updates */
+ type = <0x10>;
+ size = 0x40000;
+ offset = 0x180000;
+ base_addr = <Base address of the counter in reserve memory>
+ /* This is per-chip memory field and OPAL files it based on the no of chip in the system */
+ /* base_addr property also indicates (or hints) kernel whether to memory */
+ /* should be mmapped or allocated at system start for the counters */
+ chipids = <chip-id for the base_addr >
+ };
+
+
+IMC device event bindings
+-------------------------
+
+.. code-block:: dts
+
+ nest-mcs-events {
+ #address-cells = <0x1>;
+ #size-cells = <0x1>;
+ phandle = <0x10000242>;
+
+ event@98 {
+ desc = "Total Write Bandwidth seen on both MCS"; /* event description */
+
+ phandle = <0x1000023d>;
+ reg = <0x98 0x8>; /* event offset,when added with (nest-offset-address + device reg) will point to actual counter memory */
+
+ event-name = "DOWN_128B_DATA_XFER"; /* denotes the actual event name */
+
+ };
+
+ /* List of events supported */
+
+ };
OpenPOWER on IntegriCloud