wkup_m3_ipc.txt 1.7 KB

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