├── .github └── workflows │ └── ci.yml ├── .gitignore ├── COPYING ├── Dockerfile ├── Kconfig ├── Makefile ├── PKGBUILD ├── README.md ├── clean ├── core ├── efuse │ └── rtw_efuse.c ├── mesh │ ├── rtw_mesh.c │ ├── rtw_mesh.h │ ├── rtw_mesh_hwmp.c │ ├── rtw_mesh_hwmp.h │ ├── rtw_mesh_pathtbl.c │ └── rtw_mesh_pathtbl.h ├── rtw_ap.c ├── rtw_beamforming.c ├── rtw_br_ext.c ├── rtw_bt_mp.c ├── rtw_btcoex.c ├── rtw_btcoex_wifionly.c ├── rtw_chplan.c ├── rtw_chplan.h ├── rtw_cmd.c ├── rtw_debug.c ├── rtw_eeprom.c ├── rtw_ieee80211.c ├── rtw_io.c ├── rtw_ioctl_query.c ├── rtw_ioctl_rtl.c ├── rtw_ioctl_set.c ├── rtw_iol.c ├── rtw_mem.c ├── rtw_mi.c ├── rtw_mlme.c ├── rtw_mlme_ext.c ├── rtw_mp.c ├── rtw_mp_ioctl.c ├── rtw_odm.c ├── rtw_p2p.c ├── rtw_pwrctrl.c ├── rtw_recv.c ├── rtw_rf.c ├── rtw_rm.c ├── rtw_rm_fsm.c ├── rtw_rson.c ├── rtw_sdio.c ├── rtw_security.c ├── rtw_sreset.c ├── rtw_sta_mgt.c ├── rtw_tdls.c ├── rtw_vht.c ├── rtw_wapi.c ├── rtw_wapi_sms4.c ├── rtw_wlan_util.c └── rtw_xmit.c ├── dkms-install.sh ├── dkms-remove.sh ├── dkms.conf ├── get_sources.sh ├── hal ├── HalPwrSeqCmd.c ├── btc │ ├── halbtc8192e1ant.c │ ├── halbtc8192e1ant.h │ ├── halbtc8192e2ant.c │ ├── halbtc8192e2ant.h │ ├── halbtc8703b1ant.c │ ├── halbtc8703b1ant.h │ ├── halbtc8723b1ant.c │ ├── halbtc8723b1ant.h │ ├── halbtc8723b2ant.c │ ├── halbtc8723b2ant.h │ ├── halbtc8723bwifionly.c │ ├── halbtc8723bwifionly.h │ ├── halbtc8723d1ant.c │ ├── halbtc8723d1ant.h │ ├── halbtc8723d2ant.c │ ├── halbtc8723d2ant.h │ ├── halbtc8812a1ant.c │ ├── halbtc8812a1ant.h │ ├── halbtc8812a2ant.c │ ├── halbtc8812a2ant.h │ ├── halbtc8821a1ant.c │ ├── halbtc8821a1ant.h │ ├── halbtc8821a2ant.c │ ├── halbtc8821a2ant.h │ ├── halbtc8821c1ant.c │ ├── halbtc8821c1ant.h │ ├── halbtc8821c2ant.c │ ├── halbtc8821c2ant.h │ ├── halbtc8821cwifionly.c │ ├── halbtc8821cwifionly.h │ ├── halbtc8822b1ant.c │ ├── halbtc8822b1ant.h │ ├── halbtc8822b2ant.c │ ├── halbtc8822b2ant.h │ ├── halbtc8822bwifionly.c │ ├── halbtc8822bwifionly.h │ ├── halbtcoutsrc.h │ └── mp_precomp.h ├── efuse │ ├── efuse_mask.h │ └── rtl8821c │ │ ├── HalEfuseMask8821C_PCIE.c │ │ ├── HalEfuseMask8821C_PCIE.h │ │ ├── HalEfuseMask8821C_SDIO.c │ │ ├── HalEfuseMask8821C_SDIO.h │ │ ├── HalEfuseMask8821C_USB.c │ │ └── HalEfuseMask8821C_USB.h ├── hal_btcoex.c ├── hal_btcoex_wifionly.c ├── hal_com.c ├── hal_com_c2h.h ├── hal_com_phycfg.c ├── hal_dm.c ├── hal_dm.h ├── hal_dm_acs.c ├── hal_dm_acs.h ├── hal_halmac.c ├── hal_halmac.h ├── hal_hci │ └── hal_pci.c ├── hal_intf.c ├── hal_mcc.c ├── hal_mp.c ├── hal_phy.c ├── halmac │ ├── halmac_2_platform.h │ ├── halmac_88xx │ │ ├── halmac_8821c │ │ │ ├── halmac_8821c_cfg.h │ │ │ ├── halmac_8821c_phy.c │ │ │ ├── halmac_8821c_pwr_seq.c │ │ │ ├── halmac_8821c_pwr_seq.h │ │ │ ├── halmac_api_8821c.c │ │ │ ├── halmac_api_8821c.h │ │ │ ├── halmac_api_8821c_pcie.c │ │ │ ├── halmac_api_8821c_pcie.h │ │ │ ├── halmac_api_8821c_sdio.c │ │ │ ├── halmac_api_8821c_sdio.h │ │ │ ├── halmac_api_8821c_usb.c │ │ │ ├── halmac_api_8821c_usb.h │ │ │ ├── halmac_cfg_wmac_8821c.c │ │ │ ├── halmac_cfg_wmac_8821c.h │ │ │ ├── halmac_common_8821c.c │ │ │ ├── halmac_common_8821c.h │ │ │ ├── halmac_func_8821c.c │ │ │ ├── halmac_func_8821c.h │ │ │ ├── halmac_gpio_8821c.c │ │ │ ├── halmac_gpio_8821c.h │ │ │ ├── halmac_init_8821c.c │ │ │ ├── halmac_init_8821c.h │ │ │ ├── halmac_pcie_8821c.c │ │ │ ├── halmac_pcie_8821c.h │ │ │ ├── halmac_phy_8821c.c │ │ │ ├── halmac_pwr_seq_8821c.c │ │ │ └── halmac_pwr_seq_8821c.h │ │ ├── halmac_88xx_cfg.h │ │ ├── halmac_api_88xx.c │ │ ├── halmac_api_88xx.h │ │ ├── halmac_api_88xx_pcie.c │ │ ├── halmac_api_88xx_pcie.h │ │ ├── halmac_api_88xx_sdio.c │ │ ├── halmac_api_88xx_sdio.h │ │ ├── halmac_api_88xx_usb.c │ │ ├── halmac_api_88xx_usb.h │ │ ├── halmac_bb_rf_88xx.c │ │ ├── halmac_bb_rf_88xx.h │ │ ├── halmac_cfg_wmac_88xx.c │ │ ├── halmac_cfg_wmac_88xx.h │ │ ├── halmac_common_88xx.c │ │ ├── halmac_common_88xx.h │ │ ├── halmac_efuse_88xx.c │ │ ├── halmac_efuse_88xx.h │ │ ├── halmac_flash_88xx.c │ │ ├── halmac_flash_88xx.h │ │ ├── halmac_func_88xx.c │ │ ├── halmac_func_88xx.h │ │ ├── halmac_fw_88xx.c │ │ ├── halmac_fw_88xx.h │ │ ├── halmac_gpio_88xx.c │ │ ├── halmac_gpio_88xx.h │ │ ├── halmac_init_88xx.c │ │ ├── halmac_init_88xx.h │ │ ├── halmac_mimo_88xx.c │ │ ├── halmac_mimo_88xx.h │ │ ├── halmac_pcie_88xx.c │ │ └── halmac_pcie_88xx.h │ ├── halmac_api.c │ ├── halmac_api.h │ ├── halmac_bit2.h │ ├── halmac_bit_8197f.h │ ├── halmac_bit_8814b.h │ ├── halmac_bit_8821c.h │ ├── halmac_bit_8822b.h │ ├── halmac_bit_8822c.h │ ├── halmac_fw_info.h │ ├── halmac_fw_offload_c2h_ap.h │ ├── halmac_fw_offload_c2h_nic.h │ ├── halmac_fw_offload_h2c_ap.h │ ├── halmac_fw_offload_h2c_nic.h │ ├── halmac_gpio_cmd.h │ ├── halmac_h2c_extra_info_ap.h │ ├── halmac_h2c_extra_info_nic.h │ ├── halmac_hw_cfg.h │ ├── halmac_intf_phy_cmd.h │ ├── halmac_module.c │ ├── halmac_module.h │ ├── halmac_original_c2h_ap.h │ ├── halmac_original_c2h_nic.h │ ├── halmac_original_h2c_ap.h │ ├── halmac_original_h2c_nic.h │ ├── halmac_pcie_reg.h │ ├── halmac_pwr_seq_cmd.h │ ├── halmac_reg2.h │ ├── halmac_reg_8197f.h │ ├── halmac_reg_8814b.h │ ├── halmac_reg_8821c.h │ ├── halmac_reg_8822b.h │ ├── halmac_reg_8822c.h │ ├── halmac_rx_bd_ap.h │ ├── halmac_rx_bd_chip.h │ ├── halmac_rx_bd_nic.h │ ├── halmac_rx_desc_ap.h │ ├── halmac_rx_desc_chip.h │ ├── halmac_rx_desc_nic.h │ ├── halmac_sdio_reg.h │ ├── halmac_state_machine.h │ ├── halmac_tx_bd_ap.h │ ├── halmac_tx_bd_chip.h │ ├── halmac_tx_bd_nic.h │ ├── halmac_tx_desc_ap.h │ ├── halmac_tx_desc_buffer_ap.h │ ├── halmac_tx_desc_buffer_chip.h │ ├── halmac_tx_desc_buffer_nic.h │ ├── halmac_tx_desc_chip.h │ ├── halmac_tx_desc_ie_ap.h │ ├── halmac_tx_desc_ie_chip.h │ ├── halmac_tx_desc_ie_nic.h │ ├── halmac_tx_desc_nic.h │ ├── halmac_type.h │ └── halmac_usb_reg.h ├── led │ ├── hal_led.c │ └── hal_pci_led.c ├── phydm │ ├── ap_makefile.mk │ ├── halhwimg.h │ ├── halphyrf_ap.c │ ├── halphyrf_ap.h │ ├── halphyrf_ce.c │ ├── halphyrf_ce.h │ ├── halphyrf_win.c │ ├── halphyrf_win.h │ ├── halrf │ │ ├── halphyrf_ap.c │ │ ├── halphyrf_ap.h │ │ ├── halphyrf_ce.c │ │ ├── halphyrf_ce.h │ │ ├── halphyrf_iot.c │ │ ├── halphyrf_iot.h │ │ ├── halphyrf_win.c │ │ ├── halphyrf_win.h │ │ ├── halrf.c │ │ ├── halrf.h │ │ ├── halrf_debug.c │ │ ├── halrf_debug.h │ │ ├── halrf_dpk.h │ │ ├── halrf_features.h │ │ ├── halrf_iqk.h │ │ ├── halrf_kfree.c │ │ ├── halrf_kfree.h │ │ ├── halrf_powertracking.c │ │ ├── halrf_powertracking.h │ │ ├── halrf_powertracking_ap.c │ │ ├── halrf_powertracking_ap.h │ │ ├── halrf_powertracking_ce.c │ │ ├── halrf_powertracking_ce.h │ │ ├── halrf_powertracking_iot.c │ │ ├── halrf_powertracking_iot.h │ │ ├── halrf_powertracking_win.c │ │ ├── halrf_powertracking_win.h │ │ ├── halrf_psd.c │ │ ├── halrf_psd.h │ │ ├── halrf_txgapcal.c │ │ ├── halrf_txgapcal.h │ │ └── rtl8821c │ │ │ ├── halrf_8821c.c │ │ │ ├── halrf_8821c.h │ │ │ ├── halrf_iqk_8821c.c │ │ │ └── halrf_iqk_8821c.h │ ├── mp_precomp.h │ ├── phydm.c │ ├── phydm.h │ ├── phydm.mk │ ├── phydm_acs.c │ ├── phydm_acs.h │ ├── phydm_adaptivity.c │ ├── phydm_adaptivity.h │ ├── phydm_adc_sampling.c │ ├── phydm_adc_sampling.h │ ├── phydm_antdect.c │ ├── phydm_antdect.h │ ├── phydm_antdiv.c │ ├── phydm_antdiv.h │ ├── phydm_api.c │ ├── phydm_api.h │ ├── phydm_auto_dbg.c │ ├── phydm_auto_dbg.h │ ├── phydm_beamforming.c │ ├── phydm_beamforming.h │ ├── phydm_cck_pd.c │ ├── phydm_cck_pd.h │ ├── phydm_ccx.c │ ├── phydm_ccx.h │ ├── phydm_cfotracking.c │ ├── phydm_cfotracking.h │ ├── phydm_debug.c │ ├── phydm_debug.h │ ├── phydm_dfs.c │ ├── phydm_dfs.h │ ├── phydm_dig.c │ ├── phydm_dig.h │ ├── phydm_dynamic_rx_path.c │ ├── phydm_dynamic_rx_path.h │ ├── phydm_dynamicbbpowersaving.c │ ├── phydm_dynamicbbpowersaving.h │ ├── phydm_dynamictxpower.c │ ├── phydm_dynamictxpower.h │ ├── phydm_edcaturbocheck.c │ ├── phydm_edcaturbocheck.h │ ├── phydm_features.h │ ├── phydm_features_ap.h │ ├── phydm_features_ce.h │ ├── phydm_features_ce2_kernel.h │ ├── phydm_features_iot.h │ ├── phydm_features_win.h │ ├── phydm_hwconfig.c │ ├── phydm_hwconfig.h │ ├── phydm_interface.c │ ├── phydm_interface.h │ ├── phydm_iqk.h │ ├── phydm_kfree.c │ ├── phydm_kfree.h │ ├── phydm_lna_sat.c │ ├── phydm_lna_sat.h │ ├── phydm_math_lib.c │ ├── phydm_math_lib.h │ ├── phydm_mp.c │ ├── phydm_mp.h │ ├── phydm_noisemonitor.c │ ├── phydm_noisemonitor.h │ ├── phydm_pathdiv.c │ ├── phydm_pathdiv.h │ ├── phydm_phystatus.c │ ├── phydm_phystatus.h │ ├── phydm_pmac_tx_setting.c │ ├── phydm_pmac_tx_setting.h │ ├── phydm_pow_train.c │ ├── phydm_pow_train.h │ ├── phydm_powertracking_ap.c │ ├── phydm_powertracking_ap.h │ ├── phydm_powertracking_ce.c │ ├── phydm_powertracking_ce.h │ ├── phydm_powertracking_win.c │ ├── phydm_powertracking_win.h │ ├── phydm_pre_define.h │ ├── phydm_precomp.h │ ├── phydm_primary_cca.c │ ├── phydm_primary_cca.h │ ├── phydm_psd.c │ ├── phydm_psd.h │ ├── phydm_rainfo.c │ ├── phydm_rainfo.h │ ├── phydm_reg.h │ ├── phydm_regdefine11ac.h │ ├── phydm_regdefine11n.h │ ├── phydm_regtable.h │ ├── phydm_rssi_monitor.c │ ├── phydm_rssi_monitor.h │ ├── phydm_smt_ant.c │ ├── phydm_smt_ant.h │ ├── phydm_soml.c │ ├── phydm_soml.h │ ├── phydm_types.h │ ├── rtchnlplan.c │ ├── rtchnlplan.h │ ├── rtl8821c │ │ ├── halhwimg8821c_bb.c │ │ ├── halhwimg8821c_bb.h │ │ ├── halhwimg8821c_fw.c │ │ ├── halhwimg8821c_fw.h │ │ ├── halhwimg8821c_mac.c │ │ ├── halhwimg8821c_mac.h │ │ ├── halhwimg8821c_rf.c │ │ ├── halhwimg8821c_rf.h │ │ ├── halhwimg8821c_testchip_bb.c │ │ ├── halhwimg8821c_testchip_bb.h │ │ ├── halhwimg8821c_testchip_fw.c │ │ ├── halhwimg8821c_testchip_fw.h │ │ ├── halhwimg8821c_testchip_mac.c │ │ ├── halhwimg8821c_testchip_mac.h │ │ ├── halhwimg8821c_testchip_rf.c │ │ ├── halhwimg8821c_testchip_rf.h │ │ ├── halphyrf_8821c.c │ │ ├── halphyrf_8821c.h │ │ ├── mp_precomp.h │ │ ├── phydm_hal_api8821c.c │ │ ├── phydm_hal_api8821c.h │ │ ├── phydm_iqk_8821c.c │ │ ├── phydm_iqk_8821c.h │ │ ├── phydm_regconfig8821c.c │ │ ├── phydm_regconfig8821c.h │ │ └── version_rtl8821c.h │ ├── sd4_phydm_2_kernel.mk │ └── txbf │ │ ├── halcomtxbf.c │ │ ├── halcomtxbf.h │ │ ├── haltxbf8192e.c │ │ ├── haltxbf8192e.h │ │ ├── haltxbf8814a.c │ │ ├── haltxbf8814a.h │ │ ├── haltxbf8822b.c │ │ ├── haltxbf8822b.h │ │ ├── haltxbfinterface.c │ │ ├── haltxbfinterface.h │ │ ├── haltxbfjaguar.c │ │ ├── haltxbfjaguar.h │ │ ├── phydm_hal_txbf_api.c │ │ └── phydm_hal_txbf_api.h └── rtl8821c │ ├── hal8821c_fw.c │ ├── hal8821c_fw.h │ ├── pci │ ├── rtl8821ce.h │ ├── rtl8821ce_halinit.c │ ├── rtl8821ce_halmac.c │ ├── rtl8821ce_io.c │ ├── rtl8821ce_led.c │ ├── rtl8821ce_ops.c │ ├── rtl8821ce_recv.c │ └── rtl8821ce_xmit.c │ ├── rtl8821c.h │ ├── rtl8821c_cmd.c │ ├── rtl8821c_dm.c │ ├── rtl8821c_halinit.c │ ├── rtl8821c_mac.c │ ├── rtl8821c_ops.c │ └── rtl8821c_phy.c ├── halmac.mk ├── ifcfg-wlan0 ├── include ├── Hal8188EPhyCfg.h ├── Hal8188EPhyReg.h ├── Hal8188EPwrSeq.h ├── Hal8188FPhyCfg.h ├── Hal8188FPhyReg.h ├── Hal8188FPwrSeq.h ├── Hal8192EPhyCfg.h ├── Hal8192EPhyReg.h ├── Hal8192EPwrSeq.h ├── Hal8192FPhyCfg.h ├── Hal8192FPhyReg.h ├── Hal8192FPwrSeq.h ├── Hal8703BPhyCfg.h ├── Hal8703BPhyReg.h ├── Hal8703BPwrSeq.h ├── Hal8710BPhyCfg.h ├── Hal8710BPhyReg.h ├── Hal8710BPwrSeq.h ├── Hal8723BPhyCfg.h ├── Hal8723BPhyReg.h ├── Hal8723BPwrSeq.h ├── Hal8723DPhyCfg.h ├── Hal8723DPhyReg.h ├── Hal8723DPwrSeq.h ├── Hal8723PwrSeq.h ├── Hal8812PhyCfg.h ├── Hal8812PhyReg.h ├── Hal8812PwrSeq.h ├── Hal8814PhyCfg.h ├── Hal8814PhyReg.h ├── Hal8814PwrSeq.h ├── Hal8821APwrSeq.h ├── HalPwrSeqCmd.h ├── HalVerDef.h ├── autoconf.h ├── basic_types.h ├── byteorder │ ├── big_endian.h │ ├── generic.h │ ├── little_endian.h │ ├── swab.h │ └── swabb.h ├── circ_buf.h ├── cmd_osdep.h ├── cmn_info │ └── rtw_sta_info.h ├── custom_gpio.h ├── drv_conf.h ├── drv_types.h ├── drv_types_ce.h ├── drv_types_gspi.h ├── drv_types_linux.h ├── drv_types_pci.h ├── drv_types_sdio.h ├── drv_types_xp.h ├── ethernet.h ├── gspi_hal.h ├── gspi_ops.h ├── gspi_ops_linux.h ├── gspi_osintf.h ├── h2clbk.h ├── hal_btcoex.h ├── hal_btcoex_wifionly.h ├── hal_com.h ├── hal_com_h2c.h ├── hal_com_led.h ├── hal_com_phycfg.h ├── hal_com_reg.h ├── hal_data.h ├── hal_gspi.h ├── hal_ic_cfg.h ├── hal_intf.h ├── hal_pg.h ├── hal_phy.h ├── hal_phy_reg.h ├── hal_sdio.h ├── ieee80211.h ├── ieee80211_ext.h ├── if_ether.h ├── ip.h ├── linux │ └── wireless.h ├── mlme_osdep.h ├── mp_custom_oid.h ├── nic_spec.h ├── osdep_intf.h ├── osdep_service.h ├── osdep_service_bsd.h ├── osdep_service_ce.h ├── osdep_service_linux.h ├── osdep_service_xp.h ├── pci_hal.h ├── pci_ops.h ├── pci_osintf.h ├── recv_osdep.h ├── rtl8188e_cmd.h ├── rtl8188e_dm.h ├── rtl8188e_hal.h ├── rtl8188e_led.h ├── rtl8188e_recv.h ├── rtl8188e_rf.h ├── rtl8188e_spec.h ├── rtl8188e_sreset.h ├── rtl8188e_xmit.h ├── rtl8188f_cmd.h ├── rtl8188f_dm.h ├── rtl8188f_hal.h ├── rtl8188f_led.h ├── rtl8188f_recv.h ├── rtl8188f_rf.h ├── rtl8188f_spec.h ├── rtl8188f_sreset.h ├── rtl8188f_xmit.h ├── rtl8192e_cmd.h ├── rtl8192e_dm.h ├── rtl8192e_hal.h ├── rtl8192e_led.h ├── rtl8192e_recv.h ├── rtl8192e_rf.h ├── rtl8192e_spec.h ├── rtl8192e_sreset.h ├── rtl8192e_xmit.h ├── rtl8192f_cmd.h ├── rtl8192f_dm.h ├── rtl8192f_hal.h ├── rtl8192f_led.h ├── rtl8192f_recv.h ├── rtl8192f_rf.h ├── rtl8192f_spec.h ├── rtl8192f_sreset.h ├── rtl8192f_xmit.h ├── rtl8703b_cmd.h ├── rtl8703b_dm.h ├── rtl8703b_hal.h ├── rtl8703b_led.h ├── rtl8703b_recv.h ├── rtl8703b_rf.h ├── rtl8703b_spec.h ├── rtl8703b_sreset.h ├── rtl8703b_xmit.h ├── rtl8710b_cmd.h ├── rtl8710b_dm.h ├── rtl8710b_hal.h ├── rtl8710b_led.h ├── rtl8710b_lps_poff.h ├── rtl8710b_recv.h ├── rtl8710b_rf.h ├── rtl8710b_spec.h ├── rtl8710b_sreset.h ├── rtl8710b_xmit.h ├── rtl8723b_cmd.h ├── rtl8723b_dm.h ├── rtl8723b_hal.h ├── rtl8723b_led.h ├── rtl8723b_recv.h ├── rtl8723b_rf.h ├── rtl8723b_spec.h ├── rtl8723b_sreset.h ├── rtl8723b_xmit.h ├── rtl8723d_cmd.h ├── rtl8723d_dm.h ├── rtl8723d_hal.h ├── rtl8723d_led.h ├── rtl8723d_lps_poff.h ├── rtl8723d_recv.h ├── rtl8723d_rf.h ├── rtl8723d_spec.h ├── rtl8723d_sreset.h ├── rtl8723d_xmit.h ├── rtl8812a_cmd.h ├── rtl8812a_dm.h ├── rtl8812a_hal.h ├── rtl8812a_led.h ├── rtl8812a_recv.h ├── rtl8812a_rf.h ├── rtl8812a_spec.h ├── rtl8812a_sreset.h ├── rtl8812a_xmit.h ├── rtl8814a_cmd.h ├── rtl8814a_dm.h ├── rtl8814a_hal.h ├── rtl8814a_led.h ├── rtl8814a_recv.h ├── rtl8814a_rf.h ├── rtl8814a_spec.h ├── rtl8814a_sreset.h ├── rtl8814a_xmit.h ├── rtl8821a_spec.h ├── rtl8821a_xmit.h ├── rtl8821c_dm.h ├── rtl8821c_hal.h ├── rtl8821c_spec.h ├── rtl8821ce_hal.h ├── rtl8821cs_hal.h ├── rtl8821cu_hal.h ├── rtl8822b_hal.h ├── rtl8822be_hal.h ├── rtl8822bs_hal.h ├── rtl8822bu_hal.h ├── rtw_android.h ├── rtw_ap.h ├── rtw_beamforming.h ├── rtw_br_ext.h ├── rtw_bt_mp.h ├── rtw_btcoex.h ├── rtw_btcoex_wifionly.h ├── rtw_byteorder.h ├── rtw_cmd.h ├── rtw_debug.h ├── rtw_eeprom.h ├── rtw_efuse.h ├── rtw_event.h ├── rtw_ht.h ├── rtw_io.h ├── rtw_ioctl.h ├── rtw_ioctl_query.h ├── rtw_ioctl_rtl.h ├── rtw_ioctl_set.h ├── rtw_iol.h ├── rtw_mcc.h ├── rtw_mem.h ├── rtw_mi.h ├── rtw_mlme.h ├── rtw_mlme_ext.h ├── rtw_mp.h ├── rtw_mp_ioctl.h ├── rtw_mp_phy_regdef.h ├── rtw_odm.h ├── rtw_p2p.h ├── rtw_pwrctrl.h ├── rtw_qos.h ├── rtw_recv.h ├── rtw_rf.h ├── rtw_rm.h ├── rtw_rm_fsm.h ├── rtw_rson.h ├── rtw_sdio.h ├── rtw_security.h ├── rtw_sreset.h ├── rtw_tdls.h ├── rtw_version.h ├── rtw_vht.h ├── rtw_wapi.h ├── rtw_wifi_regd.h ├── rtw_xmit.h ├── sdio_hal.h ├── sdio_ops.h ├── sdio_ops_ce.h ├── sdio_ops_linux.h ├── sdio_ops_xp.h ├── sdio_osintf.h ├── sta_info.h ├── usb_hal.h ├── usb_ops.h ├── usb_ops_linux.h ├── usb_osintf.h ├── usb_vendor_req.h ├── wifi.h ├── wlan_bssdef.h └── xmit_osdep.h ├── os_dep ├── linux │ ├── custom_gpio_linux.c │ ├── ioctl_cfg80211.c │ ├── ioctl_cfg80211.h │ ├── ioctl_linux.c │ ├── ioctl_mp.c │ ├── mlme_linux.c │ ├── os_intfs.c │ ├── pci_intf.c │ ├── pci_ops_linux.c │ ├── recv_linux.c │ ├── rhashtable.c │ ├── rhashtable.h │ ├── rtw_android.c │ ├── rtw_cfgvendor.c │ ├── rtw_cfgvendor.h │ ├── rtw_proc.c │ ├── rtw_proc.h │ ├── rtw_rhashtable.c │ ├── rtw_rhashtable.h │ ├── wifi_regd.c │ └── xmit_linux.c └── osdep_service.c ├── platform ├── custom_country_chplan.h ├── platform_ARM_SUN50IW1P1_sdio.c ├── platform_ARM_SUNnI_sdio.c ├── platform_ARM_SUNxI_sdio.c ├── platform_ARM_SUNxI_usb.c ├── platform_ARM_WMT_sdio.c ├── platform_RTK_DMP_usb.c ├── platform_aml_s905_sdio.c ├── platform_aml_s905_sdio.h ├── platform_arm_act_sdio.c ├── platform_hisilicon_hi3798_sdio.c ├── platform_hisilicon_hi3798_sdio.h ├── platform_ops.c ├── platform_ops.h ├── platform_sprd_sdio.c ├── platform_zte_zx296716_sdio.c └── platform_zte_zx296716_sdio.h ├── rtl8821c.mk ├── runwpa └── wlan0dhcp /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: CI 2 | 3 | on: [push] 4 | 5 | jobs: 6 | build: 7 | 8 | runs-on: ubuntu-latest 9 | 10 | steps: 11 | - uses: actions/checkout@v2 12 | - name: install dependencies 13 | run: sudo apt install bc module-assistant build-essential 14 | - name: prepare build 15 | run: sudo m-a prepare 16 | - name: build 17 | run: make 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /linux 2 | *.o 3 | *.cmd 4 | *.o.d 5 | 6 | src/ 7 | pkg/ 8 | rtl8821ce/ 9 | *.pkg.tar 10 | -------------------------------------------------------------------------------- /COPYING: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2012 - 2020 Realtek Corporation. 4 | * Copyright(c) 2018 - 2020 Maintenance by Tomás Pinho and other contributors in GitHub project. 5 | * 6 | * This program is free software; you can redistribute it and/or modify it 7 | * under the terms of version 2 of the GNU General Public License as 8 | * published by the Free Software Foundation. 9 | * 10 | * This program is distributed in the hope that it will be useful, but WITHOUT 11 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 12 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 13 | * more details. 14 | * 15 | ******************************************************************************/ 16 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu:latest AS build 2 | 3 | ENV KVER=5.18.0-051800-generic 4 | ARG URL_LINUX_HEADERS=https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.18/amd64/linux-headers-5.18.0-051800_5.18.0-051800.202205222030_all.deb 5 | ARG URL_LINUX_HEADERS_GENERIC=https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.18/amd64/linux-headers-5.18.0-051800-generic_5.18.0-051800.202205222030_amd64.deb 6 | ARG URL_LINUX_MODULES=https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.18/amd64/linux-modules-5.18.0-051800-generic_5.18.0-051800.202205222030_amd64.deb 7 | ARG URL_LINUX_IMAGE=https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.18/amd64/linux-image-unsigned-5.18.0-051800-generic_5.18.0-051800.202205222030_amd64.deb 8 | 9 | ENV WORKDIR /build/ 10 | 11 | RUN mkdir -p $WORKDIR 12 | 13 | WORKDIR /debs 14 | 15 | RUN apt-get update 16 | 17 | RUN apt-get install -y bc build-essential dkms wget linux-base 18 | 19 | RUN wget $URL_LINUX_HEADERS $URL_LINUX_HEADERS_GENERIC $URL_LINUX_MODULES $URL_LINUX_IMAGE 20 | 21 | RUN dpkg -i ./*.deb 22 | RUN apt-get install -f 23 | 24 | WORKDIR $WORKDIR 25 | 26 | FROM build 27 | 28 | ADD . . 29 | 30 | CMD /bin/bash 31 | -------------------------------------------------------------------------------- /Kconfig: -------------------------------------------------------------------------------- 1 | config RTL8821CE 2 | tristate "Realtek 8821C PCI WiFi" 3 | depends on PCI 4 | ---help--- 5 | Help message of RTL8821CE 6 | 7 | -------------------------------------------------------------------------------- /PKGBUILD: -------------------------------------------------------------------------------- 1 | # Maintainer: Tomás Pinho 2 | 3 | pkgname=rtl8821ce-dkms-git 4 | _pkgbase=rtl8821ce 5 | pkgver=1.0.0.r11.g932e820 6 | pkgrel=1 7 | pkgdesc="rtl8821CE driver with firmware" 8 | arch=('i686' 'x86_64') 9 | url="https://github.com/tomaspinho/rtl8821ce" 10 | license=('GPL2') 11 | depends=('dkms') 12 | makedepends=('git' 'bc') 13 | conflicts=("${_pkgbase}") 14 | source=("git+https://github.com/tomaspinho/rtl8821ce.git") 15 | # 'dkms.conf') 16 | sha256sums=('SKIP') 17 | # '3f401c2a8c862af919b1fdaaa4270ef18f674725035c9769590d529b9aa5c078') 18 | 19 | 20 | pkgver() { 21 | cd ${srcdir}/rtl8821ce 22 | printf '%s.r%s.g%s' '1.0.0' "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" 23 | } 24 | 25 | package() { 26 | cd ${srcdir}/rtl8821ce 27 | mkdir -p ${pkgdir}/usr/src/${_pkgbase}-${pkgver} 28 | cp -pr * ${pkgdir}/usr/src/${_pkgbase}-${pkgver} 29 | #cp ${srcdir}/dkms.conf ${pkgdir}/usr/src/${_pkgbase}-${pkgver} 30 | # Set name and version 31 | sed -e "s/@_PKGBASE@/${_pkgbase}-dkms/" \ 32 | -e "s/@PKGVER@/${pkgver}/" \ 33 | -i "${pkgdir}"/usr/src/${_pkgbase}-${pkgver}/dkms.conf 34 | } 35 | -------------------------------------------------------------------------------- /clean: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | rmmod 8192cu 3 | rmmod 8192ce 4 | rmmod 8192du 5 | rmmod 8192de 6 | -------------------------------------------------------------------------------- /core/rtw_btcoex_wifionly.c: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2013 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #include 16 | #include 17 | #include 18 | 19 | void rtw_btcoex_wifionly_switchband_notify(PADAPTER padapter) 20 | { 21 | hal_btcoex_wifionly_switchband_notify(padapter); 22 | } 23 | 24 | void rtw_btcoex_wifionly_scan_notify(PADAPTER padapter) 25 | { 26 | hal_btcoex_wifionly_scan_notify(padapter); 27 | } 28 | 29 | void rtw_btcoex_wifionly_connect_notify(PADAPTER padapter) 30 | { 31 | hal_btcoex_wifionly_connect_notify(padapter); 32 | } 33 | 34 | void rtw_btcoex_wifionly_hw_config(PADAPTER padapter) 35 | { 36 | hal_btcoex_wifionly_hw_config(padapter); 37 | } 38 | 39 | void rtw_btcoex_wifionly_initialize(PADAPTER padapter) 40 | { 41 | hal_btcoex_wifionly_initlizevariables(padapter); 42 | } 43 | 44 | void rtw_btcoex_wifionly_AntInfoSetting(PADAPTER padapter) 45 | { 46 | hal_btcoex_wifionly_AntInfoSetting(padapter); 47 | } 48 | -------------------------------------------------------------------------------- /dkms-install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [[ $EUID -ne 0 ]]; then 4 | echo "You must run this with superuser priviliges. Try \"sudo ./dkms-install.sh\"" 2>&1 5 | exit 1 6 | else 7 | echo "About to run dkms install steps..." 8 | fi 9 | 10 | DRV_NAME=rtl8821ce 11 | DRV_VERSION=v5.5.2_34066.20200325 12 | 13 | cp -r . /usr/src/${DRV_NAME}-${DRV_VERSION} 14 | 15 | dkms add -m ${DRV_NAME} -v ${DRV_VERSION} 16 | dkms build -m ${DRV_NAME} -v ${DRV_VERSION} 17 | dkms install -m ${DRV_NAME} -v ${DRV_VERSION} 18 | RESULT=$? 19 | 20 | echo "Finished running dkms install steps." 21 | 22 | exit $RESULT 23 | -------------------------------------------------------------------------------- /dkms-remove.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [[ $EUID -ne 0 ]]; then 4 | echo "You must run this with superuser priviliges. Try \"sudo ./dkms-remove.sh\"" 2>&1 5 | exit 1 6 | else 7 | echo "About to run dkms removal steps..." 8 | fi 9 | 10 | DRV_NAME=rtl8821ce 11 | DRV_VERSION=v5.5.2_34066.20200325 12 | 13 | dkms remove ${DRV_NAME}/${DRV_VERSION} --all 14 | rm -rf /usr/src/${DRV_NAME}-${DRV_VERSION} 15 | 16 | RESULT=$? 17 | if [[ "$RESULT" != "0" ]]; then 18 | echo "Error occurred while running dkms remove." 2>&1 19 | else 20 | echo "Finished running dkms removal steps." 21 | fi 22 | 23 | exit $RESULT 24 | -------------------------------------------------------------------------------- /dkms.conf: -------------------------------------------------------------------------------- 1 | PACKAGE_NAME="rtl8821ce" 2 | PACKAGE_VERSION="#MODULE_VERSION#" 3 | BUILT_MODULE_NAME[0]="8821ce" 4 | MAKE="'make' -j$(nproc) KVER=$kernelver" 5 | CLEAN="'make' clean" 6 | DEST_MODULE_LOCATION[0]="/updates/dkms" 7 | AUTOINSTALL="YES" 8 | -------------------------------------------------------------------------------- /get_sources.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ## This script gets the driver sources from Endless OS and bootstraps this repository 4 | ## Make sure to run this (cwd) from the root of the repository 5 | 6 | git clone --depth=1 git@github.com:endlessm/linux.git 7 | 8 | cp -r linux/drivers/net/wireless/rtl8821ce/* . 9 | -------------------------------------------------------------------------------- /hal/btc/halbtc8723bwifionly.h: -------------------------------------------------------------------------------- 1 | #ifndef __INC_HAL8723BWIFIONLYHWCFG_H 2 | #define __INC_HAL8723BWIFIONLYHWCFG_H 3 | 4 | VOID 5 | ex_hal8723b_wifi_only_hw_config( 6 | IN struct wifi_only_cfg *pwifionlycfg 7 | ); 8 | #endif 9 | -------------------------------------------------------------------------------- /hal/btc/halbtc8812a2ant.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomaspinho/rtl8821ce/66c015af7738039a2045b6da755875e126d3fe73/hal/btc/halbtc8812a2ant.c -------------------------------------------------------------------------------- /hal/btc/halbtc8821a2ant.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomaspinho/rtl8821ce/66c015af7738039a2045b6da755875e126d3fe73/hal/btc/halbtc8821a2ant.c -------------------------------------------------------------------------------- /hal/btc/halbtc8822bwifionly.c: -------------------------------------------------------------------------------- 1 | #include "mp_precomp.h" 2 | 3 | 4 | VOID 5 | ex_hal8822b_wifi_only_hw_config( 6 | IN struct wifi_only_cfg *pwifionlycfg 7 | ) 8 | { 9 | /*BB control*/ 10 | halwifionly_phy_set_bb_reg(pwifionlycfg, 0x4c, 0x01800000, 0x2); 11 | /*SW control*/ 12 | halwifionly_phy_set_bb_reg(pwifionlycfg, 0xcb4, 0xff, 0x77); 13 | /*antenna mux switch */ 14 | halwifionly_phy_set_bb_reg(pwifionlycfg, 0x974, 0x300, 0x3); 15 | 16 | halwifionly_phy_set_bb_reg(pwifionlycfg, 0x1990, 0x300, 0x0); 17 | 18 | halwifionly_phy_set_bb_reg(pwifionlycfg, 0xcbc, 0x80000, 0x0); 19 | /*switch to WL side controller and gnt_wl gnt_bt debug signal */ 20 | halwifionly_phy_set_bb_reg(pwifionlycfg, 0x70, 0xff000000, 0x0e); 21 | /*gnt_wl=1 , gnt_bt=0*/ 22 | halwifionly_phy_set_bb_reg(pwifionlycfg, 0x1704, 0xffffffff, 0x7700); 23 | halwifionly_phy_set_bb_reg(pwifionlycfg, 0x1700, 0xffffffff, 0xc00f0038); 24 | } 25 | 26 | VOID 27 | ex_hal8822b_wifi_only_scannotify( 28 | IN struct wifi_only_cfg *pwifionlycfg, 29 | IN u1Byte is_5g 30 | ) 31 | { 32 | hal8822b_wifi_only_switch_antenna(pwifionlycfg, is_5g); 33 | } 34 | 35 | VOID 36 | ex_hal8822b_wifi_only_switchbandnotify( 37 | IN struct wifi_only_cfg *pwifionlycfg, 38 | IN u1Byte is_5g 39 | ) 40 | { 41 | hal8822b_wifi_only_switch_antenna(pwifionlycfg, is_5g); 42 | } 43 | 44 | VOID 45 | hal8822b_wifi_only_switch_antenna(IN struct wifi_only_cfg *pwifionlycfg, 46 | IN u1Byte is_5g 47 | ) 48 | { 49 | 50 | if (is_5g) 51 | halwifionly_phy_set_bb_reg(pwifionlycfg, 0xcbc, 0x300, 0x1); 52 | else 53 | halwifionly_phy_set_bb_reg(pwifionlycfg, 0xcbc, 0x300, 0x2); 54 | } 55 | -------------------------------------------------------------------------------- /hal/btc/halbtc8822bwifionly.h: -------------------------------------------------------------------------------- 1 | #ifndef __INC_HAL8822BWIFIONLYHWCFG_H 2 | #define __INC_HAL8822BWIFIONLYHWCFG_H 3 | 4 | VOID 5 | ex_hal8822b_wifi_only_hw_config( 6 | IN struct wifi_only_cfg *pwifionlycfg 7 | ); 8 | VOID 9 | ex_hal8822b_wifi_only_scannotify( 10 | IN struct wifi_only_cfg *pwifionlycfg, 11 | IN u1Byte is_5g 12 | ); 13 | VOID 14 | ex_hal8822b_wifi_only_switchbandnotify( 15 | IN struct wifi_only_cfg *pwifionlycfg, 16 | IN u1Byte is_5g 17 | ); 18 | VOID 19 | hal8822b_wifi_only_switch_antenna(IN struct wifi_only_cfg *pwifionlycfg, 20 | IN u1Byte is_5g 21 | ); 22 | #endif 23 | -------------------------------------------------------------------------------- /hal/efuse/rtl8821c/HalEfuseMask8821C_PCIE.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | 16 | 17 | 18 | /****************************************************************************** 19 | * MPCIE.TXT 20 | ******************************************************************************/ 21 | 22 | 23 | u2Byte 24 | EFUSE_GetArrayLen_MP_8821C_MPCIE(VOID); 25 | 26 | VOID 27 | EFUSE_GetMaskArray_MP_8821C_MPCIE( 28 | IN OUT pu1Byte Array 29 | ); 30 | 31 | BOOLEAN 32 | EFUSE_IsAddressMasked_MP_8821C_MPCIE(/* TC: Test Chip, MP: MP Chip */ 33 | IN u2Byte Offset 34 | ); 35 | -------------------------------------------------------------------------------- /hal/efuse/rtl8821c/HalEfuseMask8821C_SDIO.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | 16 | 17 | 18 | /****************************************************************************** 19 | * MSDIO.TXT 20 | ******************************************************************************/ 21 | 22 | 23 | u2Byte 24 | EFUSE_GetArrayLen_MP_8821C_MSDIO(VOID); 25 | 26 | VOID 27 | EFUSE_GetMaskArray_MP_8821C_MSDIO( 28 | IN OUT pu1Byte Array 29 | ); 30 | 31 | BOOLEAN 32 | EFUSE_IsAddressMasked_MP_8821C_MSDIO(/* TC: Test Chip, MP: MP Chip */ 33 | IN u2Byte Offset 34 | ); 35 | -------------------------------------------------------------------------------- /hal/efuse/rtl8821c/HalEfuseMask8821C_USB.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | 16 | 17 | 18 | /****************************************************************************** 19 | * MUSB.TXT 20 | ******************************************************************************/ 21 | 22 | 23 | u2Byte 24 | EFUSE_GetArrayLen_MP_8821C_MUSB(VOID); 25 | 26 | VOID 27 | EFUSE_GetMaskArray_MP_8821C_MUSB( 28 | IN OUT pu1Byte Array 29 | ); 30 | 31 | BOOLEAN 32 | EFUSE_IsAddressMasked_MP_8821C_MUSB(/* TC: Test Chip, MP: MP Chip */ 33 | IN u2Byte Offset 34 | ); 35 | -------------------------------------------------------------------------------- /hal/hal_hci/hal_pci.c: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #define _HAL_PCI_C_ 16 | 17 | #include 18 | #include 19 | -------------------------------------------------------------------------------- /hal/halmac/halmac_88xx/halmac_8821c/halmac_8821c_phy.c: -------------------------------------------------------------------------------- 1 | #include "../halmac_88xx_cfg.h" 2 | #include "halmac_8821c_cfg.h" 3 | 4 | /** 5 | * ============ip sel item list============ 6 | * HALMAC_IP_SEL_INTF_PHY 7 | * USB2 : usb2 phy, 1byte value 8 | * USB3 : usb3 phy, 2byte value 9 | * PCIE1 : pcie gen1 mdio, 2byte value 10 | * PCIE2 : pcie gen2 mdio, 2byte value 11 | * HALMAC_IP_SEL_MAC 12 | * USB2, USB3, PCIE1, PCIE2 : mac ip, 1byte value 13 | * HALMAC_IP_SEL_PCIE_DBI 14 | * USB2 USB3 : none 15 | * PCIE1, PCIE2 : pcie dbi, 1byte value 16 | */ 17 | 18 | HALMAC_INTF_PHY_PARA HALMAC_RTL8821C_USB2_PHY[] = { 19 | /* {offset, value, ip sel, cut mask, platform mask} */ 20 | {0xFFFF, 0x00, HALMAC_IP_SEL_INTF_PHY, HALMAC_INTF_PHY_CUT_ALL, HALMAC_INTF_PHY_PLATFORM_ALL}, 21 | }; 22 | 23 | HALMAC_INTF_PHY_PARA HALMAC_RTL8821C_USB3_PHY[] = { 24 | /* {offset, value, cut mask, platform mask} */ 25 | {0xFFFF, 0x0000, HALMAC_IP_SEL_INTF_PHY, HALMAC_INTF_PHY_CUT_ALL, HALMAC_INTF_PHY_PLATFORM_ALL}, 26 | }; 27 | 28 | HALMAC_INTF_PHY_PARA HALMAC_RTL8821C_PCIE_PHY_GEN1[] = { 29 | /* {offset, value, ip sel, cut mask, platform mask} */ 30 | {0xFFFF, 0x0000, HALMAC_IP_SEL_INTF_PHY, HALMAC_INTF_PHY_CUT_ALL, HALMAC_INTF_PHY_PLATFORM_ALL}, 31 | }; 32 | 33 | HALMAC_INTF_PHY_PARA HALMAC_RTL8821C_PCIE_PHY_GEN2[] = { 34 | /* {offset, value, ip sel, cut mask, platform mask} */ 35 | {0xFFFF, 0x0000, HALMAC_IP_SEL_INTF_PHY, HALMAC_INTF_PHY_CUT_ALL, HALMAC_INTF_PHY_PLATFORM_ALL}, 36 | }; 37 | -------------------------------------------------------------------------------- /hal/halmac/halmac_88xx/halmac_8821c/halmac_8821c_pwr_seq.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomaspinho/rtl8821ce/66c015af7738039a2045b6da755875e126d3fe73/hal/halmac/halmac_88xx/halmac_8821c/halmac_8821c_pwr_seq.c -------------------------------------------------------------------------------- /hal/halmac/halmac_88xx/halmac_8821c/halmac_8821c_pwr_seq.h: -------------------------------------------------------------------------------- 1 | #ifndef HALMAC_POWER_SEQUENCE_8821C 2 | #define HALMAC_POWER_SEQUENCE_8821C 3 | 4 | #include "../../halmac_pwr_seq_cmd.h" 5 | 6 | #define HALMAC_8821C_PWR_SEQ_VER "V13" 7 | extern PHALMAC_WLAN_PWR_CFG halmac_8821c_card_disable_flow[]; 8 | extern PHALMAC_WLAN_PWR_CFG halmac_8821c_card_enable_flow[]; 9 | extern PHALMAC_WLAN_PWR_CFG halmac_8821c_suspend_flow[]; 10 | extern PHALMAC_WLAN_PWR_CFG halmac_8821c_resume_flow[]; 11 | extern PHALMAC_WLAN_PWR_CFG halmac_8821c_hwpdn_flow[]; 12 | extern PHALMAC_WLAN_PWR_CFG halmac_8821c_enter_lps_flow[]; 13 | extern PHALMAC_WLAN_PWR_CFG halmac_8821c_enter_deep_lps_flow[]; 14 | extern PHALMAC_WLAN_PWR_CFG halmac_8821c_leave_lps_flow[]; 15 | 16 | #endif 17 | -------------------------------------------------------------------------------- /hal/halmac/halmac_88xx/halmac_8821c/halmac_api_8821c.h: -------------------------------------------------------------------------------- 1 | #ifndef _HALMAC_API_8821C_H_ 2 | #define _HALMAC_API_8821C_H_ 3 | 4 | #include "../../halmac_2_platform.h" 5 | #include "../../halmac_type.h" 6 | 7 | HALMAC_RET_STATUS 8 | halmac_mount_api_8821c( 9 | IN PHALMAC_ADAPTER pHalmac_adapter 10 | ); 11 | 12 | HALMAC_RET_STATUS 13 | halmac_init_trx_cfg_8821C( 14 | IN PHALMAC_ADAPTER pHalmac_adapter, 15 | IN HALMAC_TRX_MODE halmac_trx_mode 16 | ); 17 | 18 | HALMAC_RET_STATUS 19 | halmac_init_protocol_cfg_8821c( 20 | IN PHALMAC_ADAPTER pHalmac_adapter 21 | ); 22 | 23 | HALMAC_RET_STATUS 24 | halmac_init_h2c_8821c( 25 | IN PHALMAC_ADAPTER pHalmac_adapter 26 | ); 27 | 28 | #endif/* _HALMAC_API_8821C_H_ */ 29 | -------------------------------------------------------------------------------- /hal/halmac/halmac_88xx/halmac_8821c/halmac_api_8821c_pcie.h: -------------------------------------------------------------------------------- 1 | #ifndef _HALMAC_API_8821C_PCIE_H_ 2 | #define _HALMAC_API_8821C_PCIE_H_ 3 | 4 | #include "../../halmac_2_platform.h" 5 | #include "../../halmac_type.h" 6 | 7 | extern HALMAC_INTF_PHY_PARA HALMAC_RTL8821C_PCIE_PHY_GEN1[]; 8 | extern HALMAC_INTF_PHY_PARA HALMAC_RTL8821C_PCIE_PHY_GEN2[]; 9 | 10 | HALMAC_RET_STATUS 11 | halmac_mac_power_switch_8821c_pcie( 12 | IN PHALMAC_ADAPTER pHalmac_adapter, 13 | IN HALMAC_MAC_POWER halmac_power 14 | ); 15 | 16 | HALMAC_RET_STATUS 17 | halmac_pcie_switch_8821c( 18 | IN PHALMAC_ADAPTER pHalmac_adapter, 19 | IN HALMAC_PCIE_CFG pcie_cfg 20 | ); 21 | 22 | HALMAC_RET_STATUS 23 | halmac_pcie_switch_8821c_nc( 24 | IN PHALMAC_ADAPTER pHalmac_adapter, 25 | IN HALMAC_PCIE_CFG pcie_cfg 26 | ); 27 | 28 | HALMAC_RET_STATUS 29 | halmac_phy_cfg_8821c_pcie( 30 | IN PHALMAC_ADAPTER pHalmac_adapter, 31 | IN HALMAC_INTF_PHY_PLATFORM platform 32 | ); 33 | 34 | HALMAC_RET_STATUS 35 | halmac_interface_integration_tuning_8821c_pcie( 36 | IN PHALMAC_ADAPTER pHalmac_adapter 37 | ); 38 | 39 | #endif/* _HALMAC_API_8821C_PCIE_H_ */ 40 | -------------------------------------------------------------------------------- /hal/halmac/halmac_88xx/halmac_8821c/halmac_api_8821c_sdio.h: -------------------------------------------------------------------------------- 1 | #ifndef _HALMAC_API_8821C_SDIO_H_ 2 | #define _HALMAC_API_8821C_SDIO_H_ 3 | 4 | #include "../../halmac_2_platform.h" 5 | #include "../../halmac_type.h" 6 | 7 | HALMAC_RET_STATUS 8 | halmac_mac_power_switch_8821c_sdio( 9 | IN PHALMAC_ADAPTER pHalmac_adapter, 10 | IN HALMAC_MAC_POWER halmac_power 11 | ); 12 | 13 | #if 0 14 | HALMAC_RET_STATUS 15 | halmac_tx_allowed_sdio_8821c( 16 | IN PHALMAC_ADAPTER pHalmac_adapter, 17 | IN u8 *pHalmac_buf, 18 | IN u32 halmac_size 19 | ); 20 | #endif 21 | 22 | HALMAC_RET_STATUS 23 | halmac_phy_cfg_8821c_sdio( 24 | IN PHALMAC_ADAPTER pHalmac_adapter, 25 | IN HALMAC_INTF_PHY_PLATFORM platform 26 | ); 27 | 28 | HALMAC_RET_STATUS 29 | halmac_interface_integration_tuning_8821c_sdio( 30 | IN PHALMAC_ADAPTER pHalmac_adapter 31 | ); 32 | 33 | #endif/* _HALMAC_API_8821C_SDIO_H_ */ 34 | -------------------------------------------------------------------------------- /hal/halmac/halmac_88xx/halmac_8821c/halmac_api_8821c_usb.h: -------------------------------------------------------------------------------- 1 | #ifndef _HALMAC_API_8821C_USB_H_ 2 | #define _HALMAC_API_8821C_USB_H_ 3 | 4 | #include "../../halmac_2_platform.h" 5 | #include "../../halmac_type.h" 6 | 7 | extern HALMAC_INTF_PHY_PARA HALMAC_RTL8821C_USB2_PHY[]; 8 | extern HALMAC_INTF_PHY_PARA HALMAC_RTL8821C_USB3_PHY[]; 9 | 10 | HALMAC_RET_STATUS 11 | halmac_mac_power_switch_8821c_usb( 12 | IN PHALMAC_ADAPTER pHalmac_adapter, 13 | IN HALMAC_MAC_POWER halmac_power 14 | ); 15 | 16 | HALMAC_RET_STATUS 17 | halmac_phy_cfg_8821c_usb( 18 | IN PHALMAC_ADAPTER pHalmac_adapter, 19 | IN HALMAC_INTF_PHY_PLATFORM platform 20 | ); 21 | 22 | HALMAC_RET_STATUS 23 | halmac_interface_integration_tuning_8821c_usb( 24 | IN PHALMAC_ADAPTER pHalmac_adapter 25 | ); 26 | 27 | #endif/* _HALMAC_API_8821C_USB_H_ */ 28 | -------------------------------------------------------------------------------- /hal/halmac/halmac_88xx/halmac_8821c/halmac_cfg_wmac_8821c.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2017 - 2018 Realtek Corporation. All rights reserved. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | ******************************************************************************/ 15 | 16 | #ifndef _HALMAC_CFG_WMAC_8821C_H_ 17 | #define _HALMAC_CFG_WMAC_8821C_H_ 18 | 19 | #include "../../halmac_api.h" 20 | 21 | #if HALMAC_8821C_SUPPORT 22 | 23 | enum halmac_ret_status 24 | cfg_drv_info_8821c(struct halmac_adapter *adapter, 25 | enum halmac_drv_info drv_info); 26 | 27 | enum halmac_ret_status 28 | init_low_pwr_8821c(struct halmac_adapter *adapter); 29 | 30 | void 31 | cfg_rx_ignore_8821c(struct halmac_adapter *adapter, 32 | struct halmac_mac_rx_ignore_cfg *cfg); 33 | 34 | enum halmac_ret_status 35 | cfg_ampdu_8821c(struct halmac_adapter *adapter, 36 | struct halmac_ampdu_config *cfg); 37 | 38 | #endif/* HALMAC_8821C_SUPPORT */ 39 | 40 | #endif/* _HALMAC_CFG_WMAC_8821C_H_ */ 41 | -------------------------------------------------------------------------------- /hal/halmac/halmac_88xx/halmac_8821c/halmac_common_8821c.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2017 - 2018 Realtek Corporation. All rights reserved. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | ******************************************************************************/ 15 | 16 | #ifndef _HALMAC_COMMON_8821C_H_ 17 | #define _HALMAC_COMMON_8821C_H_ 18 | 19 | #include "../../halmac_api.h" 20 | 21 | #if HALMAC_8821C_SUPPORT 22 | 23 | enum halmac_ret_status 24 | get_hw_value_8821c(struct halmac_adapter *adapter, enum halmac_hw_id hw_id, 25 | void *value); 26 | 27 | enum halmac_ret_status 28 | set_hw_value_8821c(struct halmac_adapter *adapter, enum halmac_hw_id hw_id, 29 | void *value); 30 | 31 | enum halmac_ret_status 32 | fill_txdesc_check_sum_8821c(struct halmac_adapter *adapter, u8 *txdesc); 33 | 34 | #endif/* HALMAC_8821C_SUPPORT */ 35 | 36 | #endif/* _HALMAC_COMMON_8821C_H_ */ 37 | -------------------------------------------------------------------------------- /hal/halmac/halmac_88xx/halmac_8821c/halmac_func_8821c.h: -------------------------------------------------------------------------------- 1 | #ifndef _HALMAC_FUNC_8821C_H_ 2 | #define _HALMAC_FUNC_8821C_H_ 3 | 4 | #include "../../halmac_type.h" 5 | 6 | HALMAC_RET_STATUS 7 | halmac_txdma_queue_mapping_8821c( 8 | IN PHALMAC_ADAPTER pHalmac_adapter, 9 | IN HALMAC_TRX_MODE halmac_trx_mode 10 | ); 11 | 12 | 13 | HALMAC_RET_STATUS 14 | halmac_priority_queue_config_8821c( 15 | IN PHALMAC_ADAPTER pHalmac_adapter, 16 | IN HALMAC_TRX_MODE halmac_trx_mode 17 | ); 18 | 19 | #endif /* _HALMAC_FUNC_8821C_H_ */ 20 | -------------------------------------------------------------------------------- /hal/halmac/halmac_88xx/halmac_8821c/halmac_gpio_8821c.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2016 - 2018 Realtek Corporation. All rights reserved. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | ******************************************************************************/ 15 | 16 | #ifndef _HALMAC_GPIO_8821C_H_ 17 | #define _HALMAC_GPIO_8821C_H_ 18 | 19 | #include "../../halmac_api.h" 20 | 21 | #if HALMAC_8821C_SUPPORT 22 | 23 | enum halmac_ret_status 24 | pinmux_get_func_8821c(struct halmac_adapter *adapter, 25 | enum halmac_gpio_func gpio_func, u8 *enable); 26 | 27 | enum halmac_ret_status 28 | pinmux_set_func_8821c(struct halmac_adapter *adapter, 29 | enum halmac_gpio_func gpio_func); 30 | 31 | enum halmac_ret_status 32 | pinmux_free_func_8821c(struct halmac_adapter *adapter, 33 | enum halmac_gpio_func gpio_func); 34 | 35 | #endif /* HALMAC_8821C_SUPPORT */ 36 | 37 | #endif/* _HALMAC_GPIO_8821C_H_ */ 38 | -------------------------------------------------------------------------------- /hal/halmac/halmac_88xx/halmac_8821c/halmac_init_8821c.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2016 - 2018 Realtek Corporation. All rights reserved. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | ******************************************************************************/ 15 | 16 | #ifndef _HALMAC_INIT_8821C_H_ 17 | #define _HALMAC_INIT_8821C_H_ 18 | 19 | #include "../../halmac_api.h" 20 | 21 | #if HALMAC_8821C_SUPPORT 22 | 23 | enum halmac_ret_status 24 | mount_api_8821c(struct halmac_adapter *adapter); 25 | 26 | enum halmac_ret_status 27 | init_trx_cfg_8821c(struct halmac_adapter *adapter, enum halmac_trx_mode mode); 28 | 29 | enum halmac_ret_status 30 | init_protocol_cfg_8821c(struct halmac_adapter *adapter); 31 | 32 | enum halmac_ret_status 33 | init_h2c_8821c(struct halmac_adapter *adapter); 34 | 35 | enum halmac_ret_status 36 | init_edca_cfg_8821c(struct halmac_adapter *adapter); 37 | 38 | enum halmac_ret_status 39 | init_wmac_cfg_8821c(struct halmac_adapter *adapter); 40 | 41 | #endif /* HALMAC_8821C_SUPPORT */ 42 | 43 | #endif/* _HALMAC_INIT_8821C_H_ */ 44 | -------------------------------------------------------------------------------- /hal/halmac/halmac_88xx/halmac_8821c/halmac_pcie_8821c.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2016 - 2018 Realtek Corporation. All rights reserved. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | ******************************************************************************/ 15 | 16 | #ifndef _HALMAC_PCIE_8821C_H_ 17 | #define _HALMAC_PCIE_8821C_H_ 18 | 19 | #include "../../halmac_api.h" 20 | 21 | #if (HALMAC_8821C_SUPPORT && HALMAC_PCIE_SUPPORT) 22 | 23 | extern struct halmac_intf_phy_para pcie_gen1_phy_param_8821c[]; 24 | extern struct halmac_intf_phy_para pcie_gen2_phy_param_8821c[]; 25 | 26 | enum halmac_ret_status 27 | mac_pwr_switch_pcie_8821c(struct halmac_adapter *adapter, 28 | enum halmac_mac_power pwr); 29 | 30 | enum halmac_ret_status 31 | pcie_switch_8821c(struct halmac_adapter *adapter, enum halmac_pcie_cfg cfg); 32 | 33 | enum halmac_ret_status 34 | phy_cfg_pcie_8821c(struct halmac_adapter *adapter, 35 | enum halmac_intf_phy_platform pltfm); 36 | 37 | enum halmac_ret_status 38 | intf_tun_pcie_8821c(struct halmac_adapter *adapter); 39 | 40 | enum halmac_ret_status 41 | auto_refclk_cal_8821c_pcie(struct halmac_adapter *adapter); 42 | 43 | #endif /* HALMAC_8821C_SUPPORT */ 44 | 45 | #endif/* _HALMAC_PCIE_8821C_H_ */ 46 | -------------------------------------------------------------------------------- /hal/halmac/halmac_88xx/halmac_8821c/halmac_pwr_seq_8821c.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2016 - 2018 Realtek Corporation. All rights reserved. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | ******************************************************************************/ 15 | 16 | #ifndef HALMAC_POWER_SEQUENCE_8821C 17 | #define HALMAC_POWER_SEQUENCE_8821C 18 | 19 | #include "../../halmac_pwr_seq_cmd.h" 20 | #include "../../halmac_hw_cfg.h" 21 | 22 | #if HALMAC_8821C_SUPPORT 23 | 24 | #define HALMAC_8821C_PWR_SEQ_VER "V19" 25 | 26 | extern struct halmac_wlan_pwr_cfg *card_dis_flow_8821c[]; 27 | extern struct halmac_wlan_pwr_cfg *card_en_flow_8821c[]; 28 | extern struct halmac_wlan_pwr_cfg *suspend_flow_8821c[]; 29 | extern struct halmac_wlan_pwr_cfg *resume_flow_8821c[]; 30 | extern struct halmac_wlan_pwr_cfg *hwpdn_flow_8821c[]; 31 | extern struct halmac_wlan_pwr_cfg *enter_lps_flow_8821c[]; 32 | extern struct halmac_wlan_pwr_cfg *enter_dlps_flow_8821c[]; 33 | extern struct halmac_wlan_pwr_cfg *leave_lps_flow_8821c[]; 34 | 35 | #endif /* HALMAC_8821C_SUPPORT */ 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /hal/halmac/halmac_88xx/halmac_88xx_cfg.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2016 - 2018 Realtek Corporation. All rights reserved. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | ******************************************************************************/ 15 | 16 | #ifndef _HALMAC_88XX_CFG_H_ 17 | #define _HALMAC_88XX_CFG_H_ 18 | 19 | #include "../halmac_api.h" 20 | 21 | #if HALMAC_88XX_SUPPORT 22 | 23 | #define TX_PAGE_SIZE_88XX 128 24 | #define TX_PAGE_SIZE_SHIFT_88XX 7 /* 128 = 2^7 */ 25 | #define TX_ALIGN_SIZE_88XX 8 26 | #define SDIO_TX_MAX_SIZE_88XX 31744 27 | #define RX_BUF_FW_88XX 12288 28 | 29 | #define TX_DESC_SIZE_88XX 48 30 | #define RX_DESC_SIZE_88XX 24 31 | 32 | #define H2C_PKT_SIZE_88XX 32 /* Only support 32 byte packet now */ 33 | #define H2C_PKT_HDR_SIZE_88XX 8 34 | #define C2H_DATA_OFFSET_88XX 10 35 | #define C2H_PKT_BUF_88XX 256 36 | 37 | /* HW memory address */ 38 | #define OCPBASE_TXBUF_88XX 0x18780000 39 | #define OCPBASE_DMEM_88XX 0x00200000 40 | #define OCPBASE_EMEM_88XX 0x00100000 41 | 42 | #endif /* HALMAC_88XX_SUPPORT */ 43 | 44 | #endif 45 | -------------------------------------------------------------------------------- /hal/halmac/halmac_88xx/halmac_api_88xx.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomaspinho/rtl8821ce/66c015af7738039a2045b6da755875e126d3fe73/hal/halmac/halmac_88xx/halmac_api_88xx.c -------------------------------------------------------------------------------- /hal/halmac/halmac_88xx/halmac_api_88xx_pcie.h: -------------------------------------------------------------------------------- 1 | #ifndef _HALMAC_API_88XX_PCIE_H_ 2 | #define _HALMAC_API_88XX_PCIE_H_ 3 | 4 | #include "../halmac_2_platform.h" 5 | #include "../halmac_type.h" 6 | 7 | #define LINK_CTRL2_REG_OFFSET 0xA0 8 | #define GEN2_CTRL_OFFSET 0x80C 9 | #define LINK_STATUS_REG_OFFSET 0x82 10 | #define GEN1_SPEED 0x01 11 | #define GEN2_SPEED 0x02 12 | 13 | 14 | HALMAC_RET_STATUS 15 | halmac_init_pcie_cfg_88xx( 16 | IN PHALMAC_ADAPTER pHalmac_adapter 17 | ); 18 | 19 | HALMAC_RET_STATUS 20 | halmac_deinit_pcie_cfg_88xx( 21 | IN PHALMAC_ADAPTER pHalmac_adapter 22 | ); 23 | 24 | HALMAC_RET_STATUS 25 | halmac_cfg_rx_aggregation_88xx_pcie( 26 | IN PHALMAC_ADAPTER pHalmac_adapter, 27 | IN PHALMAC_RXAGG_CFG phalmac_rxagg_cfg 28 | ); 29 | 30 | u8 31 | halmac_reg_read_8_pcie_88xx( 32 | IN PHALMAC_ADAPTER pHalmac_adapter, 33 | IN u32 halmac_offset 34 | ); 35 | 36 | HALMAC_RET_STATUS 37 | halmac_reg_write_8_pcie_88xx( 38 | IN PHALMAC_ADAPTER pHalmac_adapter, 39 | IN u32 halmac_offset, 40 | IN u8 halmac_data 41 | ); 42 | 43 | u16 44 | halmac_reg_read_16_pcie_88xx( 45 | IN PHALMAC_ADAPTER pHalmac_adapter, 46 | IN u32 halmac_offset 47 | ); 48 | 49 | HALMAC_RET_STATUS 50 | halmac_reg_write_16_pcie_88xx( 51 | IN PHALMAC_ADAPTER pHalmac_adapter, 52 | IN u32 halmac_offset, 53 | IN u16 halmac_data 54 | ); 55 | 56 | u32 57 | halmac_reg_read_32_pcie_88xx( 58 | IN PHALMAC_ADAPTER pHalmac_adapter, 59 | IN u32 halmac_offset 60 | ); 61 | 62 | HALMAC_RET_STATUS 63 | halmac_reg_write_32_pcie_88xx( 64 | IN PHALMAC_ADAPTER pHalmac_adapter, 65 | IN u32 halmac_offset, 66 | IN u32 halmac_data 67 | ); 68 | 69 | HALMAC_RET_STATUS 70 | halmac_cfg_tx_agg_align_pcie_not_support_88xx( 71 | IN PHALMAC_ADAPTER pHalmac_adapter, 72 | IN u8 enable, 73 | IN u16 align_size 74 | ); 75 | 76 | #endif/* _HALMAC_API_88XX_PCIE_H_ */ 77 | -------------------------------------------------------------------------------- /hal/halmac/halmac_88xx/halmac_api_88xx_usb.h: -------------------------------------------------------------------------------- 1 | #ifndef _HALMAC_API_88XX_USB_H_ 2 | #define _HALMAC_API_88XX_USB_H_ 3 | 4 | #include "../halmac_2_platform.h" 5 | #include "../halmac_type.h" 6 | 7 | HALMAC_RET_STATUS 8 | halmac_init_usb_cfg_88xx( 9 | IN PHALMAC_ADAPTER pHalmac_adapter 10 | ); 11 | 12 | HALMAC_RET_STATUS 13 | halmac_deinit_usb_cfg_88xx( 14 | IN PHALMAC_ADAPTER pHalmac_adapter 15 | ); 16 | 17 | HALMAC_RET_STATUS 18 | halmac_cfg_rx_aggregation_88xx_usb( 19 | IN PHALMAC_ADAPTER pHalmac_adapter, 20 | IN PHALMAC_RXAGG_CFG phalmac_rxagg_cfg 21 | ); 22 | 23 | u8 24 | halmac_reg_read_8_usb_88xx( 25 | IN PHALMAC_ADAPTER pHalmac_adapter, 26 | IN u32 halmac_offset 27 | ); 28 | 29 | HALMAC_RET_STATUS 30 | halmac_reg_write_8_usb_88xx( 31 | IN PHALMAC_ADAPTER pHalmac_adapter, 32 | IN u32 halmac_offset, 33 | IN u8 halmac_data 34 | ); 35 | 36 | u16 37 | halmac_reg_read_16_usb_88xx( 38 | IN PHALMAC_ADAPTER pHalmac_adapter, 39 | IN u32 halmac_offset 40 | ); 41 | 42 | HALMAC_RET_STATUS 43 | halmac_reg_write_16_usb_88xx( 44 | IN PHALMAC_ADAPTER pHalmac_adapter, 45 | IN u32 halmac_offset, 46 | IN u16 halmac_data 47 | ); 48 | 49 | u32 50 | halmac_reg_read_32_usb_88xx( 51 | IN PHALMAC_ADAPTER pHalmac_adapter, 52 | IN u32 halmac_offset 53 | ); 54 | 55 | HALMAC_RET_STATUS 56 | halmac_reg_write_32_usb_88xx( 57 | IN PHALMAC_ADAPTER pHalmac_adapter, 58 | IN u32 halmac_offset, 59 | IN u32 halmac_data 60 | ); 61 | 62 | HALMAC_RET_STATUS 63 | halmac_set_bulkout_num_88xx( 64 | IN PHALMAC_ADAPTER pHalmac_adapter, 65 | IN u8 bulkout_num 66 | ); 67 | 68 | HALMAC_RET_STATUS 69 | halmac_get_usb_bulkout_id_88xx( 70 | IN PHALMAC_ADAPTER pHalmac_adapter, 71 | IN u8 *halmac_buf, 72 | IN u32 halmac_size, 73 | OUT u8 *bulkout_id 74 | ); 75 | 76 | HALMAC_RET_STATUS 77 | halmac_cfg_tx_agg_align_usb_not_support_88xx( 78 | IN PHALMAC_ADAPTER pHalmac_adapter, 79 | IN u8 enable, 80 | IN u16 align_size 81 | ); 82 | 83 | #endif/* _HALMAC_API_88XX_USB_H_ */ 84 | -------------------------------------------------------------------------------- /hal/halmac/halmac_88xx/halmac_bb_rf_88xx.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2016 - 2018 Realtek Corporation. All rights reserved. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | ******************************************************************************/ 15 | 16 | #ifndef _HALMAC_BB_RF_88XX_H_ 17 | #define _HALMAC_BB_RF_88XX_H_ 18 | 19 | #include "../halmac_api.h" 20 | 21 | #if HALMAC_88XX_SUPPORT 22 | 23 | enum halmac_ret_status 24 | start_iqk_88xx(struct halmac_adapter *adapter, struct halmac_iqk_para *param); 25 | 26 | enum halmac_ret_status 27 | ctrl_pwr_tracking_88xx(struct halmac_adapter *adapter, 28 | struct halmac_pwr_tracking_option *opt); 29 | 30 | enum halmac_ret_status 31 | get_iqk_status_88xx(struct halmac_adapter *adapter, 32 | enum halmac_cmd_process_status *proc_status); 33 | 34 | enum halmac_ret_status 35 | get_pwr_trk_status_88xx(struct halmac_adapter *adapter, 36 | enum halmac_cmd_process_status *proc_status); 37 | 38 | enum halmac_ret_status 39 | get_psd_status_88xx(struct halmac_adapter *adapter, 40 | enum halmac_cmd_process_status *proc_status, u8 *data, 41 | u32 *size); 42 | 43 | enum halmac_ret_status 44 | psd_88xx(struct halmac_adapter *adapter, u16 start_psd, u16 end_psd); 45 | 46 | enum halmac_ret_status 47 | get_h2c_ack_iqk_88xx(struct halmac_adapter *adapter, u8 *buf, u32 size); 48 | 49 | enum halmac_ret_status 50 | get_h2c_ack_pwr_trk_88xx(struct halmac_adapter *adapter, u8 *buf, u32 size); 51 | 52 | enum halmac_ret_status 53 | get_psd_data_88xx(struct halmac_adapter *adapter, u8 *buf, u32 size); 54 | 55 | #endif /* HALMAC_88XX_SUPPORT */ 56 | 57 | #endif/* _HALMAC_BB_RF_88XX_H_ */ 58 | -------------------------------------------------------------------------------- /hal/halmac/halmac_88xx/halmac_flash_88xx.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2017 - 2018 Realtek Corporation. All rights reserved. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | ******************************************************************************/ 15 | 16 | #ifndef _HALMAC_FLASH_88XX_H_ 17 | #define _HALMAC_FLASH_88XX_H_ 18 | 19 | #include "../halmac_api.h" 20 | 21 | #if HALMAC_88XX_SUPPORT 22 | 23 | enum halmac_ret_status 24 | download_flash_88xx(struct halmac_adapter *adapter, u8 *fw_bin, u32 size, 25 | u32 rom_addr); 26 | 27 | enum halmac_ret_status 28 | read_flash_88xx(struct halmac_adapter *adapter, u32 addr, u32 length); 29 | 30 | enum halmac_ret_status 31 | erase_flash_88xx(struct halmac_adapter *adapter, u8 erase_cmd, u32 addr); 32 | 33 | enum halmac_ret_status 34 | check_flash_88xx(struct halmac_adapter *adapter, u8 *fw_bin, u32 size, 35 | u32 addr); 36 | 37 | #endif /* HALMAC_88XX_SUPPORT */ 38 | 39 | #endif/* _HALMAC_FLASH_88XX_H_ */ 40 | -------------------------------------------------------------------------------- /hal/halmac/halmac_88xx/halmac_fw_88xx.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2016 - 2018 Realtek Corporation. All rights reserved. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | ******************************************************************************/ 15 | 16 | #ifndef _HALMAC_FW_88XX_H_ 17 | #define _HALMAC_FW_88XX_H_ 18 | 19 | #include "../halmac_api.h" 20 | 21 | #if HALMAC_88XX_SUPPORT 22 | 23 | #define HALMC_DDMA_POLLING_COUNT 1000 24 | 25 | enum halmac_ret_status 26 | download_firmware_88xx(struct halmac_adapter *adapter, u8 *fw_bin, u32 size); 27 | 28 | enum halmac_ret_status 29 | free_download_firmware_88xx(struct halmac_adapter *adapter, 30 | enum halmac_dlfw_mem mem_sel, u8 *fw_bin, u32 size); 31 | 32 | enum halmac_ret_status 33 | get_fw_version_88xx(struct halmac_adapter *adapter, 34 | struct halmac_fw_version *ver); 35 | 36 | enum halmac_ret_status 37 | check_fw_status_88xx(struct halmac_adapter *adapter, u8 *fw_status); 38 | 39 | enum halmac_ret_status 40 | dump_fw_dmem_88xx(struct halmac_adapter *adapter, u8 *dmem, u32 *size); 41 | 42 | enum halmac_ret_status 43 | cfg_max_dl_size_88xx(struct halmac_adapter *adapter, u32 size); 44 | 45 | enum halmac_ret_status 46 | enter_cpu_sleep_mode_88xx(struct halmac_adapter *adapter); 47 | 48 | enum halmac_ret_status 49 | get_cpu_mode_88xx(struct halmac_adapter *adapter, 50 | enum halmac_wlcpu_mode *mode); 51 | 52 | enum halmac_ret_status 53 | send_general_info_88xx(struct halmac_adapter *adapter, 54 | struct halmac_general_info *info); 55 | 56 | enum halmac_ret_status 57 | drv_fwctrl_88xx(struct halmac_adapter *adapter, u8 *payload, u32 size, u8 ack); 58 | 59 | #endif /* HALMAC_88XX_SUPPORT */ 60 | 61 | #endif/* _HALMAC_FW_88XX_H_ */ 62 | -------------------------------------------------------------------------------- /hal/halmac/halmac_88xx/halmac_gpio_88xx.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2016 - 2018 Realtek Corporation. All rights reserved. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | ******************************************************************************/ 15 | 16 | #ifndef _HALMAC_GPIO_88XX_H_ 17 | #define _HALMAC_GPIO_88XX_H_ 18 | 19 | #include "../halmac_api.h" 20 | #include "../halmac_gpio_cmd.h" 21 | 22 | #if HALMAC_88XX_SUPPORT 23 | 24 | enum halmac_ret_status 25 | pinmux_wl_led_mode_88xx(struct halmac_adapter *adapter, 26 | enum halmac_wlled_mode mode); 27 | 28 | void 29 | pinmux_wl_led_sw_ctrl_88xx(struct halmac_adapter *adapter, u8 on); 30 | 31 | void 32 | pinmux_sdio_int_polarity_88xx(struct halmac_adapter *adapter, u8 low_active); 33 | 34 | enum halmac_ret_status 35 | pinmux_gpio_mode_88xx(struct halmac_adapter *adapter, u8 gpio_id, u8 output); 36 | 37 | enum halmac_ret_status 38 | pinmux_gpio_output_88xx(struct halmac_adapter *adapter, u8 gpio_id, u8 high); 39 | 40 | enum halmac_ret_status 41 | pinmux_pin_status_88xx(struct halmac_adapter *adapter, u8 pin_id, u8 *high); 42 | 43 | enum halmac_ret_status 44 | pinmux_parser_88xx(struct halmac_adapter *adapter, 45 | const struct halmac_gpio_pimux_list *list, u32 size, 46 | u32 gpio_id, u32 *cur_func); 47 | 48 | enum halmac_ret_status 49 | pinmux_switch_88xx(struct halmac_adapter *adapter, 50 | const struct halmac_gpio_pimux_list *list, u32 size, 51 | u32 gpio_id, enum halmac_gpio_func gpio_func); 52 | 53 | enum halmac_ret_status 54 | pinmux_record_88xx(struct halmac_adapter *adapter, 55 | enum halmac_gpio_func gpio_func, u8 val); 56 | 57 | #endif /* HALMAC_88XX_SUPPORT */ 58 | 59 | #endif/* _HALMAC_GPIO_88XX_H_ */ 60 | -------------------------------------------------------------------------------- /hal/halmac/halmac_intf_phy_cmd.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2016 - 2018 Realtek Corporation. All rights reserved. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | ******************************************************************************/ 15 | 16 | #ifndef HALMAC_INTF_PHY_CMD 17 | #define HALMAC_INTF_PHY_CMD 18 | 19 | /* Cut mask */ 20 | enum halmac_intf_phy_cut { 21 | HALMAC_INTF_PHY_CUT_TESTCHIP = BIT(0), 22 | HALMAC_INTF_PHY_CUT_A = BIT(1), 23 | HALMAC_INTF_PHY_CUT_B = BIT(2), 24 | HALMAC_INTF_PHY_CUT_C = BIT(3), 25 | HALMAC_INTF_PHY_CUT_D = BIT(4), 26 | HALMAC_INTF_PHY_CUT_E = BIT(5), 27 | HALMAC_INTF_PHY_CUT_F = BIT(6), 28 | HALMAC_INTF_PHY_CUT_G = BIT(7), 29 | HALMAC_INTF_PHY_CUT_ALL = 0x7FFF, 30 | }; 31 | 32 | /* IP selection */ 33 | enum halmac_ip_sel { 34 | HALMAC_IP_INTF_PHY = 0, 35 | HALMAC_IP_SEL_MAC = 1, 36 | HALMAC_IP_PCIE_DBI = 2, 37 | HALMAC_IP_SEL_UNDEFINE = 0x7FFF, 38 | }; 39 | 40 | /* Platform mask */ 41 | enum halmac_intf_phy_platform { 42 | HALMAC_INTF_PHY_PLATFORM_ALL = 0x7FFF, 43 | }; 44 | 45 | #endif 46 | -------------------------------------------------------------------------------- /hal/halmac/halmac_pcie_reg.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2016 - 2018 Realtek Corporation. All rights reserved. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | ******************************************************************************/ 15 | 16 | #ifndef __HALMAC_PCIE_REG_H__ 17 | #define __HALMAC_PCIE_REG_H__ 18 | 19 | /* PCIE PHY register */ 20 | #define RAC_CTRL_PPR 0x00 21 | #define RAC_SET_PPR 0x20 22 | #define RAC_TRG_PPR 0x21 23 | 24 | /* PCIE CFG register */ 25 | #define PCIE_L1_BACKDOOR 0x719 26 | #define PCIE_ASPM_CTRL 0x70F 27 | 28 | /* PCIE MAC register */ 29 | #define LINK_CTRL2_REG_OFFSET 0xA0 30 | #define GEN2_CTRL_OFFSET 0x80C 31 | #define LINK_STATUS_REG_OFFSET 0x82 32 | 33 | #define PCIE_GEN1_SPEED 0x01 34 | #define PCIE_GEN2_SPEED 0x02 35 | 36 | #endif/* __HALMAC_PCIE_REG_H__ */ 37 | -------------------------------------------------------------------------------- /hal/halmac/halmac_rx_bd_ap.h: -------------------------------------------------------------------------------- 1 | #ifndef _HALMAC_RX_BD_AP_H_ 2 | #define _HALMAC_RX_BD_AP_H_ 3 | #if (HALMAC_8814A_SUPPORT || HALMAC_8822B_SUPPORT || HALMAC_8197F_SUPPORT || HALMAC_8821C_SUPPORT || HALMAC_8188F_SUPPORT) 4 | 5 | /*TXBD_DW0*/ 6 | 7 | #define GET_RX_BD_RXFAIL(__pRxBd) HALMAC_GET_BD_FIELD(((PHALMAC_RX_BD)__pRxBd)->Dword0, 0x1, 31) 8 | #define GET_RX_BD_TOTALRXPKTSIZE(__pRxBd) HALMAC_GET_BD_FIELD(((PHALMAC_RX_BD)__pRxBd)->Dword0, 0x1fff, 16) 9 | #define GET_RX_BD_RXTAG(__pRxBd) HALMAC_GET_BD_FIELD(((PHALMAC_RX_BD)__pRxBd)->Dword0, 0x1fff, 16) 10 | #define GET_RX_BD_FS(__pRxBd) HALMAC_GET_BD_FIELD(((PHALMAC_RX_BD)__pRxBd)->Dword0, 0x1, 15) 11 | #define GET_RX_BD_LS(__pRxBd) HALMAC_GET_BD_FIELD(((PHALMAC_RX_BD)__pRxBd)->Dword0, 0x1, 14) 12 | #define GET_RX_BD_RXBUFFSIZE(__pRxBd) HALMAC_GET_BD_FIELD(((PHALMAC_RX_BD)__pRxBd)->Dword0, 0x3fff, 0) 13 | 14 | /*TXBD_DW1*/ 15 | 16 | #define GET_RX_BD_PHYSICAL_ADDR_LOW(__pRxBd) HALMAC_GET_BD_FIELD(((PHALMAC_RX_BD)__pRxBd)->Dword1, 0xffffffff, 0) 17 | 18 | /*TXBD_DW2*/ 19 | 20 | #define GET_RX_BD_PHYSICAL_ADDR_HIGH(__pRxBd) HALMAC_GET_BD_FIELD(((PHALMAC_RX_BD)__pRxBd)->Dword2, 0xffffffff, 0) 21 | 22 | #endif 23 | 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /hal/halmac/halmac_rx_bd_nic.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2016 - 2018 Realtek Corporation. All rights reserved. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | ******************************************************************************/ 15 | 16 | #ifndef _HALMAC_RX_BD_NIC_H_ 17 | #define _HALMAC_RX_BD_NIC_H_ 18 | #if (HALMAC_8814A_SUPPORT || HALMAC_8822B_SUPPORT || HALMAC_8197F_SUPPORT || \ 19 | HALMAC_8821C_SUPPORT || HALMAC_8198F_SUPPORT || HALMAC_8822C_SUPPORT ||\ 20 | HALMAC_8812F_SUPPORT) 21 | 22 | /*TXBD_DW0*/ 23 | 24 | #define GET_RX_BD_RXFAIL(rxbd) LE_BITS_TO_4BYTE(rxbd + 0x00, 31, 1) 25 | #define GET_RX_BD_TOTALRXPKTSIZE(rxbd) LE_BITS_TO_4BYTE(rxbd + 0x00, 16, 13) 26 | #define GET_RX_BD_RXTAG(rxbd) LE_BITS_TO_4BYTE(rxbd + 0x00, 16, 13) 27 | #define GET_RX_BD_FS(rxbd) LE_BITS_TO_4BYTE(rxbd + 0x00, 15, 1) 28 | #define GET_RX_BD_LS(rxbd) LE_BITS_TO_4BYTE(rxbd + 0x00, 14, 1) 29 | #define GET_RX_BD_RXBUFFSIZE(rxbd) LE_BITS_TO_4BYTE(rxbd + 0x00, 0, 14) 30 | 31 | /*TXBD_DW1*/ 32 | 33 | #define GET_RX_BD_PHYSICAL_ADDR_LOW(rxbd) LE_BITS_TO_4BYTE(rxbd + 0x04, 0, 32) 34 | 35 | /*TXBD_DW2*/ 36 | 37 | #define GET_RX_BD_PHYSICAL_ADDR_HIGH(rxbd) LE_BITS_TO_4BYTE(rxbd + 0x08, 0, 32) 38 | 39 | #endif 40 | 41 | #endif 42 | -------------------------------------------------------------------------------- /hal/halmac/halmac_sdio_reg.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2016 - 2018 Realtek Corporation. All rights reserved. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | ******************************************************************************/ 15 | 16 | #ifndef __HALMAC_SDIO_REG_H__ 17 | #define __HALMAC_SDIO_REG_H__ 18 | 19 | /* SDIO CMD address mapping */ 20 | 21 | #define HALMAC_SDIO_4BYTE_LEN_MASK 0x1FFF 22 | #define HALMAC_SDIO_LOCAL_MSK 0x0FFF 23 | #define HALMAC_WLAN_MAC_REG_MSK 0xFFFF 24 | #define HALMAC_WLAN_IOREG_MSK 0xFFFF 25 | 26 | /* Sdio Address for SDIO Local Reg, TRX FIFO, MAC Reg */ 27 | enum halmac_sdio_cmd_addr { 28 | HALMAC_SDIO_CMD_ADDR_SDIO_REG = 0, 29 | HALMAC_SDIO_CMD_ADDR_MAC_REG = 8, 30 | HALMAC_SDIO_CMD_ADDR_TXFF_HIGH = 4, 31 | HALMAC_SDIO_CMD_ADDR_TXFF_LOW = 6, 32 | HALMAC_SDIO_CMD_ADDR_TXFF_NORMAL = 5, 33 | HALMAC_SDIO_CMD_ADDR_TXFF_EXTRA = 7, 34 | HALMAC_SDIO_CMD_ADDR_RXFF = 7, 35 | }; 36 | 37 | /* IO Bus domain address mapping */ 38 | #define SDIO_LOCAL_OFFSET 0x10250000 39 | #define WLAN_IOREG_OFFSET 0x10260000 40 | #define FW_FIFO_OFFSET 0x10270000 41 | #define TX_HIQ_OFFSET 0x10310000 42 | #define TX_MIQ_OFFSET 0x10320000 43 | #define TX_LOQ_OFFSET 0x10330000 44 | #define TX_EXQ_OFFSET 0x10350000 45 | #define RX_RXOFF_OFFSET 0x10340000 46 | 47 | /* Get TX WLAN FIFO information in CMD53 addr */ 48 | #if (HALMAC_8822B_SUPPORT || HALMAC_8821C_SUPPORT) 49 | #define GET_WLAN_TXFF_DEVICE_ID(cmd53_addr) \ 50 | LE_BITS_TO_4BYTE((u32 *)cmd53_addr, 13, 4) 51 | #define GET_WLAN_TXFF_PKT_SIZE(cmd53_addr) \ 52 | (LE_BITS_TO_4BYTE((u32 *)cmd53_addr, 0, 13) << 2) 53 | #endif 54 | 55 | #endif/* __HALMAC_SDIO_REG_H__ */ 56 | -------------------------------------------------------------------------------- /hal/halmac/halmac_usb_reg.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2016 - 2018 Realtek Corporation. All rights reserved. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | ******************************************************************************/ 15 | 16 | #ifndef __HALMAC_USB_REG_H__ 17 | #define __HALMAC_USB_REG_H__ 18 | 19 | #endif/* __HALMAC_USB_REG_H__ */ 20 | -------------------------------------------------------------------------------- /hal/phydm/halrf/halrf_features.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | * The full GNU General Public License is included in this distribution in the 15 | * file called LICENSE. 16 | * 17 | * Contact Information: 18 | * wlanfae 19 | * Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park, 20 | * Hsinchu 300, Taiwan. 21 | * 22 | * Larry Finger 23 | * 24 | *****************************************************************************/ 25 | 26 | #ifndef __HALRF_FEATURES_H__ 27 | #define __HALRF_FEATURES_H__ 28 | 29 | #if (DM_ODM_SUPPORT_TYPE == ODM_WIN) 30 | 31 | #define CONFIG_HALRF_POWERTRACKING 1 32 | 33 | #elif (DM_ODM_SUPPORT_TYPE == ODM_AP) 34 | 35 | #define CONFIG_HALRF_POWERTRACKING 1 36 | 37 | #elif (DM_ODM_SUPPORT_TYPE == ODM_CE) 38 | 39 | #define CONFIG_HALRF_POWERTRACKING 1 40 | 41 | #endif 42 | 43 | #endif /*#ifndef __HALRF_FEATURES_H__*/ 44 | -------------------------------------------------------------------------------- /hal/phydm/halrf/halrf_powertracking.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | * The full GNU General Public License is included in this distribution in the 15 | * file called LICENSE. 16 | * 17 | * Contact Information: 18 | * wlanfae 19 | * Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park, 20 | * Hsinchu 300, Taiwan. 21 | * 22 | * Larry Finger 23 | * 24 | *****************************************************************************/ 25 | 26 | #ifndef __HALRF_POWER_TRACKING_H__ 27 | #define __HALRF_POWER_TRACKING_H__ 28 | 29 | boolean 30 | odm_check_power_status(void *dm_void); 31 | 32 | #if (DM_ODM_SUPPORT_TYPE & (ODM_WIN | ODM_CE)) 33 | void halrf_update_pwr_track(void *dm_void, u8 rate); 34 | #endif 35 | 36 | #if (DM_ODM_SUPPORT_TYPE == ODM_WIN) 37 | void halrf_update_init_rate_work_item_callback( 38 | void *context); 39 | #endif 40 | 41 | #endif /*#ifndef __HALRF_POWERTRACKING_H__*/ 42 | -------------------------------------------------------------------------------- /hal/phydm/halrf/halrf_psd.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | 16 | #ifndef __HALRF_PSD_H__ 17 | #define __HALRF_PSD_H__ 18 | 19 | #if (DM_ODM_SUPPORT_TYPE & ODM_WIN) 20 | 21 | struct _halrf_psd_data { 22 | u32 point; 23 | u32 start_point; 24 | u32 stop_point; 25 | u32 average; 26 | u32 buf_size; 27 | u32 psd_data[256]; 28 | u32 psd_progress; 29 | }; 30 | 31 | enum rt_status 32 | halrf_psd_init( 33 | struct dm_struct *dm); 34 | 35 | enum rt_status 36 | halrf_psd_query( 37 | struct dm_struct *dm, 38 | u32 *outbuf, 39 | u32 buf_size); 40 | 41 | enum rt_status 42 | halrf_psd_init_query( 43 | struct dm_struct *dm, 44 | u32 *outbuf, 45 | u32 point, 46 | u32 start_point, 47 | u32 stop_point, 48 | u32 average, 49 | u32 buf_size); 50 | 51 | #endif /*#if (DM_ODM_SUPPORT_TYPE & ODM_WIN)*/ 52 | #endif /*#ifndef __HALRF_PSD_H__*/ 53 | -------------------------------------------------------------------------------- /hal/phydm/halrf/halrf_txgapcal.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | * The full GNU General Public License is included in this distribution in the 15 | * file called LICENSE. 16 | * 17 | * Contact Information: 18 | * wlanfae 19 | * Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park, 20 | * Hsinchu 300, Taiwan. 21 | * 22 | * Larry Finger 23 | * 24 | *****************************************************************************/ 25 | 26 | #ifndef __HALRF_TXGAPCAL_H__ 27 | #define __HALRF_TXGAPCAL_H__ 28 | 29 | void odm_tx_gain_gap_calibration(void *dm_void); 30 | 31 | #endif /*#ifndef __HALRF_TXGAPCAL_H__*/ 32 | -------------------------------------------------------------------------------- /hal/phydm/halrf/rtl8821c/halrf_8821c.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | 16 | #ifndef __HALRF_8821C_H__ 17 | #define __HALRF_8821C_H__ 18 | 19 | #define AVG_THERMAL_NUM_8821C 4 20 | #define RF_T_METER_8821C 0x42 21 | 22 | void configure_txpower_track_8821c(struct txpwrtrack_cfg *config); 23 | 24 | void odm_tx_pwr_track_set_pwr8821c(void *dm_void, enum pwrtrack_method method, 25 | u8 rf_path, u8 channel_mapped_index); 26 | 27 | void get_delta_swing_table_8821c(void *dm_void, 28 | #if (DM_ODM_SUPPORT_TYPE & ODM_AP) 29 | u8 **temperature_up_a, u8 **temperature_down_a, 30 | u8 **temperature_up_b, u8 **temperature_down_b, 31 | u8 **temperature_up_cck_a, 32 | u8 **temperature_down_cck_a, 33 | u8 **temperature_up_cck_b, 34 | u8 **temperature_down_cck_b 35 | #else 36 | u8 **temperature_up_a, u8 **temperature_down_a, 37 | u8 **temperature_up_b, 38 | u8 **temperature_down_b 39 | #endif 40 | ); 41 | 42 | void phy_lc_calibrate_8821c(void *dm_void); 43 | 44 | void halrf_rf_lna_setting_8821c(struct dm_struct *dm, enum halrf_lna_set type); 45 | 46 | #if ((DM_ODM_SUPPORT_TYPE & ODM_AP) || (DM_ODM_SUPPORT_TYPE == ODM_CE)) 47 | void phy_set_rf_path_switch_8821c(struct dm_struct *dm, 48 | #else 49 | void phy_set_rf_path_switch_8821c(void *adapter, 50 | #endif 51 | boolean is_main); 52 | 53 | #if (DM_ODM_SUPPORT_TYPE & ODM_AP) 54 | boolean phy_query_rf_path_switch_8821c(struct dm_struct *dm 55 | #else 56 | boolean phy_query_rf_path_switch_8821c(void *adapter 57 | #endif 58 | ); 59 | 60 | #endif /*#ifndef __HALRF_8821C_H__*/ 61 | -------------------------------------------------------------------------------- /hal/phydm/halrf/rtl8821c/halrf_iqk_8821c.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2016 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | 16 | #ifndef __HALRF_IQK_8821C_H__ 17 | #define __HALRF_IQK_8821C_H__ 18 | 19 | #if (RTL8821C_SUPPORT == 1) 20 | /*============================================================*/ 21 | /*Definition */ 22 | /*============================================================*/ 23 | 24 | /*--------------------------Define Parameters-------------------------------*/ 25 | #define MAC_REG_NUM_8821C 3 26 | #define BB_REG_NUM_8821C 10 27 | #define RF_REG_NUM_8821C 5 28 | #define DPK_BB_REG_NUM_8821C 23 29 | #define DPK_BACKUP_REG_NUM_8821C 3 30 | 31 | #define LOK_delay_8821C 2 32 | #define GS_delay_8821C 2 33 | #define WBIQK_delay_8821C 2 34 | 35 | #define TXIQK 0 36 | #define RXIQK 1 37 | #define SS_8821C 1 38 | 39 | /*---------------------------End Define Parameters-------------------------------*/ 40 | 41 | #if !(DM_ODM_SUPPORT_TYPE & ODM_AP) 42 | void do_iqk_8821c(void *dm_void, u8 delta_thermal_index, u8 thermal_value, 43 | u8 threshold); 44 | #else 45 | void do_iqk_8821c(void *dm_void, u8 delta_thermal_index, u8 thermal_value, 46 | u8 threshold); 47 | #endif 48 | 49 | void phy_iq_calibrate_8821c(void *dm_void, boolean clear, boolean segment_iqk); 50 | 51 | void phy_dp_calibrate_8821c(void *dm_void, boolean clear); 52 | 53 | void do_imr_test_8821c(void *dm_void); 54 | 55 | #else /* (RTL8821C_SUPPORT == 0)*/ 56 | 57 | #define phy_iq_calibrate_8821c(_pdm_void, clear, segment_iqk) 58 | #define phy_dp_calibrate_8821c(_pDM_VOID, clear) 59 | 60 | #endif /* RTL8821C_SUPPORT */ 61 | 62 | #endif /*#ifndef __HALRF_IQK_8821C_H__*/ 63 | -------------------------------------------------------------------------------- /hal/phydm/mp_precomp.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | * The full GNU General Public License is included in this distribution in the 15 | * file called LICENSE. 16 | * 17 | * Contact Information: 18 | * wlanfae 19 | * Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park, 20 | * Hsinchu 300, Taiwan. 21 | * 22 | * Larry Finger 23 | * 24 | *****************************************************************************/ 25 | -------------------------------------------------------------------------------- /hal/phydm/phydm_dynamicbbpowersaving.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along with 15 | * this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA 17 | * 18 | * 19 | ******************************************************************************/ 20 | 21 | #ifndef __PHYDMDYNAMICBBPOWERSAVING_H__ 22 | #define __PHYDMDYNAMICBBPOWERSAVING_H__ 23 | 24 | #define DYNAMIC_BBPWRSAV_VERSION "1.1" 25 | 26 | #if (defined(CONFIG_BB_POWER_SAVING)) 27 | 28 | struct _dynamic_power_saving { 29 | u8 pre_cca_state; 30 | u8 cur_cca_state; 31 | 32 | u8 pre_rf_state; 33 | u8 cur_rf_state; 34 | 35 | int rssi_val_min; 36 | 37 | u8 initialize; 38 | u32 reg874, regc70, reg85c, rega74; 39 | 40 | }; 41 | 42 | #define dm_rf_saving odm_rf_saving 43 | 44 | void odm_rf_saving( 45 | void *p_dm_void, 46 | u8 is_force_in_normal 47 | ); 48 | 49 | void 50 | odm_dynamic_bb_power_saving_init( 51 | void *p_dm_void 52 | ); 53 | #else 54 | #define dm_rf_saving(p_dm_void, is_force_in_normal) 55 | #endif 56 | 57 | #endif 58 | -------------------------------------------------------------------------------- /hal/phydm/phydm_noisemonitor.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | * The full GNU General Public License is included in this distribution in the 15 | * file called LICENSE. 16 | * 17 | * Contact Information: 18 | * wlanfae 19 | * Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park, 20 | * Hsinchu 300, Taiwan. 21 | * 22 | * Larry Finger 23 | * 24 | *****************************************************************************/ 25 | #ifndef __ODMNOISEMONITOR_H__ 26 | #define __ODMNOISEMONITOR_H__ 27 | 28 | #define VALID_CNT 5 29 | 30 | struct noise_level { 31 | u8 value[PHYDM_MAX_RF_PATH]; 32 | s8 sval[PHYDM_MAX_RF_PATH]; 33 | s32 sum[PHYDM_MAX_RF_PATH]; 34 | u8 valid[PHYDM_MAX_RF_PATH]; 35 | u8 valid_cnt[PHYDM_MAX_RF_PATH]; 36 | }; 37 | 38 | struct odm_noise_monitor { 39 | s8 noise[PHYDM_MAX_RF_PATH]; 40 | s16 noise_all; 41 | }; 42 | 43 | s16 odm_inband_noise_monitor(void *dm_void, u8 is_pause_dig, u8 igi_value, 44 | u32 max_time); 45 | 46 | void phydm_noisy_detection(void *dm_void); 47 | 48 | #endif 49 | -------------------------------------------------------------------------------- /hal/phydm/phydm_psd.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | * The full GNU General Public License is included in this distribution in the 15 | * file called LICENSE. 16 | * 17 | * Contact Information: 18 | * wlanfae 19 | * Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park, 20 | * Hsinchu 300, Taiwan. 21 | * 22 | * Larry Finger 23 | * 24 | *****************************************************************************/ 25 | 26 | #ifndef __PHYDMPSD_H__ 27 | #define __PHYDMPSD_H__ 28 | 29 | /*@#define PSD_VERSION "1.0"*/ /*@2016.09.22 Dino*/ 30 | #define PSD_VERSION "1.1" /*@2016.10.07 Dino, Add Option for PSD Tone index Selection */ 31 | 32 | #ifdef CONFIG_PSD_TOOL 33 | 34 | 35 | struct psd_info { 36 | u8 psd_in_progress; 37 | u32 psd_reg; 38 | u32 psd_report_reg; 39 | u8 psd_pwr_common_offset; 40 | u16 sw_avg_time; 41 | u16 fft_smp_point; 42 | u32 initial_gain_backup; 43 | u32 rf_0x18_bkp; 44 | u32 rf_0x18_bkp_b; 45 | u16 psd_fc_channel; 46 | u32 psd_bw_rf_reg; 47 | u8 psd_result[128]; 48 | u8 noise_k_en; 49 | }; 50 | 51 | u32 phydm_get_psd_data(void *dm_void, u32 psd_tone_idx, u32 igi); 52 | 53 | void phydm_psd_debug(void *dm_void, char input[][16], u32 *_used, 54 | char *output, u32 *_out_len); 55 | 56 | void phydm_psd(void *dm_void, u32 igi, u16 start_point, u16 stop_point); 57 | 58 | void phydm_psd_para_setting(void *dm_void, u8 sw_avg_time, 59 | u8 hw_avg_time, u8 i_q_setting, 60 | u16 fft_smp_point, u8 ant_sel, 61 | u8 psd_input, u8 channel, u8 noise_k_en); 62 | 63 | void phydm_psd_init(void *dm_void); 64 | 65 | u8 phydm_get_psd_result_table(void *dm_void, int index); 66 | 67 | #endif 68 | #endif 69 | -------------------------------------------------------------------------------- /hal/phydm/phydm_rssi_monitor.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | * The full GNU General Public License is included in this distribution in the 15 | * file called LICENSE. 16 | * 17 | * Contact Information: 18 | * wlanfae 19 | * Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park, 20 | * Hsinchu 300, Taiwan. 21 | * 22 | * Larry Finger 23 | * 24 | *****************************************************************************/ 25 | 26 | #ifndef __PHYDM_RSSI_MONITOR_H__ 27 | #define __PHYDM_RSSI_MONITOR_H__ 28 | 29 | #define RSSI_MONITOR_VERSION "2.0" 30 | 31 | /* @1 ============================================================ 32 | * 1 Definition 33 | * 1 ============================================================ 34 | */ 35 | 36 | /* @1 ============================================================ 37 | * 1 structure 38 | * 1 ============================================================ 39 | */ 40 | 41 | /* @1 ============================================================ 42 | * 1 enumeration 43 | * 1 ============================================================ 44 | */ 45 | 46 | /* @1 ============================================================ 47 | * 1 function prototype 48 | * 1 ============================================================ 49 | */ 50 | 51 | void phydm_rssi_monitor_check(void *dm_void); 52 | 53 | void phydm_rssi_monitor_init(void *dm_void); 54 | 55 | #endif 56 | -------------------------------------------------------------------------------- /hal/phydm/rtchnlplan.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomaspinho/rtl8821ce/66c015af7738039a2045b6da755875e126d3fe73/hal/phydm/rtchnlplan.c -------------------------------------------------------------------------------- /hal/phydm/rtchnlplan.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomaspinho/rtl8821ce/66c015af7738039a2045b6da755875e126d3fe73/hal/phydm/rtchnlplan.h -------------------------------------------------------------------------------- /hal/phydm/rtl8821c/halhwimg8821c_mac.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | * The full GNU General Public License is included in this distribution in the 15 | * file called LICENSE. 16 | * 17 | * Contact Information: 18 | * wlanfae 19 | * Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park, 20 | * Hsinchu 300, Taiwan. 21 | * 22 | * Larry Finger 23 | * 24 | *****************************************************************************/ 25 | 26 | /*Image2HeaderVersion: R3 1.0*/ 27 | #if (RTL8821C_SUPPORT == 1) 28 | #ifndef __INC_MP_MAC_HW_IMG_8821C_H 29 | #define __INC_MP_MAC_HW_IMG_8821C_H 30 | 31 | 32 | /****************************************************************************** 33 | * mac_reg.TXT 34 | ******************************************************************************/ 35 | 36 | void 37 | odm_read_and_config_mp_8821c_mac_reg( /* tc: Test Chip, mp: mp Chip*/ 38 | struct dm_struct *dm); 39 | u32 odm_get_version_mp_8821c_mac_reg(void); 40 | 41 | #endif 42 | #endif /* end of HWIMG_SUPPORT*/ 43 | 44 | -------------------------------------------------------------------------------- /hal/phydm/rtl8821c/halhwimg8821c_testchip_mac.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along with 15 | * this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA 17 | * 18 | * 19 | ******************************************************************************/ 20 | 21 | /*Image2HeaderVersion: 2.22*/ 22 | #if (RTL8821C_SUPPORT == 1) 23 | #ifndef __INC_TC_MAC_HW_IMG_8821C_H 24 | #define __INC_TC_MAC_HW_IMG_8821C_H 25 | 26 | 27 | /****************************************************************************** 28 | * MAC_REG.TXT 29 | ******************************************************************************/ 30 | 31 | void 32 | odm_read_and_config_tc_8821c_mac_reg(/* TC: Test Chip, MP: MP Chip*/ 33 | struct PHY_DM_STRUCT *p_dm_odm 34 | ); 35 | u32 odm_get_version_tc_8821c_mac_reg(void); 36 | 37 | #endif 38 | #endif /* end of HWIMG_SUPPORT*/ 39 | -------------------------------------------------------------------------------- /hal/phydm/rtl8821c/mp_precomp.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2016 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | -------------------------------------------------------------------------------- /hal/phydm/rtl8821c/phydm_iqk_8821c.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomaspinho/rtl8821ce/66c015af7738039a2045b6da755875e126d3fe73/hal/phydm/rtl8821c/phydm_iqk_8821c.c -------------------------------------------------------------------------------- /hal/phydm/rtl8821c/phydm_iqk_8821c.h: -------------------------------------------------------------------------------- 1 | #ifndef __PHYDM_IQK_8821C_H__ 2 | #define __PHYDM_IQK_8821C_H__ 3 | 4 | #if (RTL8821C_SUPPORT == 1) 5 | 6 | 7 | /*--------------------------Define Parameters-------------------------------*/ 8 | #define MAC_REG_NUM_8821C 3 9 | #define BB_REG_NUM_8821C 10 10 | #define RF_REG_NUM_8821C 6 11 | #define DPK_BB_REG_NUM_8821C 24 12 | #define DPK_BACKUP_REG_NUM_8821C 3 13 | 14 | 15 | #define LOK_delay_8821C 2 16 | #define GS_delay_8821C 2 17 | #define WBIQK_delay_8821C 2 18 | 19 | #define TXIQK 0 20 | #define RXIQK 1 21 | #define SS_8821C 1 22 | 23 | /*---------------------------End Define Parameters-------------------------------*/ 24 | 25 | 26 | #if !(DM_ODM_SUPPORT_TYPE & ODM_AP) 27 | void 28 | do_iqk_8821c( 29 | void *p_dm_void, 30 | u8 delta_thermal_index, 31 | u8 thermal_value, 32 | u8 threshold 33 | ); 34 | #else 35 | void 36 | do_iqk_8821c( 37 | void *p_dm_void, 38 | u8 delta_thermal_index, 39 | u8 thermal_value, 40 | u8 threshold 41 | ); 42 | #endif 43 | 44 | void 45 | phy_iq_calibrate_8821c( 46 | void *p_dm_void, 47 | boolean clear 48 | ); 49 | VOID 50 | phy_dp_calibrate_8821c( 51 | void *p_dm_void, 52 | boolean clear 53 | 54 | ); 55 | 56 | #else /* (RTL8821C_SUPPORT == 0)*/ 57 | 58 | #define phy_iq_calibrate_8821c(_pdm_void, clear) 59 | #define phy_dp_calibrate_8821c(_pDM_VOID, clear) 60 | 61 | #endif /* RTL8821C_SUPPORT */ 62 | 63 | #endif /* #ifndef __PHYDM_IQK_8821C_H__*/ 64 | -------------------------------------------------------------------------------- /hal/phydm/rtl8821c/phydm_regconfig8821c.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2016 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __INC_ODM_REGCONFIG_H_8821C 16 | #define __INC_ODM_REGCONFIG_H_8821C 17 | 18 | #if (RTL8821C_SUPPORT == 1) 19 | 20 | void odm_config_rf_reg_8821c(struct dm_struct *dm, u32 addr, u32 data, 21 | enum rf_path rf_path, u32 reg_addr); 22 | 23 | void odm_config_rf_radio_a_8821c(struct dm_struct *dm, u32 addr, u32 data); 24 | 25 | void odm_config_rf_radio_b_8821c( 26 | struct dm_struct *dm, 27 | u32 addr, 28 | u32 data); 29 | 30 | void odm_config_mac_8821c(struct dm_struct *dm, u32 addr, u8 data); 31 | 32 | void odm_update_agc_big_jump_lmt_8821c(struct dm_struct *dm, u32 addr, 33 | u32 data); 34 | 35 | void odm_config_bb_agc_8821c(struct dm_struct *dm, u32 addr, u32 bitmask, 36 | u32 data); 37 | 38 | void odm_config_bb_phy_reg_pg_8821c(struct dm_struct *dm, u32 band, u32 rf_path, 39 | u32 tx_num, u32 addr, u32 bitmask, 40 | u32 data); 41 | 42 | void odm_config_bb_phy_8821c(struct dm_struct *dm, u32 addr, u32 bitmask, 43 | u32 data); 44 | 45 | void odm_config_bb_txpwr_lmt_8821c(struct dm_struct *dm, u8 *regulation, 46 | u8 *band, u8 *bandwidth, u8 *rate_section, 47 | u8 *rf_path, u8 *channel, u8 *power_limit); 48 | 49 | #endif 50 | #endif /* RTL8822B_SUPPORT == 1*/ 51 | -------------------------------------------------------------------------------- /hal/phydm/rtl8821c/version_rtl8821c.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | * The full GNU General Public License is included in this distribution in the 15 | * file called LICENSE. 16 | * 17 | * Contact Information: 18 | * wlanfae 19 | * Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park, 20 | * Hsinchu 300, Taiwan. 21 | * 22 | * Larry Finger 23 | * 24 | *****************************************************************************/ 25 | /*RTL8821C PHY Parameters*/ 26 | /* 27 | * [Caution] 28 | * Since 01/Aug/2015, the commit rules will be simplified. You do not need to fill up the version.h anymore, 29 | * only the maintenance supervisor fills it before formal release. 30 | */ 31 | #define RELEASE_DATE_8821C 20180209 32 | #define COMMIT_BY_8821C "Coiln" 33 | #define RELEASE_VERSION_8821C 49 34 | -------------------------------------------------------------------------------- /hal/phydm/txbf/haltxbf8192e.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | * The full GNU General Public License is included in this distribution in the 15 | * file called LICENSE. 16 | * 17 | * Contact Information: 18 | * wlanfae 19 | * Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park, 20 | * Hsinchu 300, Taiwan. 21 | * 22 | * Larry Finger 23 | * 24 | *****************************************************************************/ 25 | #ifndef __HAL_TXBF_8192E_H__ 26 | #define __HAL_TXBF_8192E_H__ 27 | 28 | #if (RTL8192E_SUPPORT == 1) 29 | #if (BEAMFORMING_SUPPORT == 1) 30 | 31 | void hal_txbf_8192e_set_ndpa_rate( 32 | void *dm_void, 33 | u8 BW, 34 | u8 rate); 35 | 36 | void hal_txbf_8192e_enter( 37 | void *dm_void, 38 | u8 idx); 39 | 40 | void hal_txbf_8192e_leave( 41 | void *dm_void, 42 | u8 idx); 43 | 44 | void hal_txbf_8192e_status( 45 | void *dm_void, 46 | u8 idx); 47 | 48 | void hal_txbf_8192e_fw_tx_bf( 49 | void *dm_void, 50 | u8 idx); 51 | #else 52 | 53 | #define hal_txbf_8192e_set_ndpa_rate(dm_void, BW, rate) 54 | #define hal_txbf_8192e_enter(dm_void, idx) 55 | #define hal_txbf_8192e_leave(dm_void, idx) 56 | #define hal_txbf_8192e_status(dm_void, idx) 57 | #define hal_txbf_8192e_fw_tx_bf(dm_void, idx) 58 | 59 | #endif 60 | 61 | #else 62 | 63 | #define hal_txbf_8192e_set_ndpa_rate(dm_void, BW, rate) 64 | #define hal_txbf_8192e_enter(dm_void, idx) 65 | #define hal_txbf_8192e_leave(dm_void, idx) 66 | #define hal_txbf_8192e_status(dm_void, idx) 67 | #define hal_txbf_8192e_fw_tx_bf(dm_void, idx) 68 | 69 | #endif 70 | 71 | #endif 72 | -------------------------------------------------------------------------------- /hal/phydm/txbf/phydm_hal_txbf_api.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | * The full GNU General Public License is included in this distribution in the 15 | * file called LICENSE. 16 | * 17 | * Contact Information: 18 | * wlanfae 19 | * Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park, 20 | * Hsinchu 300, Taiwan. 21 | * 22 | * Larry Finger 23 | * 24 | *****************************************************************************/ 25 | #ifndef __PHYDM_HAL_TXBF_API_H__ 26 | #define __PHYDM_HAL_TXBF_API_H__ 27 | 28 | #if (defined(CONFIG_BB_TXBF_API)) 29 | 30 | #if (DM_ODM_SUPPORT_TYPE != ODM_AP) 31 | #if defined(DM_ODM_CE_MAC80211) 32 | #define tx_bf_nr(a, b) ({ \ 33 | u8 __tx_bf_nr_a = (a); \ 34 | u8 __tx_bf_nr_b = (b); \ 35 | ((__tx_bf_nr_a > __tx_bf_nr_b) ? (__tx_bf_nr_b) : (__tx_bf_nr_a)); }) 36 | #else 37 | #define tx_bf_nr(a, b) ((a > b) ? (b) : (a)) 38 | #endif 39 | 40 | u8 beamforming_get_htndp_tx_rate(void *dm_void, u8 bfer_str_num); 41 | 42 | u8 beamforming_get_vht_ndp_tx_rate(void *dm_void, u8 bfer_str_num); 43 | 44 | #endif 45 | 46 | #if (RTL8822B_SUPPORT == 1 || RTL8822C_SUPPORT == 1 || RTL8192F_SUPPORT == 1 ||\ 47 | RTL8814B_SUPPORT == 1 || RTL8198F_SUPPORT == 1) 48 | u8 phydm_get_beamforming_sounding_info(void *dm_void, u16 *throughput, 49 | u8 total_bfee_num, u8 *tx_rate); 50 | 51 | u8 phydm_get_ndpa_rate(void *dm_void); 52 | 53 | u8 phydm_get_mu_bfee_snding_decision(void *dm_void, u16 throughput); 54 | 55 | #else 56 | #define phydm_get_beamforming_sounding_info(dm, tp, bfee_num, rate) 0 57 | #define phydm_get_ndpa_rate(dm) 58 | #define phydm_get_mu_bfee_snding_decision(dm, tp) 59 | 60 | #endif 61 | 62 | #endif 63 | #endif 64 | -------------------------------------------------------------------------------- /hal/rtl8821c/hal8821c_fw.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2012 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | ******************************************************************************/ 15 | 16 | #ifdef CONFIG_RTL8821C 17 | 18 | #ifndef _FW_HEADER_8821C_H 19 | #define _FW_HEADER_8821C_H 20 | 21 | #ifdef LOAD_FW_HEADER_FROM_DRIVER 22 | #if (defined(CONFIG_AP_WOWLAN) || (DM_ODM_SUPPORT_TYPE & (ODM_AP))) 23 | extern u8 array_mp_8821c_fw_ap[114208]; 24 | extern u32 array_length_mp_8821c_fw_ap; 25 | #endif 26 | 27 | #if (DM_ODM_SUPPORT_TYPE & (ODM_WIN)) || (DM_ODM_SUPPORT_TYPE & (ODM_CE)) 28 | extern u8 array_mp_8821c_fw_nic[137616]; 29 | extern u32 array_length_mp_8821c_fw_nic; 30 | extern u8 array_mp_8821c_fw_spic[71264]; 31 | extern u32 array_length_mp_8821c_fw_spic; 32 | #ifdef CONFIG_WOWLAN 33 | extern u8 array_mp_8821c_fw_wowlan[103184]; 34 | extern u32 array_length_mp_8821c_fw_wowlan; 35 | #endif /*CONFIG_WOWLAN*/ 36 | #endif 37 | #endif /* end of LOAD_FW_HEADER_FROM_DRIVER */ 38 | 39 | #endif 40 | 41 | #endif 42 | 43 | -------------------------------------------------------------------------------- /halmac.mk: -------------------------------------------------------------------------------- 1 | # All needed files would be added to _HAL_INTFS_FILES, and it would include 2 | # hal/hal_halmac.c and all related files in directory hal/halmac/. 3 | # Before include this makefile, be sure interface (CONFIG_*_HCI) and IC 4 | # (CONFIG_RTL*) setting are all ready! 5 | 6 | # Base directory 7 | path_hm := $(topDIR)/hal/halmac 8 | # Level 1 directory 9 | path_hm_d1 := $(path_hm)/halmac_88xx 10 | 11 | ifeq ($(CONFIG_PCI_HCI), y) 12 | pci := y 13 | endif 14 | ifeq ($(CONFIG_SDIO_HCI), y) 15 | sdio := y 16 | endif 17 | ifeq ($(CONFIG_USB_HCI), y) 18 | usb := y 19 | endif 20 | 21 | ifeq ($(CONFIG_RTL8822B), y) 22 | ic := 8822b 23 | endif 24 | 25 | ifeq ($(CONFIG_RTL8822C), y) 26 | ic := 8822c 27 | endif 28 | 29 | ifeq ($(CONFIG_RTL8821C), y) 30 | ic := 8821c 31 | endif 32 | 33 | ifeq ($(CONFIG_RTL8814B), y) 34 | v1 := "_v1" 35 | ic := 8814b 36 | endif 37 | 38 | halmac-y += $(path_hm)/halmac_api.o 39 | 40 | # Modify level 1 directory if needed 41 | path_hm_d1 := $(path_hm_d1)$(v1) 42 | halmac-y += $(path_hm_d1)/halmac_bb_rf_88xx$(v1).o \ 43 | $(path_hm_d1)/halmac_cfg_wmac_88xx$(v1).o \ 44 | $(path_hm_d1)/halmac_common_88xx$(v1).o \ 45 | $(path_hm_d1)/halmac_efuse_88xx$(v1).o \ 46 | $(path_hm_d1)/halmac_flash_88xx$(v1).o \ 47 | $(path_hm_d1)/halmac_fw_88xx$(v1).o \ 48 | $(path_hm_d1)/halmac_gpio_88xx$(v1).o \ 49 | $(path_hm_d1)/halmac_init_88xx$(v1).o \ 50 | $(path_hm_d1)/halmac_mimo_88xx$(v1).o 51 | halmac-$(pci) += $(path_hm_d1)/halmac_pcie_88xx$(v1).o 52 | halmac-$(sdio) += $(path_hm_d1)/halmac_sdio_88xx$(v1).o 53 | halmac-$(usb) += $(path_hm_d1)/halmac_usb_88xx$(v1).o 54 | 55 | # Level 2 directory 56 | path_hm_d2 := $(path_hm_d1)/halmac_$(ic) 57 | halmac-y += $(path_hm_d2)/halmac_cfg_wmac_$(ic).o \ 58 | $(path_hm_d2)/halmac_common_$(ic).o \ 59 | $(path_hm_d2)/halmac_gpio_$(ic).o \ 60 | $(path_hm_d2)/halmac_init_$(ic).o \ 61 | $(path_hm_d2)/halmac_phy_$(ic).o \ 62 | $(path_hm_d2)/halmac_pwr_seq_$(ic).o 63 | halmac-$(pci) += $(path_hm_d2)/halmac_pcie_$(ic).o 64 | halmac-$(sdio) += $(path_hm_d2)/halmac_sdio_$(ic).o 65 | halmac-$(usb) += $(path_hm_d2)/halmac_usb_$(ic).o 66 | 67 | _HAL_INTFS_FILES += hal/hal_halmac.o 68 | _HAL_INTFS_FILES += $(halmac-y) 69 | -------------------------------------------------------------------------------- /ifcfg-wlan0: -------------------------------------------------------------------------------- 1 | #DHCP client 2 | DEVICE=wlan0 3 | BOOTPROTO=dhcp 4 | ONBOOT=yes -------------------------------------------------------------------------------- /include/Hal8821APwrSeq.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomaspinho/rtl8821ce/66c015af7738039a2045b6da755875e126d3fe73/include/Hal8821APwrSeq.h -------------------------------------------------------------------------------- /include/circ_buf.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __CIRC_BUF_H_ 16 | #define __CIRC_BUF_H_ 1 17 | 18 | #define CIRC_CNT(head,tail,size) (((head) - (tail)) & ((size)-1)) 19 | 20 | #define CIRC_SPACE(head,tail,size) CIRC_CNT((tail),((head)+1),(size)) 21 | 22 | #endif //_CIRC_BUF_H_ 23 | 24 | -------------------------------------------------------------------------------- /include/cmd_osdep.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __CMD_OSDEP_H_ 16 | #define __CMD_OSDEP_H_ 17 | 18 | 19 | extern sint _rtw_init_cmd_priv(struct cmd_priv *pcmdpriv); 20 | extern sint _rtw_init_evt_priv(struct evt_priv *pevtpriv); 21 | extern void _rtw_free_evt_priv(struct evt_priv *pevtpriv); 22 | extern void _rtw_free_cmd_priv(struct cmd_priv *pcmdpriv); 23 | extern sint _rtw_enqueue_cmd(_queue *queue, struct cmd_obj *obj, bool to_head); 24 | extern struct cmd_obj *_rtw_dequeue_cmd(_queue *queue); 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /include/custom_gpio.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2016 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __CUSTOM_GPIO_H__ 16 | #define __CUSTOM_GPIO_H___ 17 | 18 | #include 19 | #include 20 | 21 | #ifdef PLATFORM_OS_XP 22 | #include 23 | #endif 24 | 25 | #ifdef PLATFORM_OS_CE 26 | #include 27 | #endif 28 | 29 | #ifdef PLATFORM_LINUX 30 | #include 31 | #endif 32 | 33 | typedef enum cust_gpio_modes { 34 | WLAN_PWDN_ON, 35 | WLAN_PWDN_OFF, 36 | WLAN_POWER_ON, 37 | WLAN_POWER_OFF, 38 | WLAN_BT_PWDN_ON, 39 | WLAN_BT_PWDN_OFF 40 | } cust_gpio_modes_t; 41 | 42 | extern int rtw_wifi_gpio_init(void); 43 | extern int rtw_wifi_gpio_deinit(void); 44 | extern void rtw_wifi_gpio_wlan_ctrl(int onoff); 45 | 46 | #endif 47 | -------------------------------------------------------------------------------- /include/drv_types_gspi.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __DRV_TYPES_GSPI_H__ 16 | #define __DRV_TYPES_GSPI_H__ 17 | 18 | /* SPI Header Files */ 19 | #ifdef PLATFORM_LINUX 20 | #include 21 | #include 22 | #include 23 | /* #include */ 24 | #include 25 | #include 26 | #include 27 | #include 28 | #include 29 | #include 30 | #include 31 | #endif 32 | 33 | 34 | typedef struct gspi_data { 35 | u8 func_number; 36 | 37 | u8 tx_block_mode; 38 | u8 rx_block_mode; 39 | u32 block_transfer_len; 40 | 41 | #ifdef PLATFORM_LINUX 42 | struct spi_device *func; 43 | 44 | struct workqueue_struct *priv_wq; 45 | struct delayed_work irq_work; 46 | #endif 47 | } GSPI_DATA, *PGSPI_DATA; 48 | 49 | #endif /* #ifndef __DRV_TYPES_GSPI_H__ */ 50 | -------------------------------------------------------------------------------- /include/drv_types_linux.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __DRV_TYPES_LINUX_H__ 16 | #define __DRV_TYPES_LINUX_H__ 17 | 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /include/ethernet.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | /*! \file */ 16 | #ifndef __INC_ETHERNET_H 17 | #define __INC_ETHERNET_H 18 | 19 | #define ETHERNET_ADDRESS_LENGTH 6 /* !< Ethernet Address Length */ 20 | #define ETHERNET_HEADER_SIZE 14 /* !< Ethernet Header Length */ 21 | #define LLC_HEADER_SIZE 6 /* !< LLC Header Length */ 22 | #define TYPE_LENGTH_FIELD_SIZE 2 /* !< Type/Length Size */ 23 | #define MINIMUM_ETHERNET_PACKET_SIZE 60 /* !< Minimum Ethernet Packet Size */ 24 | #define MAXIMUM_ETHERNET_PACKET_SIZE 1514 /* !< Maximum Ethernet Packet Size */ 25 | 26 | #define RT_ETH_IS_MULTICAST(_pAddr) ((((UCHAR *)(_pAddr))[0]&0x01) != 0) /* !< Is Multicast Address? */ 27 | #define RT_ETH_IS_BROADCAST(_pAddr) (\ 28 | ((UCHAR *)(_pAddr))[0] == 0xff && \ 29 | ((UCHAR *)(_pAddr))[1] == 0xff && \ 30 | ((UCHAR *)(_pAddr))[2] == 0xff && \ 31 | ((UCHAR *)(_pAddr))[3] == 0xff && \ 32 | ((UCHAR *)(_pAddr))[4] == 0xff && \ 33 | ((UCHAR *)(_pAddr))[5] == 0xff) /* !< Is Broadcast Address? */ 34 | 35 | 36 | #endif /* #ifndef __INC_ETHERNET_H */ 37 | -------------------------------------------------------------------------------- /include/gspi_hal.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __GSPI_HAL_H__ 16 | #define __GSPI_HAL_H__ 17 | 18 | 19 | void spi_int_dpc(PADAPTER padapter, u32 sdio_hisr); 20 | u8 rtw_set_hal_ops(_adapter *padapter); 21 | 22 | #ifdef CONFIG_RTL8188E 23 | void rtl8188es_set_hal_ops(PADAPTER padapter); 24 | #endif 25 | 26 | #ifdef CONFIG_RTL8723B 27 | void rtl8723bs_set_hal_ops(PADAPTER padapter); 28 | #endif 29 | 30 | #endif /* __GSPI_HAL_H__ */ 31 | -------------------------------------------------------------------------------- /include/gspi_ops_linux.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __SDIO_OPS_LINUX_H__ 16 | #define __SDIO_OPS_LINUX_H__ 17 | 18 | #endif 19 | -------------------------------------------------------------------------------- /include/gspi_osintf.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __SDIO_OSINTF_H__ 16 | #define __SDIO_OSINTF_H__ 17 | 18 | 19 | #ifdef PLATFORM_OS_CE 20 | extern NDIS_STATUS ce_sd_get_dev_hdl(PADAPTER padapter); 21 | SD_API_STATUS ce_sd_int_callback(SD_DEVICE_HANDLE hDevice, PADAPTER padapter); 22 | extern void sd_setup_irs(PADAPTER padapter); 23 | #endif 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /include/h2clbk.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | 16 | 17 | #define _H2CLBK_H_ 18 | 19 | 20 | void _lbk_cmd(PADAPTER Adapter); 21 | 22 | void _lbk_rsp(PADAPTER Adapter); 23 | 24 | void _lbk_evt(IN PADAPTER Adapter); 25 | 26 | void h2c_event_callback(unsigned char *dev, unsigned char *pbuf); 27 | -------------------------------------------------------------------------------- /include/hal_gspi.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __HAL_GSPI_H_ 16 | #define __HAL_GSPI_H_ 17 | 18 | #define ffaddr2deviceId(pdvobj, addr) (pdvobj->Queue2Pipe[addr]) 19 | 20 | u8 rtw_hal_gspi_max_txoqt_free_space(_adapter *padapter); 21 | u8 rtw_hal_gspi_query_tx_freepage(_adapter *padapter, u8 PageIdx, u8 RequiredPageNum); 22 | void rtw_hal_gspi_update_tx_freepage(_adapter *padapter, u8 PageIdx, u8 RequiredPageNum); 23 | void rtw_hal_set_gspi_tx_max_length(PADAPTER padapter, u8 numHQ, u8 numNQ, u8 numLQ, u8 numPubQ); 24 | u32 rtw_hal_get_gspi_tx_max_length(PADAPTER padapter, u8 queue_idx); 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /include/hal_phy_reg.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __HAL_PHY_REG_H__ 16 | #define __HAL_PHY_REG_H__ 17 | 18 | /* for PutRFRegsetting & GetRFRegSetting BitMask 19 | * #if (RTL92SE_FPGA_VERIFY == 1) 20 | * #define bRFRegOffsetMask 0xfff 21 | * #else */ 22 | #define bRFRegOffsetMask 0xfffff 23 | /* #endif */ 24 | 25 | #endif /* __HAL_PHY_REG_H__ */ 26 | -------------------------------------------------------------------------------- /include/mlme_osdep.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __MLME_OSDEP_H_ 16 | #define __MLME_OSDEP_H_ 17 | 18 | extern void rtw_os_indicate_disconnect(_adapter *adapter, u16 reason, u8 locally_generated); 19 | extern void rtw_os_indicate_connect(_adapter *adapter); 20 | void rtw_os_indicate_scan_done(_adapter *padapter, bool aborted); 21 | extern void rtw_report_sec_ie(_adapter *adapter, u8 authmode, u8 *sec_ie); 22 | 23 | void rtw_reset_securitypriv(_adapter *adapter); 24 | 25 | #endif /* _MLME_OSDEP_H_ */ 26 | -------------------------------------------------------------------------------- /include/nic_spec.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | 16 | 17 | #ifndef __NIC_SPEC_H__ 18 | #define __NIC_SPEC_H__ 19 | 20 | #include 21 | 22 | #define RTL8711_MCTRL_ (0x20000) 23 | #define RTL8711_UART_ (0x30000) 24 | #define RTL8711_TIMER_ (0x40000) 25 | #define RTL8711_FINT_ (0x50000) 26 | #define RTL8711_HINT_ (0x50000) 27 | #define RTL8711_GPIO_ (0x60000) 28 | #define RTL8711_WLANCTRL_ (0x200000) 29 | #define RTL8711_WLANFF_ (0xe00000) 30 | #define RTL8711_HCICTRL_ (0x600000) 31 | #define RTL8711_SYSCFG_ (0x620000) 32 | #define RTL8711_SYSCTRL_ (0x620000) 33 | #define RTL8711_MCCTRL_ (0x020000) 34 | 35 | 36 | #include 37 | 38 | #include 39 | 40 | 41 | #endif /* __RTL8711_SPEC_H__ */ 42 | -------------------------------------------------------------------------------- /include/pci_hal.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __PCI_HAL_H__ 16 | #define __PCI_HAL_H__ 17 | 18 | #ifdef CONFIG_RTL8188E 19 | void rtl8188ee_set_hal_ops(_adapter *padapter); 20 | #endif 21 | 22 | #if defined(CONFIG_RTL8812A) || defined(CONFIG_RTL8821A) 23 | void rtl8812ae_set_hal_ops(_adapter *padapter); 24 | #endif 25 | 26 | #if defined(CONFIG_RTL8192E) 27 | void rtl8192ee_set_hal_ops(_adapter *padapter); 28 | #endif 29 | 30 | #if defined(CONFIG_RTL8192F) 31 | void rtl8192fe_set_hal_ops(_adapter *padapter); 32 | #endif 33 | 34 | #ifdef CONFIG_RTL8723B 35 | void rtl8723be_set_hal_ops(_adapter *padapter); 36 | #endif 37 | 38 | #ifdef CONFIG_RTL8723D 39 | void rtl8723de_set_hal_ops(_adapter *padapter); 40 | #endif 41 | 42 | #ifdef CONFIG_RTL8814A 43 | void rtl8814ae_set_hal_ops(_adapter *padapter); 44 | #endif 45 | 46 | #ifdef CONFIG_RTL8822B 47 | void rtl8822be_set_hal_ops(PADAPTER padapter); 48 | #endif 49 | 50 | u8 rtw_set_hal_ops(_adapter *padapter); 51 | 52 | #endif /* __PCIE_HAL_H__ */ 53 | -------------------------------------------------------------------------------- /include/pci_osintf.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __PCI_OSINTF_H 16 | #define __PCI_OSINTF_H 17 | 18 | #ifdef RTK_129X_PLATFORM 19 | #define PCIE_SLOT1_MEM_START 0x9804F000 20 | #define PCIE_SLOT1_MEM_LEN 0x1000 21 | #define PCIE_SLOT1_CTRL_START 0x9804EC00 22 | 23 | #define PCIE_SLOT2_MEM_START 0x9803C000 24 | #define PCIE_SLOT2_MEM_LEN 0x1000 25 | #define PCIE_SLOT2_CTRL_START 0x9803BC00 26 | 27 | #define PCIE_MASK_OFFSET 0x100 /* mask offset from CTRL_START */ 28 | #define PCIE_TRANSLATE_OFFSET 0x104 /* translate offset from CTRL_START */ 29 | #endif 30 | 31 | #define PCI_BC_CLK_REQ BIT0 32 | #define PCI_BC_ASPM_L0s BIT1 33 | #define PCI_BC_ASPM_L1 BIT2 34 | #define PCI_BC_ASPM_L1Off BIT3 35 | //#define PCI_BC_ASPM_LTR BIT4 36 | //#define PCI_BC_ASPM_OBFF BIT5 37 | 38 | void rtw_pci_disable_aspm(_adapter *padapter); 39 | void rtw_pci_enable_aspm(_adapter *padapter); 40 | void PlatformClearPciPMEStatus(PADAPTER Adapter); 41 | void rtw_pci_aspm_config(_adapter *padapter); 42 | void rtw_pci_aspm_config_l1off_general(_adapter *padapter, u8 eanble); 43 | #ifdef CONFIG_PCI_DYNAMIC_ASPM 44 | void rtw_pci_aspm_config_dynamic_l1_ilde_time(_adapter *padapter); 45 | #endif 46 | #ifdef CONFIG_64BIT_DMA 47 | u8 PlatformEnableDMA64(PADAPTER Adapter); 48 | #endif 49 | 50 | #endif 51 | -------------------------------------------------------------------------------- /include/rtl8188e_dm.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __RTL8188E_DM_H__ 16 | #define __RTL8188E_DM_H__ 17 | 18 | void rtl8188e_init_dm_priv(IN PADAPTER Adapter); 19 | void rtl8188e_deinit_dm_priv(IN PADAPTER Adapter); 20 | void rtl8188e_InitHalDm(IN PADAPTER Adapter); 21 | void rtl8188e_HalDmWatchDog(IN PADAPTER Adapter); 22 | 23 | /* VOID rtl8192c_dm_CheckTXPowerTracking(IN PADAPTER Adapter); */ 24 | 25 | /* void rtl8192c_dm_RF_Saving(IN PADAPTER pAdapter, IN u8 bForceInNormal); */ 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /include/rtl8188e_led.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __RTL8188E_LED_H__ 16 | #define __RTL8188E_LED_H__ 17 | 18 | #ifdef CONFIG_RTW_SW_LED 19 | 20 | /* ******************************************************************************** 21 | * Interface to manipulate LED objects. 22 | * ******************************************************************************** */ 23 | #ifdef CONFIG_USB_HCI 24 | void rtl8188eu_InitSwLeds(PADAPTER padapter); 25 | void rtl8188eu_DeInitSwLeds(PADAPTER padapter); 26 | #endif 27 | #ifdef CONFIG_PCI_HCI 28 | void rtl8188ee_InitSwLeds(PADAPTER padapter); 29 | void rtl8188ee_DeInitSwLeds(PADAPTER padapter); 30 | #endif 31 | #if defined(CONFIG_SDIO_HCI) || defined(CONFIG_GSPI_HCI) 32 | void rtl8188es_InitSwLeds(PADAPTER padapter); 33 | void rtl8188es_DeInitSwLeds(PADAPTER padapter); 34 | #endif 35 | 36 | #endif 37 | #endif /*CONFIG_RTW_SW_LED*/ 38 | -------------------------------------------------------------------------------- /include/rtl8188e_rf.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __RTL8188E_RF_H__ 16 | #define __RTL8188E_RF_H__ 17 | 18 | 19 | 20 | int PHY_RF6052_Config8188E(IN PADAPTER Adapter); 21 | void rtl8188e_RF_ChangeTxPath(IN PADAPTER Adapter, 22 | IN u16 DataRate); 23 | void rtl8188e_PHY_RF6052SetBandwidth( 24 | IN PADAPTER Adapter, 25 | IN enum channel_width Bandwidth); 26 | 27 | #endif/* __RTL8188E_RF_H__ */ 28 | -------------------------------------------------------------------------------- /include/rtl8188e_sreset.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef _RTL8188E_SRESET_H_ 16 | #define _RTL8188E_SRESET_H_ 17 | 18 | #include 19 | 20 | #ifdef DBG_CONFIG_ERROR_DETECT 21 | extern void rtl8188e_sreset_xmit_status_check(_adapter *padapter); 22 | extern void rtl8188e_sreset_linked_status_check(_adapter *padapter); 23 | #endif 24 | #endif 25 | -------------------------------------------------------------------------------- /include/rtl8188f_dm.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __RTL8188F_DM_H__ 16 | #define __RTL8188F_DM_H__ 17 | /* ************************************************************ 18 | * Description: 19 | * 20 | * This file is for 8188F dynamic mechanism only 21 | * 22 | * 23 | * ************************************************************ */ 24 | 25 | /* ************************************************************ 26 | * structure and define 27 | * ************************************************************ */ 28 | 29 | /* ************************************************************ 30 | * function prototype 31 | * ************************************************************ */ 32 | 33 | void rtl8188f_init_dm_priv(PADAPTER padapter); 34 | void rtl8188f_deinit_dm_priv(PADAPTER padapter); 35 | 36 | void rtl8188f_InitHalDm(PADAPTER padapter); 37 | void rtl8188f_HalDmWatchDog(PADAPTER padapter); 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /include/rtl8188f_led.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __RTL8188F_LED_H__ 16 | #define __RTL8188F_LED_H__ 17 | #ifdef CONFIG_RTW_SW_LED 18 | 19 | #include 20 | #include 21 | #include 22 | 23 | 24 | /* ******************************************************************************** 25 | * Interface to manipulate LED objects. 26 | * ******************************************************************************** */ 27 | #ifdef CONFIG_USB_HCI 28 | void rtl8188fu_InitSwLeds(PADAPTER padapter); 29 | void rtl8188fu_DeInitSwLeds(PADAPTER padapter); 30 | #endif 31 | #ifdef CONFIG_SDIO_HCI 32 | void rtl8188fs_InitSwLeds(PADAPTER padapter); 33 | void rtl8188fs_DeInitSwLeds(PADAPTER padapter); 34 | #endif 35 | #ifdef CONFIG_GSPI_HCI 36 | void rtl8188fs_InitSwLeds(PADAPTER padapter); 37 | void rtl8188fs_DeInitSwLeds(PADAPTER padapter); 38 | #endif 39 | #ifdef CONFIG_PCI_HCI 40 | void rtl8188fe_InitSwLeds(PADAPTER padapter); 41 | void rtl8188fe_DeInitSwLeds(PADAPTER padapter); 42 | #endif 43 | 44 | #endif 45 | #endif/*CONFIG_RTW_SW_LED*/ 46 | -------------------------------------------------------------------------------- /include/rtl8188f_rf.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __RTL8188F_RF_H__ 16 | #define __RTL8188F_RF_H__ 17 | 18 | int PHY_RF6052_Config8188F(IN PADAPTER Adapter); 19 | 20 | VOID 21 | PHY_RF6052SetBandwidth8188F( 22 | IN PADAPTER Adapter, 23 | IN enum channel_width Bandwidth); 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /include/rtl8188f_sreset.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef _RTL8188F_SRESET_H_ 16 | #define _RTL8188F_SRESET_H_ 17 | 18 | #include 19 | 20 | #ifdef DBG_CONFIG_ERROR_DETECT 21 | extern void rtl8188f_sreset_xmit_status_check(_adapter *padapter); 22 | extern void rtl8188f_sreset_linked_status_check(_adapter *padapter); 23 | #endif 24 | #endif 25 | -------------------------------------------------------------------------------- /include/rtl8192e_dm.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2012 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __RTL8192E_DM_H__ 16 | #define __RTL8192E_DM_H__ 17 | 18 | 19 | void rtl8192e_init_dm_priv(IN PADAPTER Adapter); 20 | void rtl8192e_deinit_dm_priv(IN PADAPTER Adapter); 21 | void rtl8192e_InitHalDm(IN PADAPTER Adapter); 22 | void rtl8192e_HalDmWatchDog(IN PADAPTER Adapter); 23 | 24 | /* VOID rtl8192c_dm_CheckTXPowerTracking(IN PADAPTER Adapter); */ 25 | 26 | /* void rtl8192c_dm_RF_Saving(IN PADAPTER pAdapter, IN u8 bForceInNormal); */ 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /include/rtl8192e_led.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2012 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __RTL8192E_LED_H__ 16 | #define __RTL8192E_LED_H__ 17 | 18 | #ifdef CONFIG_RTW_SW_LED 19 | /* ******************************************************************************** 20 | * Interface to manipulate LED objects. 21 | * ******************************************************************************** */ 22 | #ifdef CONFIG_USB_HCI 23 | void rtl8192eu_InitSwLeds(PADAPTER padapter); 24 | void rtl8192eu_DeInitSwLeds(PADAPTER padapter); 25 | #endif 26 | #ifdef CONFIG_PCI_HCI 27 | void rtl8192ee_InitSwLeds(PADAPTER padapter); 28 | void rtl8192ee_DeInitSwLeds(PADAPTER padapter); 29 | #endif 30 | #ifdef CONFIG_SDIO_HCI 31 | void rtl8192es_InitSwLeds(PADAPTER padapter); 32 | void rtl8192es_DeInitSwLeds(PADAPTER padapter); 33 | #endif 34 | 35 | #endif 36 | #endif/*CONFIG_RTW_SW_LED*/ 37 | -------------------------------------------------------------------------------- /include/rtl8192e_rf.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2012 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __RTL8192E_RF_H__ 16 | #define __RTL8192E_RF_H__ 17 | 18 | VOID 19 | PHY_RF6052SetBandwidth8192E( 20 | IN PADAPTER Adapter, 21 | IN enum channel_width Bandwidth); 22 | 23 | 24 | int 25 | PHY_RF6052_Config_8192E( 26 | IN PADAPTER Adapter); 27 | 28 | #endif/* __RTL8192E_RF_H__ */ 29 | -------------------------------------------------------------------------------- /include/rtl8192e_sreset.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2012 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef _RTL88812A_SRESET_H_ 16 | #define _RTL8812A_SRESET_H_ 17 | 18 | #include 19 | 20 | #ifdef DBG_CONFIG_ERROR_DETECT 21 | extern void rtl8192e_sreset_xmit_status_check(_adapter *padapter); 22 | extern void rtl8192e_sreset_linked_status_check(_adapter *padapter); 23 | #endif 24 | #endif 25 | -------------------------------------------------------------------------------- /include/rtl8192f_dm.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2012 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __RTL8192F_DM_H__ 16 | #define __RTL8192F_DM_H__ 17 | 18 | 19 | void rtl8192f_init_dm_priv(IN PADAPTER Adapter); 20 | void rtl8192f_deinit_dm_priv(IN PADAPTER Adapter); 21 | void rtl8192f_InitHalDm(IN PADAPTER Adapter); 22 | void rtl8192f_HalDmWatchDog(IN PADAPTER Adapter); 23 | 24 | /* VOID rtl8192c_dm_CheckTXPowerTracking(IN PADAPTER Adapter); */ 25 | 26 | /* void rtl8192c_dm_RF_Saving(IN PADAPTER pAdapter, IN u8 bForceInNormal); */ 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /include/rtl8192f_led.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __RTL8192F_LED_H__ 16 | #define __RTL8192F_LED_H__ 17 | 18 | #include 19 | #include 20 | #include 21 | 22 | #ifdef CONFIG_RTW_SW_LED 23 | /* ******************************************************************************** 24 | * Interface to manipulate LED objects. 25 | * ******************************************************************************** */ 26 | #ifdef CONFIG_USB_HCI 27 | void rtl8192fu_InitSwLeds(PADAPTER padapter); 28 | void rtl8192fu_DeInitSwLeds(PADAPTER padapter); 29 | #endif 30 | 31 | #ifdef CONFIG_SDIO_HCI 32 | void rtl8192fs_InitSwLeds(PADAPTER padapter); 33 | void rtl8192fs_DeInitSwLeds(PADAPTER padapter); 34 | #endif 35 | 36 | #ifdef CONFIG_PCI_HCI 37 | void rtl8192fe_InitSwLeds(PADAPTER padapter); 38 | void rtl8192fe_DeInitSwLeds(PADAPTER padapter); 39 | #endif 40 | #endif /*#ifdef CONFIG_RTW_SW_LED*/ 41 | 42 | #endif 43 | -------------------------------------------------------------------------------- /include/rtl8192f_rf.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2012 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __RTL8192F_RF_H__ 16 | #define __RTL8192F_RF_H__ 17 | 18 | int PHY_RF6052_Config8192F(IN PADAPTER pdapter); 19 | 20 | void PHY_RF6052SetBandwidth8192F(IN PADAPTER Adapter, IN enum channel_width Bandwidth); 21 | 22 | #endif/* __RTL8192F_RF_H__ */ 23 | -------------------------------------------------------------------------------- /include/rtl8192f_sreset.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef _RTL8192F_SRESET_H_ 16 | #define _RTL8192F_SRESET_H_ 17 | 18 | #include 19 | 20 | #ifdef DBG_CONFIG_ERROR_DETECT 21 | extern void rtl8192f_sreset_xmit_status_check(_adapter *padapter); 22 | extern void rtl8192f_sreset_linked_status_check(_adapter *padapter); 23 | #endif /* DBG_CONFIG_ERROR_DETECT */ 24 | #endif /* _RTL8192F_SRESET_H_ */ -------------------------------------------------------------------------------- /include/rtl8703b_dm.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __RTL8703B_DM_H__ 16 | #define __RTL8703B_DM_H__ 17 | /* ************************************************************ 18 | * Description: 19 | * 20 | * This file is for 8703B dynamic mechanism only 21 | * 22 | * 23 | * ************************************************************ */ 24 | 25 | /* ************************************************************ 26 | * structure and define 27 | * ************************************************************ */ 28 | 29 | /* ************************************************************ 30 | * function prototype 31 | * ************************************************************ */ 32 | 33 | void rtl8703b_init_dm_priv(PADAPTER padapter); 34 | void rtl8703b_deinit_dm_priv(PADAPTER padapter); 35 | 36 | void rtl8703b_InitHalDm(PADAPTER padapter); 37 | void rtl8703b_HalDmWatchDog(PADAPTER padapter); 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /include/rtl8703b_led.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __RTL8703B_LED_H__ 16 | #define __RTL8703B_LED_H__ 17 | 18 | #include 19 | #include 20 | #include 21 | 22 | #ifdef CONFIG_RTW_SW_LED 23 | /* ******************************************************************************** 24 | * Interface to manipulate LED objects. 25 | * ******************************************************************************** */ 26 | #ifdef CONFIG_USB_HCI 27 | void rtl8703bu_InitSwLeds(PADAPTER padapter); 28 | void rtl8703bu_DeInitSwLeds(PADAPTER padapter); 29 | #endif 30 | #ifdef CONFIG_SDIO_HCI 31 | void rtl8703bs_InitSwLeds(PADAPTER padapter); 32 | void rtl8703bs_DeInitSwLeds(PADAPTER padapter); 33 | #endif 34 | #ifdef CONFIG_GSPI_HCI 35 | void rtl8703bs_InitSwLeds(PADAPTER padapter); 36 | void rtl8703bs_DeInitSwLeds(PADAPTER padapter); 37 | #endif 38 | #ifdef CONFIG_PCI_HCI 39 | void rtl8703be_InitSwLeds(PADAPTER padapter); 40 | void rtl8703be_DeInitSwLeds(PADAPTER padapter); 41 | #endif 42 | 43 | #endif/*CONFIG_RTW_SW_LED*/ 44 | #endif /*__RTL8703B_LED_H__*/ 45 | -------------------------------------------------------------------------------- /include/rtl8703b_rf.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __RTL8703B_RF_H__ 16 | #define __RTL8703B_RF_H__ 17 | 18 | int PHY_RF6052_Config8703B(IN PADAPTER Adapter); 19 | 20 | VOID 21 | PHY_RF6052SetBandwidth8703B( 22 | IN PADAPTER Adapter, 23 | IN enum channel_width Bandwidth); 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /include/rtl8703b_sreset.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef _RTL8703B_SRESET_H_ 16 | #define _RTL8703B_SRESET_H_ 17 | 18 | #include 19 | 20 | #ifdef DBG_CONFIG_ERROR_DETECT 21 | extern void rtl8703b_sreset_xmit_status_check(_adapter *padapter); 22 | extern void rtl8703b_sreset_linked_status_check(_adapter *padapter); 23 | #endif 24 | #endif 25 | -------------------------------------------------------------------------------- /include/rtl8710b_dm.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __RTL8710B_DM_H__ 16 | #define __RTL8710B_DM_H__ 17 | /* ************************************************************ 18 | * Description: 19 | * 20 | * This file is for 8710B dynamic mechanism only 21 | * 22 | * 23 | * ************************************************************ */ 24 | 25 | /* ************************************************************ 26 | * structure and define 27 | * ************************************************************ */ 28 | 29 | /* ************************************************************ 30 | * function prototype 31 | * ************************************************************ */ 32 | 33 | void rtl8710b_init_dm_priv(PADAPTER padapter); 34 | void rtl8710b_deinit_dm_priv(PADAPTER padapter); 35 | 36 | void rtl8710b_InitHalDm(PADAPTER padapter); 37 | void rtl8710b_HalDmWatchDog(PADAPTER padapter); 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /include/rtl8710b_led.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __RTL8710B_LED_H__ 16 | #define __RTL8710B_LED_H__ 17 | 18 | #include 19 | #include 20 | #include 21 | 22 | #ifdef CONFIG_RTW_SW_LED 23 | /* ******************************************************************************** 24 | * Interface to manipulate LED objects. 25 | * ******************************************************************************** */ 26 | #ifdef CONFIG_USB_HCI 27 | void rtl8710bu_InitSwLeds(PADAPTER padapter); 28 | void rtl8710bu_DeInitSwLeds(PADAPTER padapter); 29 | #endif 30 | #ifdef CONFIG_SDIO_HCI 31 | void rtl8710bs_InitSwLeds(PADAPTER padapter); 32 | void rtl8710bs_DeInitSwLeds(PADAPTER padapter); 33 | #endif 34 | #ifdef CONFIG_GSPI_HCI 35 | void rtl8710bs_InitSwLeds(PADAPTER padapter); 36 | void rtl8710bs_DeInitSwLeds(PADAPTER padapter); 37 | #endif 38 | #ifdef CONFIG_PCI_HCI 39 | void rtl8710be_InitSwLeds(PADAPTER padapter); 40 | void rtl8710be_DeInitSwLeds(PADAPTER padapter); 41 | #endif 42 | 43 | #endif /*#ifdef CONFIG_RTW_SW_LED*/ 44 | #endif 45 | -------------------------------------------------------------------------------- /include/rtl8710b_rf.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __RTL8710B_RF_H__ 16 | #define __RTL8710B_RF_H__ 17 | 18 | int PHY_RF6052_Config8710B(IN PADAPTER pdapter); 19 | 20 | #endif 21 | -------------------------------------------------------------------------------- /include/rtl8710b_sreset.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef _RTL8710B_SRESET_H_ 16 | #define _RTL8710B_SRESET_H_ 17 | 18 | #include 19 | 20 | #ifdef DBG_CONFIG_ERROR_DETECT 21 | extern void rtl8710b_sreset_xmit_status_check(_adapter *padapter); 22 | extern void rtl8710b_sreset_linked_status_check(_adapter *padapter); 23 | #endif 24 | #endif 25 | -------------------------------------------------------------------------------- /include/rtl8723b_dm.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __RTL8723B_DM_H__ 16 | #define __RTL8723B_DM_H__ 17 | /* ************************************************************ 18 | * Description: 19 | * 20 | * This file is for 8723B dynamic mechanism only 21 | * 22 | * 23 | * ************************************************************ */ 24 | 25 | /* ************************************************************ 26 | * structure and define 27 | * ************************************************************ */ 28 | 29 | /* ************************************************************ 30 | * function prototype 31 | * ************************************************************ */ 32 | 33 | void rtl8723b_init_dm_priv(PADAPTER padapter); 34 | void rtl8723b_deinit_dm_priv(PADAPTER padapter); 35 | 36 | void rtl8723b_InitHalDm(PADAPTER padapter); 37 | void rtl8723b_HalDmWatchDog(PADAPTER padapter); 38 | #endif 39 | -------------------------------------------------------------------------------- /include/rtl8723b_led.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __RTL8723B_LED_H__ 16 | #define __RTL8723B_LED_H__ 17 | 18 | #include 19 | #include 20 | #include 21 | 22 | #ifdef CONFIG_RTW_SW_LED 23 | /* ******************************************************************************** 24 | * Interface to manipulate LED objects. 25 | * ******************************************************************************** */ 26 | #ifdef CONFIG_USB_HCI 27 | void rtl8723bu_InitSwLeds(PADAPTER padapter); 28 | void rtl8723bu_DeInitSwLeds(PADAPTER padapter); 29 | #endif 30 | #ifdef CONFIG_SDIO_HCI 31 | void rtl8723bs_InitSwLeds(PADAPTER padapter); 32 | void rtl8723bs_DeInitSwLeds(PADAPTER padapter); 33 | #endif 34 | #ifdef CONFIG_GSPI_HCI 35 | void rtl8723bs_InitSwLeds(PADAPTER padapter); 36 | void rtl8723bs_DeInitSwLeds(PADAPTER padapter); 37 | #endif 38 | #ifdef CONFIG_PCI_HCI 39 | void rtl8723be_InitSwLeds(PADAPTER padapter); 40 | void rtl8723be_DeInitSwLeds(PADAPTER padapter); 41 | #endif 42 | 43 | #endif 44 | #endif/*CONFIG_RTW_SW_LED*/ 45 | -------------------------------------------------------------------------------- /include/rtl8723b_rf.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __RTL8723B_RF_H__ 16 | #define __RTL8723B_RF_H__ 17 | 18 | int PHY_RF6052_Config8723B(IN PADAPTER Adapter); 19 | 20 | VOID 21 | PHY_RF6052SetBandwidth8723B( 22 | IN PADAPTER Adapter, 23 | IN enum channel_width Bandwidth); 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /include/rtl8723b_sreset.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef _RTL8723B_SRESET_H_ 16 | #define _RTL8723B_SRESET_H_ 17 | 18 | #include 19 | 20 | #ifdef DBG_CONFIG_ERROR_DETECT 21 | extern void rtl8723b_sreset_xmit_status_check(_adapter *padapter); 22 | extern void rtl8723b_sreset_linked_status_check(_adapter *padapter); 23 | #endif 24 | #endif 25 | -------------------------------------------------------------------------------- /include/rtl8723d_dm.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __RTL8723D_DM_H__ 16 | #define __RTL8723D_DM_H__ 17 | /* ************************************************************ 18 | * Description: 19 | * 20 | * This file is for 8723D dynamic mechanism only 21 | * 22 | * 23 | * ************************************************************ */ 24 | 25 | /* ************************************************************ 26 | * structure and define 27 | * ************************************************************ */ 28 | 29 | /* ************************************************************ 30 | * function prototype 31 | * ************************************************************ */ 32 | 33 | void rtl8723d_init_dm_priv(PADAPTER padapter); 34 | void rtl8723d_deinit_dm_priv(PADAPTER padapter); 35 | 36 | void rtl8723d_InitHalDm(PADAPTER padapter); 37 | void rtl8723d_HalDmWatchDog(PADAPTER padapter); 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /include/rtl8723d_led.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __RTL8723D_LED_H__ 16 | #define __RTL8723D_LED_H__ 17 | 18 | #include 19 | #include 20 | #include 21 | 22 | #ifdef CONFIG_RTW_SW_LED 23 | /* ******************************************************************************** 24 | * Interface to manipulate LED objects. 25 | * ******************************************************************************** */ 26 | #ifdef CONFIG_USB_HCI 27 | void rtl8723du_InitSwLeds(PADAPTER padapter); 28 | void rtl8723du_DeInitSwLeds(PADAPTER padapter); 29 | #endif 30 | #ifdef CONFIG_SDIO_HCI 31 | void rtl8723ds_InitSwLeds(PADAPTER padapter); 32 | void rtl8723ds_DeInitSwLeds(PADAPTER padapter); 33 | #endif 34 | #ifdef CONFIG_GSPI_HCI 35 | void rtl8723ds_InitSwLeds(PADAPTER padapter); 36 | void rtl8723ds_DeInitSwLeds(PADAPTER padapter); 37 | #endif 38 | #ifdef CONFIG_PCI_HCI 39 | void rtl8723de_InitSwLeds(PADAPTER padapter); 40 | void rtl8723de_DeInitSwLeds(PADAPTER padapter); 41 | #endif 42 | 43 | #endif /*#ifdef CONFIG_RTW_SW_LED*/ 44 | #endif 45 | -------------------------------------------------------------------------------- /include/rtl8723d_rf.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __RTL8723D_RF_H__ 16 | #define __RTL8723D_RF_H__ 17 | 18 | int PHY_RF6052_Config8723D(IN PADAPTER pdapter); 19 | 20 | void PHY_RF6052SetBandwidth8723D(IN PADAPTER Adapter, IN enum channel_width Bandwidth); 21 | #endif 22 | -------------------------------------------------------------------------------- /include/rtl8723d_sreset.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef _RTL8723D_SRESET_H_ 16 | #define _RTL8723D_SRESET_H_ 17 | 18 | #include 19 | 20 | #ifdef DBG_CONFIG_ERROR_DETECT 21 | extern void rtl8723d_sreset_xmit_status_check(_adapter *padapter); 22 | extern void rtl8723d_sreset_linked_status_check(_adapter *padapter); 23 | #endif 24 | #endif 25 | -------------------------------------------------------------------------------- /include/rtl8812a_dm.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __RTL8812A_DM_H__ 16 | #define __RTL8812A_DM_H__ 17 | 18 | void rtl8812_init_dm_priv(IN PADAPTER Adapter); 19 | void rtl8812_deinit_dm_priv(IN PADAPTER Adapter); 20 | void rtl8812_InitHalDm(IN PADAPTER Adapter); 21 | void rtl8812_HalDmWatchDog(IN PADAPTER Adapter); 22 | 23 | /* VOID rtl8192c_dm_CheckTXPowerTracking(IN PADAPTER Adapter); */ 24 | 25 | /* void rtl8192c_dm_RF_Saving(IN PADAPTER pAdapter, IN u8 bForceInNormal); */ 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /include/rtl8812a_led.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __RTL8812A_LED_H__ 16 | #define __RTL8812A_LED_H__ 17 | #ifdef CONFIG_RTW_LED 18 | #ifdef CONFIG_RTW_SW_LED 19 | /* ******************************************************************************** 20 | * Interface to manipulate LED objects. 21 | * ******************************************************************************** */ 22 | #ifdef CONFIG_USB_HCI 23 | void rtl8812au_InitSwLeds(PADAPTER padapter); 24 | void rtl8812au_DeInitSwLeds(PADAPTER padapter); 25 | #endif 26 | #ifdef CONFIG_PCI_HCI 27 | void rtl8812ae_InitSwLeds(PADAPTER padapter); 28 | void rtl8812ae_DeInitSwLeds(PADAPTER padapter); 29 | #endif 30 | #ifdef CONFIG_SDIO_HCI 31 | void rtl8821as_InitSwLeds(PADAPTER padapter); 32 | void rtl8821as_DeInitSwLeds(PADAPTER padapter); 33 | #endif 34 | #endif/*CONFIG_RTW_SW_LED*/ 35 | #endif/*#ifdef CONFIG_RTW_LED*/ 36 | 37 | #ifdef CONFIG_SDIO_HCI 38 | void rtl8821as_init_led_circuit(PADAPTER adapter); 39 | #endif 40 | 41 | #endif /*__RTL8812A_LED_H__*/ 42 | -------------------------------------------------------------------------------- /include/rtl8812a_rf.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __RTL8812A_RF_H__ 16 | #define __RTL8812A_RF_H__ 17 | 18 | VOID 19 | PHY_RF6052SetBandwidth8812( 20 | IN PADAPTER Adapter, 21 | IN enum channel_width Bandwidth); 22 | 23 | 24 | int 25 | PHY_RF6052_Config_8812( 26 | IN PADAPTER Adapter); 27 | 28 | #endif/* __RTL8188E_RF_H__ */ 29 | -------------------------------------------------------------------------------- /include/rtl8812a_sreset.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef _RTL88812A_SRESET_H_ 16 | #define _RTL8812A_SRESET_H_ 17 | 18 | #include 19 | 20 | #ifdef DBG_CONFIG_ERROR_DETECT 21 | extern void rtl8812_sreset_xmit_status_check(_adapter *padapter); 22 | extern void rtl8812_sreset_linked_status_check(_adapter *padapter); 23 | #endif 24 | #endif 25 | -------------------------------------------------------------------------------- /include/rtl8814a_dm.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __RTL8814A_DM_H__ 16 | #define __RTL8814A_DM_H__ 17 | 18 | void rtl8814_init_dm_priv(IN PADAPTER Adapter); 19 | void rtl8814_deinit_dm_priv(IN PADAPTER Adapter); 20 | void rtl8814_InitHalDm(IN PADAPTER Adapter); 21 | void rtl8814_HalDmWatchDog(IN PADAPTER Adapter); 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /include/rtl8814a_led.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __RTL8814A_LED_H__ 16 | #define __RTL8814A_LED_H__ 17 | 18 | #ifdef CONFIG_RTW_SW_LED 19 | /* ******************************************************************************** 20 | * Interface to manipulate LED objects. 21 | * ******************************************************************************** */ 22 | #ifdef CONFIG_USB_HCI 23 | void rtl8814au_InitSwLeds(PADAPTER padapter); 24 | void rtl8814au_DeInitSwLeds(PADAPTER padapter); 25 | #endif /* CONFIG_USB_HCI */ 26 | #ifdef CONFIG_PCI_HCI 27 | void rtl8814ae_InitSwLeds(PADAPTER padapter); 28 | void rtl8814ae_DeInitSwLeds(PADAPTER padapter); 29 | #endif /* CONFIG_PCI_HCI */ 30 | #ifdef CONFIG_SDIO_HCI 31 | void rtl8814s_InitSwLeds(PADAPTER padapter); 32 | void rtl8814s_DeInitSwLeds(PADAPTER padapter); 33 | #endif /* CONFIG_SDIO_HCI */ 34 | 35 | #endif /* __RTL8814A_LED_H__ */ 36 | #endif /*CONFIG_RTW_SW_LED*/ 37 | -------------------------------------------------------------------------------- /include/rtl8814a_rf.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __RTL8814A_RF_H__ 16 | #define __RTL8814A_RF_H__ 17 | 18 | VOID 19 | PHY_RF6052SetBandwidth8814A( 20 | IN PADAPTER Adapter, 21 | IN enum channel_width Bandwidth); 22 | 23 | 24 | int 25 | PHY_RF6052_Config_8814A( 26 | IN PADAPTER Adapter); 27 | 28 | #endif/* __RTL8188E_RF_H__ */ 29 | -------------------------------------------------------------------------------- /include/rtl8814a_sreset.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef _RTL88814A_SRESET_H_ 16 | #define _RTL8814A_SRESET_H_ 17 | 18 | #include 19 | 20 | #ifdef DBG_CONFIG_ERROR_DETECT 21 | extern void rtl8814_sreset_xmit_status_check(_adapter *padapter); 22 | extern void rtl8814_sreset_linked_status_check(_adapter *padapter); 23 | #endif 24 | #endif 25 | -------------------------------------------------------------------------------- /include/rtl8821c_dm.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2016 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __RTL8812C_DM_H__ 16 | #define __RTL8812C_DM_H__ 17 | 18 | void rtl8821c_phy_init_dm_priv(PADAPTER); 19 | void rtl8821c_phy_deinit_dm_priv(PADAPTER); 20 | void rtl8821c_phy_init_haldm(PADAPTER); 21 | void rtl8821c_phy_haldm_watchdog(PADAPTER); 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /include/rtl8821ce_hal.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2016 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef _RTL8821CE_HAL_H_ 16 | #define _RTL8821CE_HAL_H_ 17 | 18 | #include /* PADAPTER */ 19 | 20 | /* rtl8821ce_ops.c */ 21 | void rtl8821ce_set_hal_ops(PADAPTER); 22 | 23 | #endif /* _RTL8821CE_HAL_H_ */ 24 | -------------------------------------------------------------------------------- /include/rtl8821cs_hal.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2016 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef _RTL8821CS_HAL_H_ 16 | #define _RTL8821CS_HAL_H_ 17 | 18 | #include /* PADAPTER */ 19 | 20 | /* rtl8821cs_ops.c */ 21 | u8 rtl8821cs_set_hal_ops(PADAPTER); 22 | 23 | #endif /* _RTL8821CS_HAL_H_ */ 24 | -------------------------------------------------------------------------------- /include/rtl8821cu_hal.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2016 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef _RTL8821CU_HAL_H_ 16 | #define _RTL8821CU_HAL_H_ 17 | 18 | #include /* PADAPTER */ 19 | 20 | /* rtl8821cu_ops.c */ 21 | u8 rtl8821cu_set_hal_ops(PADAPTER); 22 | void rtl8821cu_set_hw_type(struct dvobj_priv *pdvobj); 23 | 24 | #endif /* _RTL8821CU_HAL_H_ */ 25 | -------------------------------------------------------------------------------- /include/rtl8822be_hal.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2015 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef _RTL8822BE_HAL_H_ 16 | #define _RTL8822BE_HAL_H_ 17 | 18 | #include /* PADAPTER */ 19 | 20 | #define RT_BCN_INT_MASKS (BIT20 | BIT25 | BIT26 | BIT16) 21 | 22 | /* rtl8822be_ops.c */ 23 | void UpdateInterruptMask8822BE(PADAPTER, u32 AddMSR, u32 AddMSR1, u32 RemoveMSR, u32 RemoveMSR1); 24 | u16 get_txbd_rw_reg(u16 q_idx); 25 | 26 | 27 | #endif /* _RTL8822BE_HAL_H_ */ 28 | -------------------------------------------------------------------------------- /include/rtl8822bs_hal.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2015 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef _RTL8822BS_HAL_H_ 16 | #define _RTL8822BS_HAL_H_ 17 | 18 | #include /* PADAPTER */ 19 | 20 | /* rtl8822bs_ops.c */ 21 | void rtl8822bs_set_hal_ops(PADAPTER); 22 | 23 | #if defined(CONFIG_WOWLAN) || defined(CONFIG_AP_WOWLAN) 24 | void rtl8822bs_disable_interrupt_but_cpwm2(PADAPTER adapter); 25 | #endif 26 | 27 | /* rtl8822bs_xmit.c */ 28 | s32 rtl8822bs_dequeue_writeport(PADAPTER); 29 | #define _dequeue_writeport(a) rtl8822bs_dequeue_writeport(a) 30 | 31 | #endif /* _RTL8822BS_HAL_H_ */ 32 | -------------------------------------------------------------------------------- /include/rtl8822bu_hal.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2015 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef _RTL8822BU_HAL_H_ 16 | #define _RTL8822BU_HAL_H_ 17 | 18 | #ifdef CONFIG_USB_HCI 19 | #include /* PADAPTER */ 20 | 21 | #ifdef CONFIG_USB_HCI 22 | #ifdef USB_PACKET_OFFSET_SZ 23 | #define PACKET_OFFSET_SZ (USB_PACKET_OFFSET_SZ) 24 | #else 25 | #define PACKET_OFFSET_SZ (8) 26 | #endif 27 | #define TXDESC_OFFSET (TXDESC_SIZE + PACKET_OFFSET_SZ) 28 | #endif 29 | 30 | /* undefine MAX_RECVBUF_SZ from rtl8822b_hal.h */ 31 | #ifdef MAX_RECVBUF_SZ 32 | #undef MAX_RECVBUF_SZ 33 | #endif 34 | 35 | /* recv_buffer must be large than usb agg size */ 36 | #ifndef MAX_RECVBUF_SZ 37 | #ifdef PLATFORM_OS_CE 38 | #define MAX_RECVBUF_SZ (8192+1024) 39 | #else /* !PLATFORM_OS_CE */ 40 | #ifndef CONFIG_MINIMAL_MEMORY_USAGE 41 | #ifdef CONFIG_PLATFORM_NOVATEK_NT72668 42 | #define MAX_RECVBUF_SZ (15360) /* 15k */ 43 | #elif defined(CONFIG_PLATFORM_HISILICON) 44 | /* use 16k to workaround for HISILICON platform */ 45 | #define MAX_RECVBUF_SZ (16384) 46 | #else 47 | #define MAX_RECVBUF_SZ (32768) 48 | #endif 49 | #else 50 | #define MAX_RECVBUF_SZ (4000) 51 | #endif 52 | #endif /* PLATFORM_OS_CE */ 53 | #endif /* !MAX_RECVBUF_SZ */ 54 | 55 | /* rtl8822bu_ops.c */ 56 | void rtl8822bu_set_hal_ops(PADAPTER padapter); 57 | void rtl8822bu_set_hw_type(struct dvobj_priv *pdvobj); 58 | 59 | /* rtl8822bu_io.c */ 60 | void rtl8822bu_set_intf_ops(struct _io_ops *pops); 61 | 62 | #endif /* CONFIG_USB_HCI */ 63 | 64 | 65 | #endif /* _RTL8822BU_HAL_H_ */ 66 | -------------------------------------------------------------------------------- /include/rtw_br_ext.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef _RTW_BR_EXT_H_ 16 | #define _RTW_BR_EXT_H_ 17 | 18 | #if 1 /* rtw_wifi_driver */ 19 | #define CL_IPV6_PASS 1 20 | #define MACADDRLEN 6 21 | #define _DEBUG_ERR RTW_INFO 22 | #define _DEBUG_INFO /* RTW_INFO */ 23 | #define DEBUG_WARN RTW_INFO 24 | #define DEBUG_INFO /* RTW_INFO */ 25 | #define DEBUG_ERR RTW_INFO 26 | /* #define GET_MY_HWADDR ((GET_MIB(priv))->dot11OperationEntry.hwaddr) */ 27 | #define GET_MY_HWADDR(padapter) (adapter_mac_addr(padapter)) 28 | #endif /* rtw_wifi_driver */ 29 | 30 | #define NAT25_HASH_BITS 4 31 | #define NAT25_HASH_SIZE (1 << NAT25_HASH_BITS) 32 | #define NAT25_AGEING_TIME 300 33 | 34 | #ifdef CL_IPV6_PASS 35 | #define MAX_NETWORK_ADDR_LEN 17 36 | #else 37 | #define MAX_NETWORK_ADDR_LEN 11 38 | #endif 39 | 40 | struct nat25_network_db_entry { 41 | struct nat25_network_db_entry *next_hash; 42 | struct nat25_network_db_entry **pprev_hash; 43 | atomic_t use_count; 44 | unsigned char macAddr[6]; 45 | unsigned long ageing_timer; 46 | unsigned char networkAddr[MAX_NETWORK_ADDR_LEN]; 47 | }; 48 | 49 | enum NAT25_METHOD { 50 | NAT25_MIN, 51 | NAT25_CHECK, 52 | NAT25_INSERT, 53 | NAT25_LOOKUP, 54 | NAT25_PARSE, 55 | NAT25_MAX 56 | }; 57 | 58 | struct br_ext_info { 59 | unsigned int nat25_disable; 60 | unsigned int macclone_enable; 61 | unsigned int dhcp_bcst_disable; 62 | int addPPPoETag; /* 1: Add PPPoE relay-SID, 0: disable */ 63 | unsigned char nat25_dmzMac[MACADDRLEN]; 64 | unsigned int nat25sc_disable; 65 | }; 66 | 67 | void nat25_db_cleanup(_adapter *priv); 68 | 69 | #endif /* _RTW_BR_EXT_H_ */ 70 | -------------------------------------------------------------------------------- /include/rtw_btcoex_wifionly.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2013 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __RTW_BTCOEX_WIFIONLY_H__ 16 | #define __RTW_BTCOEX_WIFIONLY_H__ 17 | 18 | void rtw_btcoex_wifionly_switchband_notify(PADAPTER padapter); 19 | void rtw_btcoex_wifionly_scan_notify(PADAPTER padapter); 20 | void rtw_btcoex_wifionly_connect_notify(PADAPTER padapter); 21 | void rtw_btcoex_wifionly_hw_config(PADAPTER padapter); 22 | void rtw_btcoex_wifionly_initialize(PADAPTER padapter); 23 | void rtw_btcoex_wifionly_AntInfoSetting(PADAPTER padapter); 24 | #endif 25 | -------------------------------------------------------------------------------- /include/rtw_byteorder.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef _RTL871X_BYTEORDER_H_ 16 | #define _RTL871X_BYTEORDER_H_ 17 | 18 | 19 | #if defined(CONFIG_LITTLE_ENDIAN) && defined (CONFIG_BIG_ENDIAN) 20 | #error "Shall be CONFIG_LITTLE_ENDIAN or CONFIG_BIG_ENDIAN, but not both!\n" 21 | #endif 22 | 23 | #if defined(CONFIG_LITTLE_ENDIAN) 24 | #ifndef CONFIG_PLATFORM_MSTAR389 25 | #include 26 | #endif 27 | #elif defined (CONFIG_BIG_ENDIAN) 28 | #include 29 | #else 30 | # error "Must be LITTLE/BIG Endian Host" 31 | #endif 32 | 33 | #endif /* _RTL871X_BYTEORDER_H_ */ 34 | -------------------------------------------------------------------------------- /include/rtw_ioctl_query.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef _RTW_IOCTL_QUERY_H_ 16 | #define _RTW_IOCTL_QUERY_H_ 17 | 18 | 19 | #ifdef PLATFORM_WINDOWS 20 | u8 query_802_11_capability(_adapter *padapter, u8 *pucBuf, u32 *pulOutLen); 21 | u8 query_802_11_association_information(_adapter *padapter, PNDIS_802_11_ASSOCIATION_INFORMATION pAssocInfo); 22 | #endif 23 | 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /include/rtw_mem.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __RTW_MEM_H__ 16 | #define __RTW_MEM_H__ 17 | 18 | #include 19 | #include 20 | #include 21 | 22 | #ifdef CONFIG_PLATFORM_MSTAR_HIGH 23 | #define MAX_RTKM_RECVBUF_SZ (31744) /* 31k */ 24 | #else 25 | #define MAX_RTKM_RECVBUF_SZ (15360) /* 15k */ 26 | #endif /* CONFIG_PLATFORM_MSTAR_HIGH */ 27 | #define MAX_RTKM_NR_PREALLOC_RECV_SKB 16 28 | 29 | u16 rtw_rtkm_get_buff_size(void); 30 | u8 rtw_rtkm_get_nr_recv_skb(void); 31 | struct u8 *rtw_alloc_revcbuf_premem(void); 32 | struct sk_buff *rtw_alloc_skb_premem(u16 in_size); 33 | int rtw_free_skb_premem(struct sk_buff *pskb); 34 | 35 | 36 | #endif /* __RTW_MEM_H__ */ 37 | -------------------------------------------------------------------------------- /include/rtw_mlme.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomaspinho/rtl8821ce/66c015af7738039a2045b6da755875e126d3fe73/include/rtw_mlme.h -------------------------------------------------------------------------------- /include/rtw_sdio.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2015 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef _RTW_SDIO_H_ 16 | #define _RTW_SDIO_H_ 17 | 18 | #include /* struct dvobj_priv and etc. */ 19 | 20 | u8 rtw_sdio_read_cmd52(struct dvobj_priv *, u32 addr, void *buf, size_t len); 21 | u8 rtw_sdio_read_cmd53(struct dvobj_priv *, u32 addr, void *buf, size_t len); 22 | u8 rtw_sdio_write_cmd52(struct dvobj_priv *, u32 addr, void *buf, size_t len); 23 | u8 rtw_sdio_write_cmd53(struct dvobj_priv *, u32 addr, void *buf, size_t len); 24 | u8 rtw_sdio_f0_read(struct dvobj_priv *, u32 addr, void *buf, size_t len); 25 | 26 | #endif /* _RTW_SDIO_H_ */ 27 | -------------------------------------------------------------------------------- /include/rtw_sreset.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef _RTW_SRESET_H_ 16 | #define _RTW_SRESET_H_ 17 | 18 | /* #include */ 19 | 20 | enum { 21 | SRESET_TGP_NULL = 0, 22 | SRESET_TGP_XMIT_STATUS = 1, 23 | SRESET_TGP_LINK_STATUS = 2, 24 | SRESET_TGP_INFO = 99, 25 | }; 26 | 27 | struct sreset_priv { 28 | _mutex silentreset_mutex; 29 | u8 silent_reset_inprogress; 30 | u8 Wifi_Error_Status; 31 | systime last_tx_time; 32 | systime last_tx_complete_time; 33 | 34 | s32 dbg_trigger_point; 35 | u64 self_dect_tx_cnt; 36 | u64 self_dect_rx_cnt; 37 | u64 self_dect_fw_cnt; 38 | u64 tx_dma_status_cnt; 39 | u64 rx_dma_status_cnt; 40 | u8 rx_cnt; 41 | u8 self_dect_fw; 42 | u8 self_dect_case; 43 | u16 last_mac_rxff_ptr; 44 | u8 dbg_sreset_ctrl; 45 | }; 46 | 47 | 48 | 49 | #define WIFI_STATUS_SUCCESS 0 50 | #define USB_VEN_REQ_CMD_FAIL BIT0 51 | #define USB_READ_PORT_FAIL BIT1 52 | #define USB_WRITE_PORT_FAIL BIT2 53 | #define WIFI_MAC_TXDMA_ERROR BIT3 54 | #define WIFI_TX_HANG BIT4 55 | #define WIFI_RX_HANG BIT5 56 | #define WIFI_IF_NOT_EXIST BIT6 57 | 58 | void sreset_init_value(_adapter *padapter); 59 | void sreset_reset_value(_adapter *padapter); 60 | u8 sreset_get_wifi_status(_adapter *padapter); 61 | void sreset_set_wifi_error_status(_adapter *padapter, u32 status); 62 | void sreset_set_trigger_point(_adapter *padapter, s32 tgp); 63 | bool sreset_inprogress(_adapter *padapter); 64 | void sreset_reset(_adapter *padapter); 65 | 66 | #endif 67 | -------------------------------------------------------------------------------- /include/rtw_version.h: -------------------------------------------------------------------------------- 1 | #define DRIVERVERSION "v5.5.2_34066.20200325_COEX20180712-3232" 2 | #define BTCOEXVERSION "COEX20180712-3232" 3 | -------------------------------------------------------------------------------- /include/rtw_wifi_regd.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2009-2010 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | 16 | #ifndef __RTW_WIFI_REGD_H__ 17 | #define __RTW_WIFI_REGD_H__ 18 | 19 | struct country_code_to_enum_rd { 20 | u16 countrycode; 21 | const char *iso_name; 22 | }; 23 | 24 | enum country_code_type_t { 25 | COUNTRY_CODE_USER = 0, 26 | 27 | /*add new channel plan above this line */ 28 | COUNTRY_CODE_MAX 29 | }; 30 | 31 | void rtw_regd_apply_flags(struct wiphy *wiphy); 32 | int rtw_regd_init(struct wiphy *wiphy); 33 | 34 | #endif /* __RTW_WIFI_REGD_H__ */ 35 | -------------------------------------------------------------------------------- /include/sdio_hal.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __SDIO_HAL_H__ 16 | #define __SDIO_HAL_H__ 17 | 18 | void sd_int_dpc(PADAPTER padapter); 19 | u8 rtw_set_hal_ops(_adapter *padapter); 20 | 21 | #ifdef CONFIG_RTL8188E 22 | void rtl8188es_set_hal_ops(PADAPTER padapter); 23 | #endif 24 | 25 | #ifdef CONFIG_RTL8723B 26 | void rtl8723bs_set_hal_ops(PADAPTER padapter); 27 | #endif 28 | 29 | #ifdef CONFIG_RTL8821A 30 | void rtl8821as_set_hal_ops(PADAPTER padapter); 31 | #endif 32 | 33 | #ifdef CONFIG_RTL8192E 34 | void rtl8192es_set_hal_ops(PADAPTER padapter); 35 | #endif 36 | 37 | #ifdef CONFIG_RTL8703B 38 | void rtl8703bs_set_hal_ops(PADAPTER padapter); 39 | #endif 40 | 41 | #ifdef CONFIG_RTL8723D 42 | void rtl8723ds_set_hal_ops(PADAPTER padapter); 43 | #endif 44 | 45 | #ifdef CONFIG_RTL8188F 46 | void rtl8188fs_set_hal_ops(PADAPTER padapter); 47 | #endif 48 | 49 | #ifdef CONFIG_RTL8188GTV 50 | void rtl8188gtvs_set_hal_ops(PADAPTER padapter); 51 | #endif 52 | 53 | #ifdef CONFIG_RTL8192F 54 | void rtl8192fs_set_hal_ops(PADAPTER padapter); 55 | #endif 56 | 57 | #endif /* __SDIO_HAL_H__ */ 58 | -------------------------------------------------------------------------------- /include/sdio_ops_ce.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef _SDIO_OPS_WINCE_H_ 16 | #define _SDIO_OPS_WINCE_H_ 17 | 18 | #include 19 | #include 20 | #include 21 | #include 22 | 23 | 24 | #ifdef PLATFORM_OS_CE 25 | 26 | 27 | extern u8 sdbus_cmd52r_ce(struct intf_priv *pintfpriv, u32 addr); 28 | 29 | 30 | extern void sdbus_cmd52w_ce(struct intf_priv *pintfpriv, u32 addr, u8 val8); 31 | 32 | 33 | uint sdbus_read_blocks_to_membuf_ce(struct intf_priv *pintfpriv, u32 addr, u32 cnt, u8 *pbuf); 34 | 35 | extern uint sdbus_read_bytes_to_membuf_ce(struct intf_priv *pintfpriv, u32 addr, u32 cnt, u8 *pbuf); 36 | 37 | 38 | extern uint sdbus_write_blocks_from_membuf_ce(struct intf_priv *pintfpriv, u32 addr, u32 cnt, u8 *pbuf, u8 async); 39 | 40 | extern uint sdbus_write_bytes_from_membuf_ce(struct intf_priv *pintfpriv, u32 addr, u32 cnt, u8 *pbuf); 41 | extern u8 sdbus_func1cmd52r_ce(struct intf_priv *pintfpriv, u32 addr); 42 | extern void sdbus_func1cmd52w_ce(struct intf_priv *pintfpriv, u32 addr, u8 val8); 43 | extern uint sdbus_read_reg(struct intf_priv *pintfpriv, u32 addr, u32 cnt, void *pdata); 44 | extern uint sdbus_write_reg(struct intf_priv *pintfpriv, u32 addr, u32 cnt, void *pdata); 45 | extern void sdio_read_int(_adapter *padapter, u32 addr, u8 sz, void *pdata); 46 | 47 | #endif 48 | 49 | #endif 50 | -------------------------------------------------------------------------------- /include/sdio_ops_xp.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef _SDIO_OPS_XP_H_ 16 | #define _SDIO_OPS_XP_H_ 17 | 18 | #include 19 | #include 20 | #include 21 | #include 22 | 23 | 24 | #ifdef PLATFORM_OS_XP 25 | 26 | 27 | extern u8 sdbus_cmd52r_xp(struct intf_priv *pintfpriv, u32 addr); 28 | 29 | 30 | extern void sdbus_cmd52w_xp(struct intf_priv *pintfpriv, u32 addr, u8 val8); 31 | 32 | 33 | uint sdbus_read_blocks_to_membuf_xp(struct intf_priv *pintfpriv, u32 addr, u32 cnt, u8 *pbuf); 34 | 35 | extern uint sdbus_read_bytes_to_membuf_xp(struct intf_priv *pintfpriv, u32 addr, u32 cnt, u8 *pbuf); 36 | 37 | 38 | extern uint sdbus_write_blocks_from_membuf_xp(struct intf_priv *pintfpriv, u32 addr, u32 cnt, u8 *pbuf, u8 async); 39 | 40 | extern uint sdbus_write_bytes_from_membuf_xp(struct intf_priv *pintfpriv, u32 addr, u32 cnt, u8 *pbuf); 41 | extern u8 sdbus_func1cmd52r_xp(struct intf_priv *pintfpriv, u32 addr); 42 | extern void sdbus_func1cmd52w_xp(struct intf_priv *pintfpriv, u32 addr, u8 val8); 43 | extern uint sdbus_read_reg(struct intf_priv *pintfpriv, u32 addr, u32 cnt, void *pdata); 44 | extern uint sdbus_write_reg(struct intf_priv *pintfpriv, u32 addr, u32 cnt, void *pdata); 45 | extern void sdio_read_int(_adapter *padapter, u32 addr, u8 sz, void *pdata); 46 | 47 | #endif 48 | 49 | #endif 50 | -------------------------------------------------------------------------------- /include/sdio_osintf.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __SDIO_OSINTF_H__ 16 | #define __SDIO_OSINTF_H__ 17 | 18 | 19 | #ifdef PLATFORM_OS_CE 20 | extern NDIS_STATUS ce_sd_get_dev_hdl(PADAPTER padapter); 21 | SD_API_STATUS ce_sd_int_callback(SD_DEVICE_HANDLE hDevice, PADAPTER padapter); 22 | extern void sd_setup_irs(PADAPTER padapter); 23 | #endif 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /include/usb_osintf.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __USB_OSINTF_H 16 | #define __USB_OSINTF_H 17 | 18 | #include 19 | 20 | #define USBD_HALTED(Status) ((ULONG)(Status) >> 30 == 3) 21 | 22 | 23 | u8 usbvendorrequest(struct dvobj_priv *pdvobjpriv, RT_USB_BREQUEST brequest, RT_USB_WVALUE wvalue, u8 windex, void *data, u8 datalen, u8 isdirectionin); 24 | 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /include/usb_vendor_req.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef _USB_VENDOR_REQUEST_H_ 16 | #define _USB_VENDOR_REQUEST_H_ 17 | 18 | /* 4 Set/Get Register related wIndex/Data */ 19 | #define RT_USB_RESET_MASK_OFF 0 20 | #define RT_USB_RESET_MASK_ON 1 21 | #define RT_USB_SLEEP_MASK_OFF 0 22 | #define RT_USB_SLEEP_MASK_ON 1 23 | #define RT_USB_LDO_ON 1 24 | #define RT_USB_LDO_OFF 0 25 | 26 | /* 4 Set/Get SYSCLK related wValue or Data */ 27 | #define RT_USB_SYSCLK_32KHZ 0 28 | #define RT_USB_SYSCLK_40MHZ 1 29 | #define RT_USB_SYSCLK_60MHZ 2 30 | 31 | 32 | typedef enum _RT_USB_BREQUEST { 33 | RT_USB_SET_REGISTER = 1, 34 | RT_USB_SET_SYSCLK = 2, 35 | RT_USB_GET_SYSCLK = 3, 36 | RT_USB_GET_REGISTER = 4 37 | } RT_USB_BREQUEST; 38 | 39 | 40 | typedef enum _RT_USB_WVALUE { 41 | RT_USB_RESET_MASK = 1, 42 | RT_USB_SLEEP_MASK = 2, 43 | RT_USB_USB_HRCPWM = 3, 44 | RT_USB_LDO = 4, 45 | RT_USB_BOOT_TYPE = 5 46 | } RT_USB_WVALUE; 47 | 48 | 49 | #if 0 50 | BOOLEAN usbvendorrequest(PCE_USB_DEVICE CEdevice, RT_USB_BREQUEST bRequest, RT_USB_WVALUE wValue, UCHAR wIndex, PVOID Data, UCHAR DataLength, BOOLEAN isDirectionIn); 51 | BOOLEAN CEusbGetStatusRequest(PCE_USB_DEVICE CEdevice, IN USHORT Op, IN USHORT Index, PVOID Data); 52 | BOOLEAN CEusbFeatureRequest(PCE_USB_DEVICE CEdevice, IN USHORT Op, IN USHORT FeatureSelector, IN USHORT Index); 53 | BOOLEAN CEusbGetDescriptorRequest(PCE_USB_DEVICE CEdevice, IN short urbLength, IN UCHAR DescriptorType, IN UCHAR Index, IN USHORT LanguageId, IN PVOID TransferBuffer, IN ULONG TransferBufferLength); 54 | #endif 55 | 56 | #endif 57 | -------------------------------------------------------------------------------- /os_dep/linux/pci_ops_linux.c: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #define _PCI_OPS_LINUX_C_ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /os_dep/linux/rtw_proc.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2007 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __RTW_PROC_H__ 16 | #define __RTW_PROC_H__ 17 | 18 | #include 19 | #include 20 | 21 | #define RTW_PROC_HDL_TYPE_SEQ 0 22 | #define RTW_PROC_HDL_TYPE_SSEQ 1 23 | 24 | struct rtw_proc_hdl { 25 | char *name; 26 | u8 type; 27 | union { 28 | int (*show)(struct seq_file *, void *); 29 | struct seq_operations *seq_op; 30 | } u; 31 | ssize_t (*write)(struct file *file, const char __user *buffer, size_t count, loff_t *pos, void *data); 32 | }; 33 | 34 | #define RTW_PROC_HDL_SEQ(_name, _seq_op, _write) \ 35 | { .name = _name, .type = RTW_PROC_HDL_TYPE_SEQ, .u.seq_op = _seq_op, .write = _write} 36 | 37 | #define RTW_PROC_HDL_SSEQ(_name, _show, _write) \ 38 | { .name = _name, .type = RTW_PROC_HDL_TYPE_SSEQ, .u.show = _show, .write = _write} 39 | 40 | #ifdef CONFIG_PROC_DEBUG 41 | 42 | struct proc_dir_entry *get_rtw_drv_proc(void); 43 | int rtw_drv_proc_init(void); 44 | void rtw_drv_proc_deinit(void); 45 | struct proc_dir_entry *rtw_adapter_proc_init(struct net_device *dev); 46 | void rtw_adapter_proc_deinit(struct net_device *dev); 47 | void rtw_adapter_proc_replace(struct net_device *dev); 48 | 49 | #else /* !CONFIG_PROC_DEBUG */ 50 | 51 | #define get_rtw_drv_proc() NULL 52 | #define rtw_drv_proc_init() 0 53 | #define rtw_drv_proc_deinit() do {} while (0) 54 | #define rtw_adapter_proc_init(dev) NULL 55 | #define rtw_adapter_proc_deinit(dev) do {} while (0) 56 | #define rtw_adapter_proc_replace(dev) do {} while (0) 57 | 58 | #endif /* !CONFIG_PROC_DEBUG */ 59 | 60 | #endif /* __RTW_PROC_H__ */ 61 | -------------------------------------------------------------------------------- /platform/custom_country_chplan.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2013 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | 16 | #error "You have defined CONFIG_CUSTOMIZED_COUNTRY_CHPLAN_MAP to use a customized map of your own instead of the default one" 17 | #error "Before removing these error notifications, please make sure regulatory certification requirements of your target markets" 18 | 19 | static const struct country_chplan CUSTOMIZED_country_chplan_map[] = { 20 | COUNTRY_CHPLAN_ENT("TW", 0x76, 1, 0x3FF), /* Taiwan */ 21 | }; 22 | 23 | -------------------------------------------------------------------------------- /platform/platform_ARM_WMT_sdio.c: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2013 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #include 16 | #include 17 | #include 18 | 19 | extern void wmt_detect_sdio2(void); 20 | extern void force_remove_sdio2(void); 21 | 22 | int platform_wifi_power_on(void) 23 | { 24 | int err = 0; 25 | err = gpio_request(WMT_PIN_GP62_SUSGPIO1, "wifi_chip_en"); 26 | if (err < 0) { 27 | printk("request gpio for rtl8188eu failed!\n"); 28 | return err; 29 | } 30 | gpio_direction_output(WMT_PIN_GP62_SUSGPIO1, 0);/* pull sus_gpio1 to 0 to open vcc_wifi. */ 31 | printk("power on rtl8189.\n"); 32 | msleep(500); 33 | wmt_detect_sdio2(); 34 | printk("[rtl8189es] %s: new card, power on.\n", __FUNCTION__); 35 | return err; 36 | } 37 | 38 | void platform_wifi_power_off(void) 39 | { 40 | force_remove_sdio2(); 41 | 42 | gpio_direction_output(WMT_PIN_GP62_SUSGPIO1, 1);/* pull sus_gpio1 to 1 to close vcc_wifi. */ 43 | printk("power off rtl8189.\n"); 44 | gpio_free(WMT_PIN_GP62_SUSGPIO1); 45 | printk("[rtl8189es] %s: remove card, power off.\n", __FUNCTION__); 46 | } 47 | -------------------------------------------------------------------------------- /platform/platform_RTK_DMP_usb.c: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2013 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #include 16 | 17 | int platform_wifi_power_on(void) 18 | { 19 | int ret = 0; 20 | u32 tmp; 21 | tmp = readl((volatile unsigned int *)0xb801a608); 22 | tmp &= 0xffffff00; 23 | tmp |= 0x55; 24 | writel(tmp, (volatile unsigned int *)0xb801a608); /* write dummy register for 1055 */ 25 | return ret; 26 | } 27 | 28 | void platform_wifi_power_off(void) 29 | { 30 | } 31 | -------------------------------------------------------------------------------- /platform/platform_aml_s905_sdio.c: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2016 - 2018 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #include /* pr_info(() */ 16 | #include /* msleep() */ 17 | #include "platform_aml_s905_sdio.h" /* sdio_reinit() and etc */ 18 | 19 | 20 | /* 21 | * Return: 22 | * 0: power on successfully 23 | * others: power on failed 24 | */ 25 | int platform_wifi_power_on(void) 26 | { 27 | int ret = 0; 28 | 29 | #if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 14, 0)) 30 | ret = wifi_setup_dt(); 31 | if (ret) { 32 | pr_err("%s: setup dt failed!!(%d)\n", __func__, ret); 33 | return -1; 34 | } 35 | #endif /* kernel < 3.14.0 */ 36 | 37 | #if 0 /* Seems redundancy? Already done before insert driver */ 38 | pr_info("######%s:\n", __func__); 39 | extern_wifi_set_enable(0); 40 | msleep(500); 41 | extern_wifi_set_enable(1); 42 | msleep(500); 43 | sdio_reinit(); 44 | #endif 45 | 46 | return ret; 47 | } 48 | 49 | void platform_wifi_power_off(void) 50 | { 51 | #if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 14, 0)) 52 | wifi_teardown_dt(); 53 | #endif /* kernel < 3.14.0 */ 54 | } 55 | -------------------------------------------------------------------------------- /platform/platform_aml_s905_sdio.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2016 - 2018 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __PLATFORM_AML_S905_SDIO_H__ 16 | #define __PLATFORM_AML_S905_SDIO_H__ 17 | 18 | #include /* Linux vresion */ 19 | 20 | extern void sdio_reinit(void); 21 | extern void extern_wifi_set_enable(int is_on); 22 | 23 | #if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 14, 0)) 24 | extern void wifi_teardown_dt(void); 25 | extern int wifi_setup_dt(void); 26 | #endif /* kernel < 3.14.0 */ 27 | 28 | #endif /* __PLATFORM_AML_S905_SDIO_H__ */ 29 | -------------------------------------------------------------------------------- /platform/platform_arm_act_sdio.c: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2013 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | /* 16 | * Description: 17 | * This file can be applied to following platforms: 18 | * CONFIG_PLATFORM_ACTIONS_ATM703X 19 | */ 20 | #include 21 | 22 | #ifdef CONFIG_PLATFORM_ACTIONS_ATM705X 23 | extern int acts_wifi_init(void); 24 | extern void acts_wifi_cleanup(void); 25 | #endif 26 | 27 | /* 28 | * Return: 29 | * 0: power on successfully 30 | * others: power on failed 31 | */ 32 | int platform_wifi_power_on(void) 33 | { 34 | int ret = 0; 35 | 36 | #ifdef CONFIG_PLATFORM_ACTIONS_ATM705X 37 | ret = acts_wifi_init(); 38 | if (unlikely(ret < 0)) { 39 | pr_err("%s Failed to register the power control driver.\n", __FUNCTION__); 40 | goto exit; 41 | } 42 | #endif 43 | 44 | exit: 45 | return ret; 46 | } 47 | 48 | void platform_wifi_power_off(void) 49 | { 50 | #ifdef CONFIG_PLATFORM_ACTIONS_ATM705X 51 | acts_wifi_cleanup(); 52 | #endif 53 | } 54 | -------------------------------------------------------------------------------- /platform/platform_hisilicon_hi3798_sdio.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2017 - 2018 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __PLATFORM_HISILICON_HI3798_SDIO_H__ 16 | #define __PLATFORM_HISILICON_HI3798_SDIO_H__ 17 | 18 | typedef unsigned int HI_U32; 19 | 20 | typedef int HI_S32; 21 | 22 | #define HI_SUCCESS 0 23 | #define HI_FAILURE (-1) 24 | 25 | extern HI_S32 HI_DRV_GPIO_SetDirBit(HI_U32 u32GpioNo, HI_U32 u32DirBit); 26 | extern HI_S32 HI_DRV_GPIO_WriteBit(HI_U32 u32GpioNo, HI_U32 u32BitValue); 27 | 28 | #endif /* __PLATFORM_HISILICON_HI3798_SDIO_H__ */ 29 | -------------------------------------------------------------------------------- /platform/platform_ops.c: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2013 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef CONFIG_PLATFORM_OPS 16 | /* 17 | * Return: 18 | * 0: power on successfully 19 | * others: power on failed 20 | */ 21 | int platform_wifi_power_on(void) 22 | { 23 | int ret = 0; 24 | 25 | 26 | return ret; 27 | } 28 | 29 | void platform_wifi_power_off(void) 30 | { 31 | } 32 | #endif /* !CONFIG_PLATFORM_OPS */ 33 | -------------------------------------------------------------------------------- /platform/platform_ops.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2013 - 2017 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __PLATFORM_OPS_H__ 16 | #define __PLATFORM_OPS_H__ 17 | 18 | /* 19 | * Return: 20 | * 0: power on successfully 21 | * others: power on failed 22 | */ 23 | int platform_wifi_power_on(void); 24 | void platform_wifi_power_off(void); 25 | 26 | #endif /* __PLATFORM_OPS_H__ */ 27 | -------------------------------------------------------------------------------- /platform/platform_zte_zx296716_sdio.c: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2016 - 2018 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #include /* pr_info(() */ 16 | #include /* msleep() */ 17 | #include "platform_zte_zx296716_sdio.h" /* sdio_reinit() and etc */ 18 | 19 | 20 | /* 21 | * Return: 22 | * 0: power on successfully 23 | * others: power on failed 24 | */ 25 | int platform_wifi_power_on(void) 26 | { 27 | int ret = 0; 28 | 29 | pr_info("######%s: disable--1--\n", __func__); 30 | extern_wifi_set_enable(0); 31 | /*msleep(500);*/ /* add in function:extern_wifi_set_enable */ 32 | pr_info("######%s: enable--2---\n", __func__); 33 | extern_wifi_set_enable(1); 34 | /*msleep(500);*/ 35 | sdio_reinit(); 36 | 37 | return ret; 38 | } 39 | 40 | void platform_wifi_power_off(void) 41 | { 42 | int card_val; 43 | 44 | pr_info("######%s:\n", __func__); 45 | #ifdef CONFIG_A16T03_BOARD 46 | card_val = sdio_host_is_null(); 47 | if (card_val) 48 | remove_card(); 49 | #endif /* CONFIG_A16T03_BOARD */ 50 | extern_wifi_set_enable(0); 51 | 52 | /*msleep(500);*/ 53 | } 54 | -------------------------------------------------------------------------------- /platform/platform_zte_zx296716_sdio.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright(c) 2016 - 2018 Realtek Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of version 2 of the GNU General Public License as 7 | * published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | *****************************************************************************/ 15 | #ifndef __PLATFORM_ZTE_ZX296716_SDIO_H__ 16 | #define __PLATFORM_ZTE_ZX296716_SDIO_H__ 17 | 18 | extern void sdio_reinit(void); 19 | extern void extern_wifi_set_enable(int val); 20 | #ifdef CONFIG_A16T03_BOARD 21 | extern int sdio_host_is_null(void); 22 | extern void remove_card(void); 23 | #endif /* CONFIG_A16T03_BOARD */ 24 | 25 | #endif /* __PLATFORM_ZTE_ZX296716_SDIO_H__ */ 26 | -------------------------------------------------------------------------------- /rtl8821c.mk: -------------------------------------------------------------------------------- 1 | ccflags-y += -DCONFIG_RTL8821C 2 | 3 | ifeq ($(CONFIG_USB_HCI), y) 4 | FILE_NAME = 8821cu 5 | endif 6 | ifeq ($(CONFIG_PCI_HCI), y) 7 | FILE_NAME = 8821ce 8 | endif 9 | ifeq ($(CONFIG_SDIO_HCI), y) 10 | FILE_NAME = 8821cs 11 | endif 12 | 13 | _HAL_INTFS_FILES += hal/rtl8821c/rtl8821c_halinit.o \ 14 | hal/rtl8821c/rtl8821c_mac.o \ 15 | hal/rtl8821c/rtl8821c_cmd.o \ 16 | hal/rtl8821c/rtl8821c_phy.o \ 17 | hal/rtl8821c/rtl8821c_dm.o \ 18 | hal/rtl8821c/rtl8821c_ops.o \ 19 | hal/rtl8821c/hal8821c_fw.o 20 | 21 | _HAL_INTFS_FILES += hal/rtl8821c/$(HCI_NAME)/rtl$(FILE_NAME)_halinit.o \ 22 | hal/rtl8821c/$(HCI_NAME)/rtl$(FILE_NAME)_halmac.o \ 23 | hal/rtl8821c/$(HCI_NAME)/rtl$(FILE_NAME)_io.o \ 24 | hal/rtl8821c/$(HCI_NAME)/rtl$(FILE_NAME)_xmit.o \ 25 | hal/rtl8821c/$(HCI_NAME)/rtl$(FILE_NAME)_recv.o \ 26 | hal/rtl8821c/$(HCI_NAME)/rtl$(FILE_NAME)_led.o \ 27 | hal/rtl8821c/$(HCI_NAME)/rtl$(FILE_NAME)_ops.o 28 | 29 | ifeq ($(CONFIG_SDIO_HCI), y) 30 | _HAL_INTFS_FILES +=hal/efuse/$(RTL871X)/HalEfuseMask8821C_SDIO.o 31 | endif 32 | ifeq ($(CONFIG_USB_HCI), y) 33 | _HAL_INTFS_FILES +=hal/efuse/$(RTL871X)/HalEfuseMask8821C_USB.o 34 | endif 35 | ifeq ($(CONFIG_PCI_HCI), y) 36 | _HAL_INTFS_FILES +=hal/efuse/$(RTL871X)/HalEfuseMask8821C_PCIE.o 37 | endif 38 | 39 | include $(TopDIR)/halmac.mk 40 | 41 | _BTC_FILES += hal/btc/halbtc8821cwifionly.o 42 | ifeq ($(CONFIG_BT_COEXIST), y) 43 | _BTC_FILES += hal/btc/halbtc8821c1ant.o \ 44 | hal/btc/halbtc8821c2ant.o 45 | endif 46 | -------------------------------------------------------------------------------- /runwpa: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ "`which iwconfig`" = "" ] ; then 4 | echo "WARNING:Wireless tool not exist!" 5 | echo " Please install it!" 6 | exit 7 | else 8 | if [ `uname -r | cut -d. -f2` -eq 4 ]; then 9 | wpa_supplicant -D ipw -c wpa1.conf -i wlan0 10 | else 11 | if [ `iwconfig -v |awk '{print $4}' | head -n 1` -lt 18 ] ; then 12 | wpa_supplicant -D ipw -c wpa1.conf -i wlan0 13 | else 14 | wpa_supplicant -D wext -c wpa1.conf -i wlan0 15 | fi 16 | 17 | fi 18 | fi 19 | 20 | 21 | -------------------------------------------------------------------------------- /wlan0dhcp: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | var0=`ps aux|awk '/dhclient wlan0/'|awk '$11!="awk"{print $2}'` 4 | 5 | kill $var0 6 | cp ifcfg-wlan0 /etc/sysconfig/network-scripts/ 7 | 8 | dhclient wlan0 9 | 10 | var1=`ifconfig wlan0 |awk '/inet/{print $2}'|awk -F: '{print $2}'` 11 | 12 | 13 | rm -f /etc/sysconfig/network-scripts/ifcfg-wlan0 14 | 15 | echo "get ip: $var1" 16 | 17 | --------------------------------------------------------------------------------