Documentation: dt: add bindings for TI Wakeup M3 IPC device
authorDave Gerlach <d-gerlach@ti.com>
Wed, 23 Sep 2015 00:14:53 +0000 (19:14 -0500)
committerTony Lindgren <tony@atomide.com>
Thu, 3 Dec 2015 15:24:05 +0000 (07:24 -0800)
Add the device tree bindings document for the TI Wakeup M3 IPC
device on AM33xx and AM43xx SoCs. These devices are used by the
TI wkup_m3_ipc driver, and contain the registers upon which the
IPC protocol to communicate with the Wakeup M3 processor is
implemented.

Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Documentation/devicetree/bindings/soc/ti/wkup_m3_ipc.txt [new file with mode: 0644]

diff --git a/Documentation/devicetree/bindings/soc/ti/wkup_m3_ipc.txt b/Documentation/devicetree/bindings/soc/ti/wkup_m3_ipc.txt
new file mode 100644 (file)
index 0000000..4015504
--- /dev/null
@@ -0,0 +1,57 @@
+Wakeup M3 IPC Driver
+=====================
+
+The TI AM33xx and AM43xx family of devices use a small Cortex M3 co-processor
+(commonly referred to as Wakeup M3 or CM3) to help with various low power tasks
+that cannot be controlled from the MPU, like suspend/resume and certain deep
+C-states for CPU Idle. Once the wkup_m3_ipc driver uses the wkup_m3_rproc driver
+to boot the wkup_m3, it handles communication with the CM3 using IPC registers
+present in the SoC's control module and a mailbox. The wkup_m3_ipc exposes an
+API to allow the SoC PM code to execute specific PM tasks.
+
+Wkup M3 Device Node:
+====================
+A wkup_m3_ipc device node is used to represent the IPC registers within an
+SoC.
+
+Required properties:
+--------------------
+- compatible:          Should be,
+                               "ti,am3352-wkup-m3-ipc" for AM33xx SoCs
+                               "ti,am4372-wkup-m3-ipc" for AM43xx SoCs
+- reg:                 Contains the IPC register address space to communicate
+                       with the Wakeup M3 processor
+- interrupts:          Contains the interrupt information for the wkup_m3
+                       interrupt that signals the MPU.
+- ti,rproc:            phandle to the wkup_m3 rproc node so the IPC driver
+                       can boot it.
+- mboxes:              phandles used by IPC framework to get correct mbox
+                       channel for communication. Must point to appropriate
+                       mbox_wkupm3 child node.
+
+Example:
+--------
+/* AM33xx */
+       l4_wkup: l4_wkup@44c00000 {
+               ...
+
+               scm: scm@210000 {
+                       compatible = "ti,am3-scm", "simple-bus";
+                       reg = <0x210000 0x2000>;
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges = <0 0x210000 0x2000>;
+
+                       ...
+
+                       wkup_m3_ipc: wkup_m3_ipc@1324 {
+                               compatible = "ti,am3352-wkup-m3-ipc";
+                               reg = <0x1324 0x24>;
+                               interrupts = <78>;
+                               ti,rproc = <&wkup_m3>;
+                               mboxes = <&mailbox &mbox_wkupm3>;
+                       };
+
+                       ...
+               };
+       };