You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

73 lines
2.5 KiB

  1. /***************************************************************************
  2. * Copyright (C) 2011 by Mathias Kuester *
  3. * Mathias Kuester <kesmtp@freenet.de> *
  4. * *
  5. * Copyright (C) 2012 by Spencer Oliver *
  6. * spen@spen-soft.co.uk *
  7. * *
  8. * This program is free software; you can redistribute it and/or modify *
  9. * it under the terms of the GNU General Public License as published by *
  10. * the Free Software Foundation; either version 2 of the License, or *
  11. * (at your option) any later version. *
  12. * *
  13. * This program is distributed in the hope that it will be useful, *
  14. * but WITHOUT ANY WARRANTY; without even the implied warranty of *
  15. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
  16. * GNU General Public License for more details. *
  17. * *
  18. * You should have received a copy of the GNU General Public License *
  19. * along with this program; if not, write to the *
  20. * Free Software Foundation, Inc., *
  21. * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. *
  22. ***************************************************************************/
  23. #ifndef _HL_INTERFACE
  24. #define _HL_INTERFACE
  25. /** */
  26. struct target;
  27. /** */
  28. enum e_hl_transports;
  29. /** */
  30. extern const char *hl_transports[];
  31. struct hl_interface_param_s {
  32. /** */
  33. const char *device_desc;
  34. /** */
  35. const char *serial;
  36. /** */
  37. uint16_t vid;
  38. /** */
  39. uint16_t pid;
  40. /** */
  41. unsigned api;
  42. /** */
  43. enum hl_transports transport;
  44. /** */
  45. bool connect_under_reset;
  46. /** Output file for trace data (if any) */
  47. FILE *trace_f;
  48. /** Trace module source clock rate */
  49. uint32_t trace_source_hz;
  50. };
  51. struct hl_interface_s {
  52. /** */
  53. struct hl_interface_param_s param;
  54. /** */
  55. const struct hl_layout *layout;
  56. /** */
  57. void *handle;
  58. };
  59. /** */
  60. int hl_interface_open(enum hl_transports tr);
  61. /** */
  62. int hl_interface_init_target(struct target *t);
  63. int hl_interface_init_reset(void);
  64. int hl_interface_override_target(const char **targetname);
  65. #endif /* _HL_INTERFACE */