xref: /freebsd/sys/contrib/device-tree/Bindings/mailbox/sophgo,cv1800b-mailbox.yaml (revision ae5de77ed78ae54d86cead5604869212e8008e6b)
1*ae5de77eSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2*ae5de77eSEmmanuel Vadot%YAML 1.2
3*ae5de77eSEmmanuel Vadot---
4*ae5de77eSEmmanuel Vadot$id: http://devicetree.org/schemas/mailbox/sophgo,cv1800b-mailbox.yaml#
5*ae5de77eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*ae5de77eSEmmanuel Vadot
7*ae5de77eSEmmanuel Vadottitle: Sophgo CV1800/SG2000 mailbox controller
8*ae5de77eSEmmanuel Vadot
9*ae5de77eSEmmanuel Vadotmaintainers:
10*ae5de77eSEmmanuel Vadot  - Yuntao Dai <d1581209858@live.com>
11*ae5de77eSEmmanuel Vadot  - Junhui Liu <junhui.liu@pigmoral.tech>
12*ae5de77eSEmmanuel Vadot
13*ae5de77eSEmmanuel Vadotdescription:
14*ae5de77eSEmmanuel Vadot  Mailboxes integrated in Sophgo CV1800/SG2000 SoCs have 8 channels, each
15*ae5de77eSEmmanuel Vadot  shipping an 8-byte FIFO. Any processor can write to an arbitrary channel
16*ae5de77eSEmmanuel Vadot  and raise interrupts to receivers. Sending messages to itself is also
17*ae5de77eSEmmanuel Vadot  supported.
18*ae5de77eSEmmanuel Vadot
19*ae5de77eSEmmanuel Vadotproperties:
20*ae5de77eSEmmanuel Vadot  compatible:
21*ae5de77eSEmmanuel Vadot    const: sophgo,cv1800b-mailbox
22*ae5de77eSEmmanuel Vadot
23*ae5de77eSEmmanuel Vadot  reg:
24*ae5de77eSEmmanuel Vadot    maxItems: 1
25*ae5de77eSEmmanuel Vadot
26*ae5de77eSEmmanuel Vadot  interrupts:
27*ae5de77eSEmmanuel Vadot    maxItems: 1
28*ae5de77eSEmmanuel Vadot
29*ae5de77eSEmmanuel Vadot  "#mbox-cells":
30*ae5de77eSEmmanuel Vadot    const: 2
31*ae5de77eSEmmanuel Vadot    description: |
32*ae5de77eSEmmanuel Vadot      <&phandle channel target>
33*ae5de77eSEmmanuel Vadot      phandle : Label name of mailbox controller
34*ae5de77eSEmmanuel Vadot      channel : 0-7, Channel index
35*ae5de77eSEmmanuel Vadot      target  : 0-3, Target processor ID
36*ae5de77eSEmmanuel Vadot
37*ae5de77eSEmmanuel Vadot      Sophgo CV1800/SG2000 SoCs include the following processors, numbered as:
38*ae5de77eSEmmanuel Vadot      <0> Cortex-A53 (Only available on CV181X/SG200X)
39*ae5de77eSEmmanuel Vadot      <1> C906B
40*ae5de77eSEmmanuel Vadot      <2> C906L
41*ae5de77eSEmmanuel Vadot      <3> 8051
42*ae5de77eSEmmanuel Vadot
43*ae5de77eSEmmanuel Vadotrequired:
44*ae5de77eSEmmanuel Vadot  - compatible
45*ae5de77eSEmmanuel Vadot  - reg
46*ae5de77eSEmmanuel Vadot  - interrupts
47*ae5de77eSEmmanuel Vadot  - "#mbox-cells"
48*ae5de77eSEmmanuel Vadot
49*ae5de77eSEmmanuel VadotadditionalProperties: false
50*ae5de77eSEmmanuel Vadot
51*ae5de77eSEmmanuel Vadotexamples:
52*ae5de77eSEmmanuel Vadot  - |
53*ae5de77eSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
54*ae5de77eSEmmanuel Vadot
55*ae5de77eSEmmanuel Vadot    mailbox@1900000 {
56*ae5de77eSEmmanuel Vadot        compatible = "sophgo,cv1800b-mailbox";
57*ae5de77eSEmmanuel Vadot        reg = <0x01900000 0x1000>;
58*ae5de77eSEmmanuel Vadot        interrupts = <101 IRQ_TYPE_LEVEL_HIGH>;
59*ae5de77eSEmmanuel Vadot        #mbox-cells = <2>;
60*ae5de77eSEmmanuel Vadot    };
61