rtl8712_efuse.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #ifndef __RTL8712_EFUSE_H__
  2. #define __RTL8712_EFUSE_H__
  3. #include "osdep_service.h"
  4. #define _REPEAT_THRESHOLD_ 3
  5. #define EFUSE_MAX_SIZE 512
  6. #define EFUSE_MAP_MAX_SIZE 128
  7. #define PGPKG_MAX_WORDS 4
  8. #define PGPKT_DATA_SIZE 8 /* PGPKG_MAX_WORDS*2; BYTES sizeof(u8)*8*/
  9. #define MAX_PGPKT_SIZE 9 /* 1 + PGPKT_DATA_SIZE; header + 2 * 4 words (BYTES)*/
  10. #define GET_EFUSE_OFFSET(header) ((header & 0xF0) >> 4)
  11. #define GET_EFUSE_WORD_EN(header) (header & 0x0F)
  12. #define MAKE_EFUSE_HEADER(offset, word_en) (((offset & 0x0F) << 4) | \
  13. (word_en & 0x0F))
  14. /*--------------------------------------------------------------------------*/
  15. struct PGPKT_STRUCT {
  16. u8 offset;
  17. u8 word_en;
  18. u8 data[PGPKT_DATA_SIZE];
  19. };
  20. /*--------------------------------------------------------------------------*/
  21. u8 r8712_efuse_reg_init(struct _adapter *padapter);
  22. void r8712_efuse_reg_uninit(struct _adapter *padapter);
  23. u16 r8712_efuse_get_current_size(struct _adapter *padapter);
  24. int r8712_efuse_get_max_size(struct _adapter *padapter);
  25. void r8712_efuse_change_max_size(struct _adapter *padapter);
  26. u8 r8712_efuse_pg_packet_read(struct _adapter *padapter,
  27. u8 offset, u8 *data);
  28. u8 r8712_efuse_pg_packet_write(struct _adapter *padapter,
  29. const u8 offset, const u8 word_en,
  30. const u8 *data);
  31. u8 r8712_efuse_access(struct _adapter *padapter, u8 bRead,
  32. u16 start_addr, u16 cnts, u8 *data);
  33. u8 r8712_efuse_map_read(struct _adapter *padapter, u16 addr,
  34. u16 cnts, u8 *data);
  35. u8 r8712_efuse_map_write(struct _adapter *padapter, u16 addr,
  36. u16 cnts, u8 *data);
  37. #endif