^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) ST Microelectronics Mailbox Driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) Each ST Mailbox IP currently consists of 4 instances of 32 channels. Messages
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) are passed between Application and Remote processors using shared memory.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) Controller
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) ----------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) Required properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) - compatible : Should be "st,stih407-mailbox"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) - reg : Offset and length of the device's register set
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) - mbox-name : Name of the mailbox
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) - #mbox-cells: : Must be 2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) <&phandle instance channel direction>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) phandle : Label name of controller
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) instance : Instance number
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) channel : Channel number
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) Optional properties
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) - interrupts : Contains the IRQ line for a Rx mailbox
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) Example:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) mailbox0: mailbox@0 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) compatible = "st,stih407-mailbox";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) reg = <0x08f00000 0x1000>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) interrupts = <GIC_SPI 1 IRQ_TYPE_NONE>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) #mbox-cells = <2>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) mbox-name = "a9";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) Client
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) ------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) Required properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) - compatible : Many (See the client docs)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) - reg : Shared (between Application and Remote) memory address
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) - mboxes : Standard property to specify a Mailbox (See ./mailbox.txt)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) Cells must match 'mbox-cells' (See Controller docs above)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) Optional properties
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) - mbox-names : Name given to channels seen in the 'mboxes' property.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) Example:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) mailbox_test {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) compatible = "mailbox-test";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) reg = <0x[shared_memory_address], [shared_memory_size]>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) mboxes = <&mailbox2 0 1>, <&mailbox0 2 1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) mbox-names = "tx", "rx";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) };