18c2ecf20Sopenharmony_ci* Generic Mailbox Controller and client driver bindings 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_ciGeneric binding to provide a way for Mailbox controller drivers to 48c2ecf20Sopenharmony_ciassign appropriate mailbox channel to client drivers. 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ci* Mailbox Controller 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ciRequired property: 98c2ecf20Sopenharmony_ci- #mbox-cells: Must be at least 1. Number of cells in a mailbox 108c2ecf20Sopenharmony_ci specifier. 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ciExample: 138c2ecf20Sopenharmony_ci mailbox: mailbox { 148c2ecf20Sopenharmony_ci ... 158c2ecf20Sopenharmony_ci #mbox-cells = <1>; 168c2ecf20Sopenharmony_ci }; 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_ci* Mailbox Client 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_ciRequired property: 228c2ecf20Sopenharmony_ci- mboxes: List of phandle and mailbox channel specifiers. 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_ciOptional property: 258c2ecf20Sopenharmony_ci- mbox-names: List of identifier strings for each mailbox channel. 268c2ecf20Sopenharmony_ci- shmem : List of phandle pointing to the shared memory(SHM) area between the 278c2ecf20Sopenharmony_ci users of these mailboxes for IPC, one for each mailbox. This shared 288c2ecf20Sopenharmony_ci memory can be part of any memory reserved for the purpose of this 298c2ecf20Sopenharmony_ci communication between the mailbox client and the remote. 308c2ecf20Sopenharmony_ci 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ciExample: 338c2ecf20Sopenharmony_ci pwr_cntrl: power { 348c2ecf20Sopenharmony_ci ... 358c2ecf20Sopenharmony_ci mbox-names = "pwr-ctrl", "rpc"; 368c2ecf20Sopenharmony_ci mboxes = <&mailbox 0 &mailbox 1>; 378c2ecf20Sopenharmony_ci }; 388c2ecf20Sopenharmony_ci 398c2ecf20Sopenharmony_ciExample with shared memory(shmem): 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_ci sram: sram@50000000 { 428c2ecf20Sopenharmony_ci compatible = "mmio-sram"; 438c2ecf20Sopenharmony_ci reg = <0x50000000 0x10000>; 448c2ecf20Sopenharmony_ci 458c2ecf20Sopenharmony_ci #address-cells = <1>; 468c2ecf20Sopenharmony_ci #size-cells = <1>; 478c2ecf20Sopenharmony_ci ranges = <0 0x50000000 0x10000>; 488c2ecf20Sopenharmony_ci 498c2ecf20Sopenharmony_ci cl_shmem: shmem@0 { 508c2ecf20Sopenharmony_ci compatible = "client-shmem"; 518c2ecf20Sopenharmony_ci reg = <0x0 0x200>; 528c2ecf20Sopenharmony_ci }; 538c2ecf20Sopenharmony_ci }; 548c2ecf20Sopenharmony_ci 558c2ecf20Sopenharmony_ci client@2e000000 { 568c2ecf20Sopenharmony_ci ... 578c2ecf20Sopenharmony_ci mboxes = <&mailbox 0>; 588c2ecf20Sopenharmony_ci shmem = <&cl_shmem>; 598c2ecf20Sopenharmony_ci .. 608c2ecf20Sopenharmony_ci }; 61