intf.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * Copyright (c) 2021 pureLiFi
  4. */
  5. #define PURELIFI_BYTE_NUM_ALIGNMENT 4
  6. #define ETH_ALEN 6
  7. #define AP_USER_LIMIT 8
  8. #define PLF_VNDR_FPGA_STATE_REQ 0x30
  9. #define PLF_VNDR_FPGA_SET_REQ 0x33
  10. #define PLF_VNDR_FPGA_SET_CMD 0x34
  11. #define PLF_VNDR_FPGA_STATE_CMD 0x35
  12. #define PLF_VNDR_XL_FW_CMD 0x80
  13. #define PLF_VNDR_XL_DATA_CMD 0x81
  14. #define PLF_VNDR_XL_FILE_CMD 0x82
  15. #define PLF_VNDR_XL_EX_CMD 0x83
  16. #define PLF_MAC_VENDOR_REQUEST 0x36
  17. #define PLF_SERIAL_NUMBER_VENDOR_REQUEST 0x37
  18. #define PLF_FIRMWARE_VERSION_VENDOR_REQUEST 0x39
  19. #define PLF_SERIAL_LEN 14
  20. #define PLF_FW_VER_LEN 8
  21. struct rx_status {
  22. __be16 rssi;
  23. u8 rate_idx;
  24. u8 pad;
  25. __be64 crc_error_count;
  26. } __packed;
  27. enum plf_usb_req_enum {
  28. USB_REQ_TEST_WR = 0,
  29. USB_REQ_MAC_WR = 1,
  30. USB_REQ_POWER_WR = 2,
  31. USB_REQ_RXTX_WR = 3,
  32. USB_REQ_BEACON_WR = 4,
  33. USB_REQ_BEACON_INTERVAL_WR = 5,
  34. USB_REQ_RTS_CTS_RATE_WR = 6,
  35. USB_REQ_HASH_WR = 7,
  36. USB_REQ_DATA_TX = 8,
  37. USB_REQ_RATE_WR = 9,
  38. USB_REQ_SET_FREQ = 15
  39. };
  40. struct plf_usb_req {
  41. __be32 id; /* should be plf_usb_req_enum */
  42. __be32 len;
  43. u8 buf[512];
  44. };