mailbox-omap.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /*
  2. * mailbox-omap.h
  3. *
  4. * Copyright (C) 2013 Texas Instruments, Inc.
  5. *
  6. * This program is free software; you can redistribute it and/or
  7. * modify it under the terms of the GNU General Public License
  8. * version 2 as published by the Free Software Foundation.
  9. *
  10. * This program is distributed in the hope that it will be useful,
  11. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. * GNU General Public License for more details.
  14. */
  15. #ifndef _PLAT_MAILBOX_H
  16. #define _PLAT_MAILBOX_H
  17. /* Interrupt register configuration types */
  18. #define MBOX_INTR_CFG_TYPE1 (0)
  19. #define MBOX_INTR_CFG_TYPE2 (1)
  20. /**
  21. * struct omap_mbox_dev_info - OMAP mailbox device attribute info
  22. * @name: name of the mailbox device
  23. * @tx_id: mailbox queue id used for transmitting messages
  24. * @rx_id: mailbox queue id on which messages are received
  25. * @irq_id: irq identifier number to use from the hwmod data
  26. * @usr_id: mailbox user id for identifying the interrupt into
  27. * the MPU interrupt controller.
  28. */
  29. struct omap_mbox_dev_info {
  30. const char *name;
  31. u32 tx_id;
  32. u32 rx_id;
  33. u32 irq_id;
  34. u32 usr_id;
  35. };
  36. /**
  37. * struct omap_mbox_pdata - OMAP mailbox platform data
  38. * @intr_type: type of interrupt configuration registers used
  39. while programming mailbox queue interrupts
  40. * @info_cnt: number of mailbox devices for the platform
  41. * @info: array of mailbox device attributes
  42. */
  43. struct omap_mbox_pdata {
  44. u32 intr_type;
  45. u32 info_cnt;
  46. struct omap_mbox_dev_info *info;
  47. };
  48. #endif /* _PLAT_MAILBOX_H */