|
@@ -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>;
|
|
|
+ };
|
|
|
+
|
|
|
+ ...
|
|
|
+ };
|
|
|
+ };
|