1 * Generic Mailbox Controller and client driver 1 * Generic Mailbox Controller and client driver bindings 2 2 3 Generic binding to provide a way for Mailbox c 3 Generic binding to provide a way for Mailbox controller drivers to 4 assign appropriate mailbox channel to client d 4 assign appropriate mailbox channel to client drivers. 5 5 6 * Mailbox Controller 6 * Mailbox Controller 7 7 8 Required property: 8 Required property: 9 - #mbox-cells: Must be at least 1. Number of c 9 - #mbox-cells: Must be at least 1. Number of cells in a mailbox 10 specifier. 10 specifier. 11 11 12 Example: 12 Example: 13 mailbox: mailbox { 13 mailbox: mailbox { 14 ... 14 ... 15 #mbox-cells = <1>; 15 #mbox-cells = <1>; 16 }; 16 }; 17 17 18 18 19 * Mailbox Client 19 * Mailbox Client 20 20 21 Required property: 21 Required property: 22 - mboxes: List of phandle and mailbox channel 22 - mboxes: List of phandle and mailbox channel specifiers. 23 23 24 Optional property: 24 Optional property: 25 - mbox-names: List of identifier strings for e 25 - mbox-names: List of identifier strings for each mailbox channel. 26 - shmem : List of phandle pointing to the shar 26 - shmem : List of phandle pointing to the shared memory(SHM) area between the 27 users of these mailboxes for IPC, on 27 users of these mailboxes for IPC, one for each mailbox. This shared 28 memory can be part of any memory res 28 memory can be part of any memory reserved for the purpose of this 29 communication between the mailbox cl 29 communication between the mailbox client and the remote. 30 30 31 31 32 Example: 32 Example: 33 pwr_cntrl: power { 33 pwr_cntrl: power { 34 ... 34 ... 35 mbox-names = "pwr-ctrl", "rpc" 35 mbox-names = "pwr-ctrl", "rpc"; 36 mboxes = <&mailbox 0 &mailbox 36 mboxes = <&mailbox 0 &mailbox 1>; 37 }; 37 }; 38 38 39 Example with shared memory(shmem): 39 Example with shared memory(shmem): 40 40 41 sram: sram@50000000 { 41 sram: sram@50000000 { 42 compatible = "mmio-sram"; 42 compatible = "mmio-sram"; 43 reg = <0x50000000 0x10000>; 43 reg = <0x50000000 0x10000>; 44 44 45 #address-cells = <1>; 45 #address-cells = <1>; 46 #size-cells = <1>; 46 #size-cells = <1>; 47 ranges = <0 0x50000000 0x10000 47 ranges = <0 0x50000000 0x10000>; 48 48 49 cl_shmem: shmem@0 { 49 cl_shmem: shmem@0 { 50 compatible = "client-s 50 compatible = "client-shmem"; 51 reg = <0x0 0x200>; 51 reg = <0x0 0x200>; 52 }; 52 }; 53 }; 53 }; 54 54 55 client@2e000000 { 55 client@2e000000 { 56 ... 56 ... 57 mboxes = <&mailbox 0>; 57 mboxes = <&mailbox 0>; 58 shmem = <&cl_shmem>; 58 shmem = <&cl_shmem>; 59 .. 59 .. 60 }; 60 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.