mhl_supp.h 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. /*
  2. SiI8348 Linux Driver
  3. Copyright (C) 2013 Silicon Image, Inc.
  4. This program is free software; you can redistribute it and/or
  5. modify it under the terms of the GNU General Public License as
  6. published by the Free Software Foundation version 2.
  7. This program is distributed AS-IS WITHOUT ANY WARRANTY of any
  8. kind, whether express or implied; INCLUDING without the implied warranty
  9. of MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE or NON-INFRINGEMENT. See
  10. the GNU General Public License for more details at http://www.gnu.org/licenses/gpl-2.0.html.
  11. */
  12. /*
  13. * @file mhl_supp.h
  14. *
  15. */
  16. #if !defined(MHL_SUPP_H)
  17. #define MHL_SUPP_H
  18. /* APIs exported from mhl_supp.c */
  19. int si_mhl_tx_initialize(struct mhl_dev_context *dev_context, bool bootup);
  20. void process_cbus_abort(struct mhl_dev_context *dev_context);
  21. void si_mhl_tx_drive_states(struct mhl_dev_context *dev_context);
  22. void si_mhl_tx_process_events(struct mhl_dev_context *dev_context);
  23. uint8_t si_mhl_tx_set_preferred_pixel_format(
  24. struct mhl_dev_context *dev_context,
  25. uint8_t clkMode);
  26. void si_mhl_tx_process_write_burst_data(struct mhl_dev_context *dev_context);
  27. void si_mhl_tx_msc_command_done(struct mhl_dev_context *dev_context,
  28. uint8_t data1);
  29. void si_mhl_tx_notify_downstream_hpd_change(
  30. struct mhl_dev_context *dev_context,
  31. uint8_t downstream_hpd);
  32. void si_mhl_tx_got_mhl_status(struct mhl_dev_context *dev_context,
  33. uint8_t status_0, uint8_t status_1);
  34. void si_mhl_tx_got_mhl_intr(struct mhl_dev_context *dev_context,
  35. uint8_t intr_0, uint8_t intr_1);
  36. enum scratch_pad_status si_mhl_tx_request_write_burst(
  37. struct mhl_dev_context *dev_context, uint8_t reg_offset,
  38. uint8_t length, uint8_t *data);
  39. bool si_mhl_tx_rcp_send(struct mhl_dev_context *dev_context,
  40. uint8_t rcpKeyCode);
  41. bool si_mhl_tx_rcpk_send(struct mhl_dev_context *dev_context,
  42. uint8_t rcp_key_code);
  43. bool si_mhl_tx_rcpe_send(struct mhl_dev_context *dev_context,
  44. uint8_t rcpe_error_code);
  45. bool si_mhl_tx_ucp_send(struct mhl_dev_context *dev_context,
  46. uint8_t ucp_key_code);
  47. bool si_mhl_tx_ucpk_send(struct mhl_dev_context *dev_context,
  48. uint8_t ucp_key_code);
  49. bool si_mhl_tx_ucpe_send(struct mhl_dev_context *dev_context,
  50. uint8_t ucpe_error_code);
  51. bool si_mhl_tx_rap_send(struct mhl_dev_context *dev_context,
  52. uint8_t rap_action_code);
  53. enum hdcp_state {
  54. AVAILABLE = 0,
  55. ON,
  56. OFF
  57. };
  58. void si_mhl_tx_enable_hdcp(struct mhl_dev_context *dev_context,
  59. enum hdcp_state);
  60. enum hdcp_state si_mhl_tx_get_hdcp_state(struct mhl_dev_context *dev_context);
  61. int si_mhl_tx_shutdown(struct mhl_dev_context *dev_context);
  62. #endif /* #if !defined(MHL_SUPP_H) */