| ARM MHU Mailbox Driver | |
| ====================== | |
| The ARM's Message-Handling-Unit (MHU) is a mailbox controller that has | |
| 3 independent channels/links to communicate with remote processor(s). | |
| MHU links are hardwired on a platform. A link raises interrupt for any | |
| received data. However, there is no specified way of knowing if the sent | |
| data has been read by the remote. This driver assumes the sender polls | |
| STAT register and the remote clears it after having read the data. | |
| The last channel is specified to be a 'Secure' resource, hence can't be | |
| used by Linux running NS. | |
| Mailbox Device Node: | |
| ==================== | |
| Required properties: | |
| -------------------- | |
| - compatible: Shall be "arm,mhu" & "arm,primecell" | |
| - reg: Contains the mailbox register address range (base | |
| address and length) | |
| - #mbox-cells Shall be 1 - the index of the channel needed. | |
| - interrupts: Contains the interrupt information corresponding to | |
| each of the 3 links of MHU. | |
| Example: | |
| -------- | |
| mhu: mailbox@2b1f0000 { | |
| #mbox-cells = <1>; | |
| compatible = "arm,mhu", "arm,primecell"; | |
| reg = <0 0x2b1f0000 0x1000>; | |
| interrupts = <0 36 4>, /* LP-NonSecure */ | |
| <0 35 4>, /* HP-NonSecure */ | |
| <0 37 4>; /* Secure */ | |
| clocks = <&clock 0 2 1>; | |
| clock-names = "apb_pclk"; | |
| }; | |
| mhu_client: scb@2e000000 { | |
| compatible = "fujitsu,mb86s70-scb-1.0"; | |
| reg = <0 0x2e000000 0x4000>; | |
| mboxes = <&mhu 1>; /* HP-NonSecure */ | |
| }; |