The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/Bindings/soc/ti/wkup_m3_ipc.txt

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    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         };

Cache object: 6e0f0b4397b1b8d86b087374b6a64ac3


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.