net: wireless: rockchip: add rtl8822be pcie wifi driver
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / rockchip_wlan / rtl8822be / hal / phydm / phydm_adc_sampling.h
diff --git a/drivers/net/wireless/rockchip_wlan/rtl8822be/hal/phydm/phydm_adc_sampling.h b/drivers/net/wireless/rockchip_wlan/rtl8822be/hal/phydm/phydm_adc_sampling.h
new file mode 100644 (file)
index 0000000..2cbcd64
--- /dev/null
@@ -0,0 +1,126 @@
+#ifndef __INC_ADCSMP_H\r
+#define __INC_ADCSMP_H\r
+\r
+#define DYNAMIC_LA_MODE        "1.0"  /*2016.07.15  Dino */\r
+\r
+#if (PHYDM_LA_MODE_SUPPORT == 1)\r
+\r
+typedef struct _RT_ADCSMP_STRING {\r
+       pu4Byte         Octet;\r
+       u4Byte          Length;\r
+       u4Byte          buffer_size;\r
+       u4Byte          start_pos;\r
+} RT_ADCSMP_STRING, *PRT_ADCSMP_STRING;\r
+\r
+\r
+typedef enum _RT_ADCSMP_TRIG_SEL {\r
+       PHYDM_ADC_BB_TRIG       = 0, \r
+       PHYDM_ADC_MAC_TRIG      = 1, \r
+       PHYDM_ADC_RF0_TRIG      = 2, \r
+       PHYDM_ADC_RF1_TRIG      = 3, \r
+       PHYDM_MAC_TRIG          = 4 \r
+} RT_ADCSMP_TRIG_SEL, *PRT_ADCSMP_TRIG_SEL;\r
+\r
+\r
+typedef enum _RT_ADCSMP_TRIG_SIG_SEL {\r
+       ADCSMP_TRIG_CRCOK       = 0, \r
+       ADCSMP_TRIG_CRCFAIL     = 1, \r
+       ADCSMP_TRIG_CCA         = 2,\r
+       ADCSMP_TRIG_REG         = 3\r
+} RT_ADCSMP_TRIG_SIG_SEL, *PRT_ADCSMP_TRIG_SIG_SEL;\r
+\r
+\r
+typedef enum _RT_ADCSMP_STATE {\r
+       ADCSMP_STATE_IDLE               = 0, \r
+       ADCSMP_STATE_SET                = 1, \r
+       ADCSMP_STATE_QUERY      =       2\r
+} RT_ADCSMP_STATE, *PRT_ADCSMP_STATE;\r
+\r
+\r
+typedef struct _RT_ADCSMP {\r
+       RT_ADCSMP_STRING                ADCSmpBuf;\r
+       RT_ADCSMP_STATE         ADCSmpState;\r
+       u1Byte                                  la_trig_mode;\r
+       u4Byte                                  la_TrigSigSel;\r
+       u1Byte                                  la_dma_type;\r
+       u4Byte                                  la_TriggerTime;\r
+       u4Byte                                  la_mac_ref_mask;\r
+       u4Byte                                  la_dbg_port;\r
+       u1Byte                                  la_trigger_edge;\r
+       u1Byte                                  la_smp_rate;\r
+       u4Byte                                  la_count;\r
+       u1Byte                                  is_bb_trigger;\r
+       u1Byte                                  la_work_item_index;\r
+\r
+       #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)    \r
+       RT_WORK_ITEM    ADCSmpWorkItem;\r
+       RT_WORK_ITEM    ADCSmpWorkItem_1;\r
+       #endif  \r
+} RT_ADCSMP, *PRT_ADCSMP;\r
+\r
+#if (DM_ODM_SUPPORT_TYPE & ODM_WIN)\r
+VOID\r
+ADCSmpWorkItemCallback(\r
+       IN      PVOID   pContext\r
+);\r
+#endif\r
+\r
+VOID\r
+ADCSmp_Set(\r
+       IN      PVOID   pDM_VOID,\r
+       IN      u1Byte  trig_mode,\r
+       IN      u4Byte  TrigSigSel,\r
+       IN      u1Byte  DmaDataSigSel,\r
+       IN      u4Byte  TriggerTime,\r
+       IN      u2Byte  PollingTime\r
+);\r
+\r
+#if (DM_ODM_SUPPORT_TYPE & ODM_WIN)\r
+RT_STATUS\r
+ADCSmp_Query(\r
+       IN      PVOID   pDM_VOID,\r
+       IN      ULONG   InformationBufferLength, \r
+       OUT     PVOID   InformationBuffer, \r
+       OUT     PULONG  BytesWritten\r
+);\r
+#endif\r
+VOID\r
+ADCSmp_Stop(\r
+       IN      PVOID   pDM_VOID\r
+);\r
+\r
+VOID\r
+ADCSmp_Init(\r
+       IN      PVOID   pDM_VOID\r
+);\r
+\r
+#if (DM_ODM_SUPPORT_TYPE & ODM_WIN)\r
+VOID\r
+ADCSmp_DeInit(\r
+       IN              PVOID                   pDM_VOID\r
+);\r
+#endif\r
+\r
+VOID\r
+phydm_la_mode_bb_setting(\r
+       IN      PVOID           pDM_VOID\r
+);\r
+\r
+void\r
+phydm_la_mode_set_trigger_time(\r
+       IN      PVOID           pDM_VOID,\r
+       IN      u4Byte          TriggerTime_mu_sec\r
+);\r
+\r
+VOID\r
+phydm_lamode_trigger_setting(\r
+       IN              PVOID           pDM_VOID,\r
+       IN              char                    input[][16],\r
+       IN              u4Byte          *_used,\r
+       OUT             char                    *output,\r
+       IN              u4Byte          *_out_len,\r
+       IN              u4Byte          input_num\r
+       );\r
+#endif\r
+#endif\r
+\r