Merge tag 'for-linus-5.8b-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / mailbox / st,stm32-ipcc.yaml
1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: "http://devicetree.org/schemas/mailbox/st,stm32-ipcc.yaml#"
5 $schema: "http://devicetree.org/meta-schemas/core.yaml#"
6
7 title: STMicroelectronics STM32 IPC controller bindings
8
9 description:
10   The IPCC block provides a non blocking signaling mechanism to post and
11   retrieve messages in an atomic way between two processors.
12   It provides the signaling for N bidirectionnal channels. The number of
13   channels (N) can be read from a dedicated register.
14
15 maintainers:
16   - Fabien Dessenne <fabien.dessenne@st.com>
17   - Arnaud Pouliquen <arnaud.pouliquen@st.com>
18
19 properties:
20   compatible:
21     const: st,stm32mp1-ipcc
22
23   reg:
24     maxItems: 1
25
26   clocks:
27     maxItems: 1
28
29   interrupts:
30     items:
31       - description: rx channel occupied
32       - description: tx channel free
33       - description: wakeup source
34     minItems: 2
35     maxItems: 3
36
37   interrupt-names:
38     items:
39       - const: rx
40       - const: tx
41       - const: wakeup
42     minItems: 2
43     maxItems: 3
44
45   wakeup-source: true
46
47   "#mbox-cells":
48     const: 1
49
50   st,proc-id:
51     description: Processor id using the mailbox (0 or 1)
52     $ref: /schemas/types.yaml#/definitions/uint32
53     enum: [0, 1]
54
55 required:
56   - compatible
57   - reg
58   - st,proc-id
59   - clocks
60   - interrupt-names
61   - "#mbox-cells"
62   - interrupts
63
64 additionalProperties: false
65
66 examples:
67   - |
68     #include <dt-bindings/interrupt-controller/arm-gic.h>
69     #include <dt-bindings/clock/stm32mp1-clks.h>
70     ipcc: mailbox@4c001000 {
71       compatible = "st,stm32mp1-ipcc";
72       #mbox-cells = <1>;
73       reg = <0x4c001000 0x400>;
74       st,proc-id = <0>;
75       interrupts-extended = <&intc GIC_SPI 100 IRQ_TYPE_NONE>,
76                       <&intc GIC_SPI 101 IRQ_TYPE_NONE>,
77                       <&aiec 62 1>;
78       interrupt-names = "rx", "tx", "wakeup";
79       clocks = <&rcc_clk IPCC>;
80       wakeup-source;
81     };
82
83 ...