xref: /linux/Documentation/devicetree/bindings/mailbox/axiado,ax3005-mailbox.yaml (revision 8bfab832ad6905ba70e69bad87a78f6d90cce64a)
1*289413b8SSwark Yang# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*289413b8SSwark Yang%YAML 1.2
3*289413b8SSwark Yang---
4*289413b8SSwark Yang$id: http://devicetree.org/schemas/mailbox/axiado,ax3005-mailbox.yaml#
5*289413b8SSwark Yang$schema: http://devicetree.org/meta-schemas/core.yaml#
6*289413b8SSwark Yang
7*289413b8SSwark Yangtitle: Axiado AX3005 Mailbox Controller
8*289413b8SSwark Yang
9*289413b8SSwark Yangmaintainers:
10*289413b8SSwark Yang  - Krishnakumar Kesavan <kkesavan@axiado.com>
11*289413b8SSwark Yang  - Prasad Bolisetty <pbolisetty@axiado.com>
12*289413b8SSwark Yang  - Swark Yang <syang@axiado.com>
13*289413b8SSwark Yang
14*289413b8SSwark Yangdescription:
15*289413b8SSwark Yang  The Axiado mailbox controller provides inter-processor communication
16*289413b8SSwark Yang  channels between subsystems within the Axiado SoC. The hardware has
17*289413b8SSwark Yang  separate TX and RX register regions. Only the RX channels (channels 8-15)
18*289413b8SSwark Yang  generate interrupts; TX channels are purely poll/write-based.
19*289413b8SSwark Yang
20*289413b8SSwark Yangproperties:
21*289413b8SSwark Yang  compatible:
22*289413b8SSwark Yang    const: axiado,ax3005-mailbox
23*289413b8SSwark Yang
24*289413b8SSwark Yang  reg:
25*289413b8SSwark Yang    items:
26*289413b8SSwark Yang      - description: TX mailbox register region
27*289413b8SSwark Yang      - description: RX mailbox register region
28*289413b8SSwark Yang
29*289413b8SSwark Yang  reg-names:
30*289413b8SSwark Yang    items:
31*289413b8SSwark Yang      - const: tx
32*289413b8SSwark Yang      - const: rx
33*289413b8SSwark Yang
34*289413b8SSwark Yang  interrupts:
35*289413b8SSwark Yang    description:
36*289413b8SSwark Yang      One interrupt per RX channel. The hardware exposes eight RX interrupt
37*289413b8SSwark Yang      lines corresponding to channels 8 through 15.
38*289413b8SSwark Yang    maxItems: 8
39*289413b8SSwark Yang
40*289413b8SSwark Yang  interrupt-names:
41*289413b8SSwark Yang    description:
42*289413b8SSwark Yang      Named interrupt lines for each RX channel, from ch8 to ch15.
43*289413b8SSwark Yang    items:
44*289413b8SSwark Yang      - const: ch8
45*289413b8SSwark Yang      - const: ch9
46*289413b8SSwark Yang      - const: ch10
47*289413b8SSwark Yang      - const: ch11
48*289413b8SSwark Yang      - const: ch12
49*289413b8SSwark Yang      - const: ch13
50*289413b8SSwark Yang      - const: ch14
51*289413b8SSwark Yang      - const: ch15
52*289413b8SSwark Yang
53*289413b8SSwark Yang  "#mbox-cells":
54*289413b8SSwark Yang    description:
55*289413b8SSwark Yang      Number of cells in a mailbox specifier. A single cell encodes the
56*289413b8SSwark Yang      channel index as seen by the client.
57*289413b8SSwark Yang    const: 1
58*289413b8SSwark Yang
59*289413b8SSwark Yangrequired:
60*289413b8SSwark Yang  - compatible
61*289413b8SSwark Yang  - reg
62*289413b8SSwark Yang  - reg-names
63*289413b8SSwark Yang  - interrupts
64*289413b8SSwark Yang  - interrupt-names
65*289413b8SSwark Yang  - "#mbox-cells"
66*289413b8SSwark Yang
67*289413b8SSwark YangadditionalProperties: false
68*289413b8SSwark Yang
69*289413b8SSwark Yangexamples:
70*289413b8SSwark Yang  - |
71*289413b8SSwark Yang    #include <dt-bindings/interrupt-controller/arm-gic.h>
72*289413b8SSwark Yang
73*289413b8SSwark Yang    soc {
74*289413b8SSwark Yang        #address-cells = <2>;
75*289413b8SSwark Yang        #size-cells = <2>;
76*289413b8SSwark Yang
77*289413b8SSwark Yang        mailbox@330f2000 {
78*289413b8SSwark Yang            compatible = "axiado,ax3005-mailbox";
79*289413b8SSwark Yang            reg = <0x0 0x330f2000 0x0 0x2000>,
80*289413b8SSwark Yang                  <0x0 0x331b0000 0x0 0x1000>;
81*289413b8SSwark Yang            reg-names = "tx", "rx";
82*289413b8SSwark Yang            /* Only RX channels (8-15) have IRQs */
83*289413b8SSwark Yang            interrupts = <GIC_SPI 242 IRQ_TYPE_LEVEL_HIGH>,
84*289413b8SSwark Yang                         <GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH>,
85*289413b8SSwark Yang                         <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>,
86*289413b8SSwark Yang                         <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>,
87*289413b8SSwark Yang                         <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>,
88*289413b8SSwark Yang                         <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>,
89*289413b8SSwark Yang                         <GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>,
90*289413b8SSwark Yang                         <GIC_SPI 249 IRQ_TYPE_LEVEL_HIGH>;
91*289413b8SSwark Yang            interrupt-names = "ch8", "ch9", "ch10", "ch11",
92*289413b8SSwark Yang                              "ch12", "ch13", "ch14", "ch15";
93*289413b8SSwark Yang            interrupt-parent = <&gic500>;
94*289413b8SSwark Yang            #mbox-cells = <1>;
95*289413b8SSwark Yang        };
96*289413b8SSwark Yang    };
97