mailbox-omap.h 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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. * @num_users: number of users (processor devices) that the mailbox
  41. * h/w block can interrupt
  42. * @num_fifos: number of h/w fifos within the mailbox h/w block
  43. * @info_cnt: number of mailbox devices for the platform
  44. * @info: array of mailbox device attributes
  45. */
  46. struct omap_mbox_pdata {
  47. u32 intr_type;
  48. u32 num_users;
  49. u32 num_fifos;
  50. u32 info_cnt;
  51. struct omap_mbox_dev_info *info;
  52. };
  53. #endif /* _PLAT_MAILBOX_H */