forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'mailbox-v5.1' of git://git.linaro.org/landing-teams/workin…
…g/fujitsu/integration Pull mailbox updates from Jassi Brar: - mailbox-test: support multiple controller instances - misc cleanup: IMX, STM32 and Tegra - new driver: ZynqMP IPI * tag 'mailbox-v5.1' of git://git.linaro.org/landing-teams/working/fujitsu/integration: mailbox: imx: keep MU irq working during suspend/resume dt-bindings: mailbox: Add Xilinx IPI Mailbox mailbox: ZynqMP IPI mailbox controller mailbox: stm32-ipcc: remove useless device_init_wakeup call mailbox: stm32-ipcc: do not enable wakeup source by default mailbox: mailbox-test: fix null pointer if no mmio mailbox: mailbox-test: fix debugfs in multi-instances mailbox: tegra-hsp: mark suspend function as __maybe_unused
- Loading branch information
Showing
9 changed files
with
903 additions
and
18 deletions.
There are no files selected for viewing
127 changes: 127 additions & 0 deletions
127
Documentation/devicetree/bindings/mailbox/xlnx,zynqmp-ipi-mailbox.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,127 @@ | ||
Xilinx IPI Mailbox Controller | ||
======================================== | ||
|
||
The Xilinx IPI(Inter Processor Interrupt) mailbox controller is to manage | ||
messaging between two Xilinx Zynq UltraScale+ MPSoC IPI agents. Each IPI | ||
agent owns registers used for notification and buffers for message. | ||
|
||
+-------------------------------------+ | ||
| Xilinx ZynqMP IPI Controller | | ||
+-------------------------------------+ | ||
+--------------------------------------------------+ | ||
ATF | | | ||
| | | ||
| | | ||
+--------------------------+ | | ||
| | | ||
| | | ||
+--------------------------------------------------+ | ||
+------------------------------------------+ | ||
| +----------------+ +----------------+ | | ||
Hardware | | IPI Agent | | IPI Buffers | | | ||
| | Registers | | | | | ||
| | | | | | | ||
| +----------------+ +----------------+ | | ||
| | | ||
| Xilinx IPI Agent Block | | ||
+------------------------------------------+ | ||
|
||
|
||
Controller Device Node: | ||
=========================== | ||
Required properties: | ||
-------------------- | ||
IPI agent node: | ||
- compatible: Shall be: "xlnx,zynqmp-ipi-mailbox" | ||
- interrupt-parent: Phandle for the interrupt controller | ||
- interrupts: Interrupt information corresponding to the | ||
interrupt-names property. | ||
- xlnx,ipi-id: local Xilinx IPI agent ID | ||
- #address-cells: number of address cells of internal IPI mailbox nodes | ||
- #size-cells: number of size cells of internal IPI mailbox nodes | ||
|
||
Internal IPI mailbox node: | ||
- reg: IPI buffers address ranges | ||
- reg-names: Names of the reg resources. It should have: | ||
* local_request_region | ||
- IPI request msg buffer written by local and read | ||
by remote | ||
* local_response_region | ||
- IPI response msg buffer written by local and read | ||
by remote | ||
* remote_request_region | ||
- IPI request msg buffer written by remote and read | ||
by local | ||
* remote_response_region | ||
- IPI response msg buffer written by remote and read | ||
by local | ||
- #mbox-cells: Shall be 1. It contains: | ||
* tx(0) or rx(1) channel | ||
- xlnx,ipi-id: remote Xilinx IPI agent ID of which the mailbox is | ||
connected to. | ||
|
||
Optional properties: | ||
-------------------- | ||
- method: The method of accessing the IPI agent registers. | ||
Permitted values are: "smc" and "hvc". Default is | ||
"smc". | ||
|
||
Client Device Node: | ||
=========================== | ||
Required properties: | ||
-------------------- | ||
- mboxes: Standard property to specify a mailbox | ||
(See ./mailbox.txt) | ||
- mbox-names: List of identifier strings for each mailbox | ||
channel. | ||
|
||
Example: | ||
=========================== | ||
zynqmp_ipi { | ||
compatible = "xlnx,zynqmp-ipi-mailbox"; | ||
interrupt-parent = <&gic>; | ||
interrupts = <0 29 4>; | ||
xlnx,ipi-id = <0>; | ||
#address-cells = <1>; | ||
#size-cells = <1>; | ||
ranges; | ||
|
||
/* APU<->RPU0 IPI mailbox controller */ | ||
ipi_mailbox_rpu0: mailbox@ff90400 { | ||
reg = <0xff990400 0x20>, | ||
<0xff990420 0x20>, | ||
<0xff990080 0x20>, | ||
<0xff9900a0 0x20>; | ||
reg-names = "local_request_region", | ||
"local_response_region", | ||
"remote_request_region", | ||
"remote_response_region"; | ||
#mbox-cells = <1>; | ||
xlnx,ipi-id = <1>; | ||
}; | ||
/* APU<->RPU1 IPI mailbox controller */ | ||
ipi_mailbox_rpu1: mailbox@ff990440 { | ||
reg = <0xff990440 0x20>, | ||
<0xff990460 0x20>, | ||
<0xff990280 0x20>, | ||
<0xff9902a0 0x20>; | ||
reg-names = "local_request_region", | ||
"local_response_region", | ||
"remote_request_region", | ||
"remote_response_region"; | ||
#mbox-cells = <1>; | ||
xlnx,ipi-id = <2>; | ||
}; | ||
}; | ||
rpu0 { | ||
... | ||
mboxes = <&ipi_mailbox_rpu0 0>, | ||
<&ipi_mailbox_rpu0 1>; | ||
mbox-names = "tx", "rx"; | ||
}; | ||
rpu1 { | ||
... | ||
mboxes = <&ipi_mailbox_rpu1 0>, | ||
<&ipi_mailbox_rpu1 1>; | ||
mbox-names = "tx", "rx"; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.