hc
2023-12-11 6778948f9de86c3cfaf36725a7c87dcff9ba247f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
Hisilicon Hi3660 Mailbox Controller
 
Hisilicon Hi3660 mailbox controller supports up to 32 channels.  Messages
are passed between processors, including application & communication
processors, MCU, HIFI, etc.  Each channel is unidirectional and accessed
by using MMIO registers; it supports maximum to 8 words message.
 
Controller
----------
 
Required properties:
- compatible:        : Shall be "hisilicon,hi3660-mbox"
- reg:            : Offset and length of the device's register set
- #mbox-cells:        : Must be 3
             <&phandle channel dst_irq ack_irq>
               phandle    : Label name of controller
               channel    : Channel number
               dst_irq    : Remote interrupt vector
               ack_irq    : Local interrupt vector
 
- interrupts:        : Contains the two IRQ lines for mailbox.
 
Example:
 
mailbox: mailbox@e896b000 {
   compatible = "hisilicon,hi3660-mbox";
   reg = <0x0 0xe896b000 0x0 0x1000>;
   interrupts = <0x0 0xc0 0x4>,
            <0x0 0xc1 0x4>;
   #mbox-cells = <3>;
};
 
Client
------
 
Required properties:
- compatible        : See the client docs
- mboxes        : Standard property to specify a Mailbox (See ./mailbox.txt)
             Cells must match 'mbox-cells' (See Controller docs above)
 
Optional properties
- mbox-names        : Name given to channels seen in the 'mboxes' property.
 
Example:
 
stub_clock: stub_clock@e896b500 {
   compatible = "hisilicon,hi3660-stub-clk";
   reg = <0x0 0xe896b500 0x0 0x0100>;
   #clock-cells = <1>;
   mboxes = <&mailbox 13 3 0>;
};