remoteproc.h 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. /*
  2. * Remote Processor - omap-specific bits
  3. *
  4. * Copyright (C) 2011 Texas Instruments, Inc.
  5. * Copyright (C) 2011 Google, Inc.
  6. *
  7. * This program is free software; you can redistribute it and/or
  8. * modify it under the terms of the GNU General Public License
  9. * version 2 as published by the Free Software Foundation.
  10. *
  11. * This program is distributed in the hope that it will be useful,
  12. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14. * GNU General Public License for more details.
  15. */
  16. #ifndef _PLAT_REMOTEPROC_H
  17. #define _PLAT_REMOTEPROC_H
  18. struct rproc_ops;
  19. struct platform_device;
  20. /*
  21. * struct omap_rproc_pdata - omap remoteproc's platform data
  22. * @name: the remoteproc's name
  23. * @oh_name: omap hwmod device
  24. * @oh_name_opt: optional, secondary omap hwmod device
  25. * @firmware: name of firmware file to load
  26. * @mbox_name: name of omap mailbox device to use with this rproc
  27. * @ops: start/stop rproc handlers
  28. * @device_enable: omap-specific handler for enabling a device
  29. * @device_shutdown: omap-specific handler for shutting down a device
  30. */
  31. struct omap_rproc_pdata {
  32. const char *name;
  33. const char *oh_name;
  34. const char *oh_name_opt;
  35. const char *firmware;
  36. const char *mbox_name;
  37. const struct rproc_ops *ops;
  38. int (*device_enable) (struct platform_device *pdev);
  39. int (*device_shutdown) (struct platform_device *pdev);
  40. };
  41. #if defined(CONFIG_OMAP_REMOTEPROC) || defined(CONFIG_OMAP_REMOTEPROC_MODULE)
  42. void __init omap_rproc_reserve_cma(void);
  43. #else
  44. void __init omap_rproc_reserve_cma(void)
  45. {
  46. }
  47. #endif
  48. #endif /* _PLAT_REMOTEPROC_H */