bmi.h 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. //------------------------------------------------------------------------------
  2. // <copyright file="bmi.h" company="Atheros">
  3. // Copyright (c) 2004-2008 Atheros Corporation. All rights reserved.
  4. //
  5. // This program is free software; you can redistribute it and/or modify
  6. // it under the terms of the GNU General Public License version 2 as
  7. // published by the Free Software Foundation;
  8. //
  9. // Software distributed under the License is distributed on an "AS
  10. // IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
  11. // implied. See the License for the specific language governing
  12. // rights and limitations under the License.
  13. //
  14. //
  15. //------------------------------------------------------------------------------
  16. //==============================================================================
  17. // BMI declarations and prototypes
  18. //
  19. // Author(s): ="Atheros"
  20. //==============================================================================
  21. #ifndef _BMI_H_
  22. #define _BMI_H_
  23. #ifdef __cplusplus
  24. extern "C" {
  25. #endif /* __cplusplus */
  26. /* Header files */
  27. #include "a_config.h"
  28. #include "athdefs.h"
  29. #include "a_types.h"
  30. #include "hif.h"
  31. #include "a_osapi.h"
  32. #include "bmi_msg.h"
  33. void
  34. BMIInit(void);
  35. A_STATUS
  36. BMIDone(HIF_DEVICE *device);
  37. A_STATUS
  38. BMIGetTargetInfo(HIF_DEVICE *device, struct bmi_target_info *targ_info);
  39. A_STATUS
  40. BMIReadMemory(HIF_DEVICE *device,
  41. A_UINT32 address,
  42. A_UCHAR *buffer,
  43. A_UINT32 length);
  44. A_STATUS
  45. BMIWriteMemory(HIF_DEVICE *device,
  46. A_UINT32 address,
  47. A_UCHAR *buffer,
  48. A_UINT32 length);
  49. A_STATUS
  50. BMIExecute(HIF_DEVICE *device,
  51. A_UINT32 address,
  52. A_UINT32 *param);
  53. A_STATUS
  54. BMISetAppStart(HIF_DEVICE *device,
  55. A_UINT32 address);
  56. A_STATUS
  57. BMIReadSOCRegister(HIF_DEVICE *device,
  58. A_UINT32 address,
  59. A_UINT32 *param);
  60. A_STATUS
  61. BMIWriteSOCRegister(HIF_DEVICE *device,
  62. A_UINT32 address,
  63. A_UINT32 param);
  64. A_STATUS
  65. BMIrompatchInstall(HIF_DEVICE *device,
  66. A_UINT32 ROM_addr,
  67. A_UINT32 RAM_addr,
  68. A_UINT32 nbytes,
  69. A_UINT32 do_activate,
  70. A_UINT32 *patch_id);
  71. A_STATUS
  72. BMIrompatchUninstall(HIF_DEVICE *device,
  73. A_UINT32 rompatch_id);
  74. A_STATUS
  75. BMIrompatchActivate(HIF_DEVICE *device,
  76. A_UINT32 rompatch_count,
  77. A_UINT32 *rompatch_list);
  78. A_STATUS
  79. BMIrompatchDeactivate(HIF_DEVICE *device,
  80. A_UINT32 rompatch_count,
  81. A_UINT32 *rompatch_list);
  82. A_STATUS
  83. BMILZStreamStart(HIF_DEVICE *device,
  84. A_UINT32 address);
  85. A_STATUS
  86. BMILZData(HIF_DEVICE *device,
  87. A_UCHAR *buffer,
  88. A_UINT32 length);
  89. #ifdef __cplusplus
  90. }
  91. #endif
  92. #endif /* _BMI_H_ */