^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) Altera Mailbox Driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) =====================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) Required properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) - compatible : "altr,mailbox-1.0".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) - reg : physical base address of the mailbox and length of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) memory mapped region.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) - #mbox-cells: Common mailbox binding property to identify the number
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) of cells required for the mailbox specifier. Should be 1.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) Optional properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) - interrupts : interrupt number. The interrupt specifier format
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) depends on the interrupt controller parent.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) Example:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) mbox_tx: mailbox@100 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) compatible = "altr,mailbox-1.0";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) reg = <0x100 0x8>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) interrupt-parent = < &gic_0 >;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) interrupts = <5>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) #mbox-cells = <1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) mbox_rx: mailbox@200 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) compatible = "altr,mailbox-1.0";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) reg = <0x200 0x8>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) interrupt-parent = < &gic_0 >;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) interrupts = <6>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) #mbox-cells = <1>;
^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) Mailbox client
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) ===============
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) "mboxes" and the optional "mbox-names" (please see
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) Documentation/devicetree/bindings/mailbox/mailbox.txt for details). Each value
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) of the mboxes property should contain a phandle to the mailbox controller
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) device node and second argument is the channel index. It must be 0 (hardware
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) support only one channel).The equivalent "mbox-names" property value can be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) used to give a name to the communication channel to be used by the client user.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) Example:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) mclient0: mclient0@400 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) compatible = "client-1.0";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) reg = <0x400 0x10>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) mbox-names = "mbox-tx", "mbox-rx";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) mboxes = <&mbox_tx 0>,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) <&mbox_rx 0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) };