Orangefs: merge to v4.5
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / soc / ti / wkup_m3_ipc.txt
1 Wakeup M3 IPC Driver
2 =====================
3
4 The TI AM33xx and AM43xx family of devices use a small Cortex M3 co-processor
5 (commonly referred to as Wakeup M3 or CM3) to help with various low power tasks
6 that cannot be controlled from the MPU, like suspend/resume and certain deep
7 C-states for CPU Idle. Once the wkup_m3_ipc driver uses the wkup_m3_rproc driver
8 to boot the wkup_m3, it handles communication with the CM3 using IPC registers
9 present in the SoC's control module and a mailbox. The wkup_m3_ipc exposes an
10 API to allow the SoC PM code to execute specific PM tasks.
11
12 Wkup M3 Device Node:
13 ====================
14 A wkup_m3_ipc device node is used to represent the IPC registers within an
15 SoC.
16
17 Required properties:
18 --------------------
19 - compatible:           Should be,
20                                 "ti,am3352-wkup-m3-ipc" for AM33xx SoCs
21                                 "ti,am4372-wkup-m3-ipc" for AM43xx SoCs
22 - reg:                  Contains the IPC register address space to communicate
23                         with the Wakeup M3 processor
24 - interrupts:           Contains the interrupt information for the wkup_m3
25                         interrupt that signals the MPU.
26 - ti,rproc:             phandle to the wkup_m3 rproc node so the IPC driver
27                         can boot it.
28 - mboxes:               phandles used by IPC framework to get correct mbox
29                         channel for communication. Must point to appropriate
30                         mbox_wkupm3 child node.
31
32 Example:
33 --------
34 /* AM33xx */
35         l4_wkup: l4_wkup@44c00000 {
36                 ...
37
38                 scm: scm@210000 {
39                         compatible = "ti,am3-scm", "simple-bus";
40                         reg = <0x210000 0x2000>;
41                         #address-cells = <1>;
42                         #size-cells = <1>;
43                         ranges = <0 0x210000 0x2000>;
44
45                         ...
46
47                         wkup_m3_ipc: wkup_m3_ipc@1324 {
48                                 compatible = "ti,am3352-wkup-m3-ipc";
49                                 reg = <0x1324 0x24>;
50                                 interrupts = <78>;
51                                 ti,rproc = <&wkup_m3>;
52                                 mboxes = <&mailbox &mbox_wkupm3>;
53                         };
54
55                         ...
56                 };
57         };