1* STMicroelectronics STM32 IPCC (Inter-Processor Communication Controller)
2
3The IPCC block provides a non blocking signaling mechanism to post and
4retrieve messages in an atomic way between two processors.
5It provides the signaling for N bidirectionnal channels. The number of channels
6(N) can be read from a dedicated register.
7
8Required properties:
9- compatible:   Must be "st,stm32mp1-ipcc"
10- reg:          Register address range (base address and length)
11- st,proc-id:   Processor id using the mailbox (0 or 1)
12- clocks:       Input clock
13- interrupt-names: List of names for the interrupts described by the interrupt
14                   property. Must contain the following entries:
15                   - "rx"
16                   - "tx"
17                   - "wakeup"
18- interrupts:   Interrupt specifiers for "rx channel occupied", "tx channel
19                free" and "system wakeup".
20- #mbox-cells:  Number of cells required for the mailbox specifier. Must be 1.
21                The data contained in the mbox specifier of the "mboxes"
22                property in the client node is the mailbox channel index.
23
24Optional properties:
25- wakeup-source: Flag to indicate whether this device can wake up the system
26
27
28
29Example:
30	ipcc: mailbox@4c001000 {
31		compatible = "st,stm32mp1-ipcc";
32		#mbox-cells = <1>;
33		reg = <0x4c001000 0x400>;
34		st,proc-id = <0>;
35		interrupts-extended = <&intc GIC_SPI 100 IRQ_TYPE_NONE>,
36				      <&intc GIC_SPI 101 IRQ_TYPE_NONE>,
37				      <&aiec 62 1>;
38		interrupt-names = "rx", "tx", "wakeup";
39		clocks = <&rcc_clk IPCC>;
40		wakeup-source;
41	}
42
43Client:
44	mbox_test {
45		...
46		mboxes = <&ipcc 0>, <&ipcc 1>;
47	};
48