mailbox.txt 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. * Generic Mailbox Controller and client driver bindings
  2. Generic binding to provide a way for Mailbox controller drivers to
  3. assign appropriate mailbox channel to client drivers.
  4. * Mailbox Controller
  5. Required property:
  6. - #mbox-cells: Must be at least 1. Number of cells in a mailbox
  7. specifier.
  8. Example:
  9. mailbox: mailbox {
  10. ...
  11. #mbox-cells = <1>;
  12. };
  13. * Mailbox Client
  14. Required property:
  15. - mboxes: List of phandle and mailbox channel specifiers.
  16. Optional property:
  17. - mbox-names: List of identifier strings for each mailbox channel.
  18. - shmem : List of phandle pointing to the shared memory(SHM) area between the
  19. users of these mailboxes for IPC, one for each mailbox. This shared
  20. memory can be part of any memory reserved for the purpose of this
  21. communication between the mailbox client and the remote.
  22. Example:
  23. pwr_cntrl: power {
  24. ...
  25. mbox-names = "pwr-ctrl", "rpc";
  26. mboxes = <&mailbox 0 &mailbox 1>;
  27. };
  28. Example with shared memory(shmem):
  29. sram: sram@50000000 {
  30. compatible = "mmio-sram";
  31. reg = <0x50000000 0x10000>;
  32. #address-cells = <1>;
  33. #size-cells = <1>;
  34. ranges = <0 0x50000000 0x10000>;
  35. cl_shmem: shmem@0 {
  36. compatible = "client-shmem";
  37. reg = <0x0 0x200>;
  38. };
  39. };
  40. client@2e000000 {
  41. ...
  42. mboxes = <&mailbox 0>;
  43. shmem = <&cl_shmem>;
  44. ..
  45. };