forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
86 lines
2.4 KiB
86 lines
2.4 KiB
# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause |
|
%YAML 1.2 |
|
--- |
|
$id: http://devicetree.org/schemas/mailbox/apple,mailbox.yaml# |
|
$schema: http://devicetree.org/meta-schemas/core.yaml# |
|
|
|
title: Apple Mailbox Controller |
|
|
|
maintainers: |
|
- Hector Martin <[email protected]> |
|
- Sven Peter <[email protected]> |
|
|
|
description: |
|
The Apple mailbox consists of two FIFOs used to exchange 64+32 bit |
|
messages between the main CPU and a co-processor. Multiple instances |
|
of this mailbox can be found on Apple SoCs. |
|
One of the two FIFOs is used to send data to a co-processor while the other |
|
FIFO is used for the other direction. |
|
Various clients implement different IPC protocols based on these simple |
|
messages and shared memory buffers. |
|
|
|
properties: |
|
compatible: |
|
oneOf: |
|
- description: |
|
ASC mailboxes are the most common variant found on the M1 used |
|
for example for the display controller, the system management |
|
controller and the NVMe coprocessor. |
|
items: |
|
- enum: |
|
- apple,t8103-asc-mailbox |
|
- apple,t6000-asc-mailbox |
|
- const: apple,asc-mailbox-v4 |
|
|
|
- description: |
|
M3 mailboxes are an older variant with a slightly different MMIO |
|
interface still found on the M1. It is used for the Thunderbolt |
|
co-processors. |
|
items: |
|
- enum: |
|
- apple,t8103-m3-mailbox |
|
- apple,t6000-m3-mailbox |
|
- const: apple,m3-mailbox-v2 |
|
|
|
reg: |
|
maxItems: 1 |
|
|
|
interrupts: |
|
items: |
|
- description: send fifo is empty interrupt |
|
- description: send fifo is not empty interrupt |
|
- description: receive fifo is empty interrupt |
|
- description: receive fifo is not empty interrupt |
|
|
|
interrupt-names: |
|
items: |
|
- const: send-empty |
|
- const: send-not-empty |
|
- const: recv-empty |
|
- const: recv-not-empty |
|
|
|
"#mbox-cells": |
|
const: 0 |
|
|
|
power-domains: |
|
maxItems: 1 |
|
|
|
required: |
|
- compatible |
|
- reg |
|
- interrupts |
|
- interrupt-names |
|
- "#mbox-cells" |
|
|
|
additionalProperties: false |
|
|
|
examples: |
|
- | |
|
mailbox@77408000 { |
|
compatible = "apple,t8103-asc-mailbox", "apple,asc-mailbox-v4"; |
|
reg = <0x77408000 0x4000>; |
|
interrupts = <1 583 4>, <1 584 4>, <1 585 4>, <1 586 4>; |
|
interrupt-names = "send-empty", "send-not-empty", |
|
"recv-empty", "recv-not-empty"; |
|
#mbox-cells = <0>; |
|
};
|
|
|