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/mailbox/apple,mailbox.yaml

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 # SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
    2 %YAML 1.2
    3 ---
    4 $id: http://devicetree.org/schemas/mailbox/apple,mailbox.yaml#
    5 $schema: http://devicetree.org/meta-schemas/core.yaml#
    6 
    7 title: Apple Mailbox Controller
    8 
    9 maintainers:
   10   - Hector Martin <marcan@marcan.st>
   11   - Sven Peter <sven@svenpeter.dev>
   12 
   13 description:
   14   The Apple mailbox consists of two FIFOs used to exchange 64+32 bit
   15   messages between the main CPU and a co-processor. Multiple instances
   16   of this mailbox can be found on Apple SoCs.
   17   One of the two FIFOs is used to send data to a co-processor while the other
   18   FIFO is used for the other direction.
   19   Various clients implement different IPC protocols based on these simple
   20   messages and shared memory buffers.
   21 
   22 properties:
   23   compatible:
   24     oneOf:
   25       - description:
   26           ASC mailboxes are the most common variant found on the M1 used
   27           for example for the display controller, the system management
   28           controller and the NVMe coprocessor.
   29         items:
   30           - enum:
   31               - apple,t8103-asc-mailbox
   32               - apple,t6000-asc-mailbox
   33           - const: apple,asc-mailbox-v4
   34 
   35       - description:
   36           M3 mailboxes are an older variant with a slightly different MMIO
   37           interface still found on the M1. It is used for the Thunderbolt
   38           co-processors.
   39         items:
   40           - enum:
   41               - apple,t8103-m3-mailbox
   42               - apple,t6000-m3-mailbox
   43           - const: apple,m3-mailbox-v2
   44 
   45   reg:
   46     maxItems: 1
   47 
   48   interrupts:
   49     items:
   50       - description: send fifo is empty interrupt
   51       - description: send fifo is not empty interrupt
   52       - description: receive fifo is empty interrupt
   53       - description: receive fifo is not empty interrupt
   54 
   55   interrupt-names:
   56     items:
   57       - const: send-empty
   58       - const: send-not-empty
   59       - const: recv-empty
   60       - const: recv-not-empty
   61 
   62   "#mbox-cells":
   63     const: 0
   64 
   65   power-domains:
   66     maxItems: 1
   67 
   68 required:
   69   - compatible
   70   - reg
   71   - interrupts
   72   - interrupt-names
   73   - "#mbox-cells"
   74 
   75 additionalProperties: false
   76 
   77 examples:
   78   - |
   79         mailbox@77408000 {
   80                 compatible = "apple,t8103-asc-mailbox", "apple,asc-mailbox-v4";
   81                 reg = <0x77408000 0x4000>;
   82                 interrupts = <1 583 4>, <1 584 4>, <1 585 4>, <1 586 4>;
   83                 interrupt-names = "send-empty", "send-not-empty",
   84                  "recv-empty", "recv-not-empty";
   85                 #mbox-cells = <0>;
   86         };

Cache object: 0b962a737ce67a00988893c96dd5367b


[ 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.