| 
									
										
										
										
											2014-02-28 15:16:43 -06:00
										 |  |  | /******************************************************************************
 | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Copyright(c) 2009-2014  Realtek Corporation. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * This program is free software; you can redistribute it and/or modify it | 
					
						
							|  |  |  |  * under the terms of version 2 of the GNU General Public License as | 
					
						
							|  |  |  |  * published by the Free Software Foundation. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * This program is distributed in the hope that it will be useful, but WITHOUT | 
					
						
							|  |  |  |  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | 
					
						
							|  |  |  |  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for | 
					
						
							|  |  |  |  * more details. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * The full GNU General Public License is included in this distribution in the | 
					
						
							|  |  |  |  * file called LICENSE. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Contact Information: | 
					
						
							|  |  |  |  * wlanfae <wlanfae@realtek.com> | 
					
						
							|  |  |  |  * Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park, | 
					
						
							|  |  |  |  * Hsinchu 300, Taiwan. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Larry Finger <Larry.Finger@lwfinger.net> | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  *****************************************************************************/ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifndef __PHY_COMMON__
 | 
					
						
							|  |  |  | #define __PHY_COMMON__
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-28 15:16:47 -06:00
										 |  |  | #define RT_CANNOT_IO(hw)			false
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | enum swchnlcmd_id { | 
					
						
							|  |  |  | 	CMDID_END, | 
					
						
							|  |  |  | 	CMDID_SET_TXPOWEROWER_LEVEL, | 
					
						
							|  |  |  | 	CMDID_BBREGWRITE10, | 
					
						
							|  |  |  | 	CMDID_WRITEPORT_ULONG, | 
					
						
							|  |  |  | 	CMDID_WRITEPORT_USHORT, | 
					
						
							|  |  |  | 	CMDID_WRITEPORT_UCHAR, | 
					
						
							|  |  |  | 	CMDID_RF_WRITEREG, | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | struct swchnlcmd { | 
					
						
							|  |  |  | 	enum swchnlcmd_id cmdid; | 
					
						
							|  |  |  | 	u32 para1; | 
					
						
							|  |  |  | 	u32 para2; | 
					
						
							|  |  |  | 	u32 msdelay; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-28 15:16:43 -06:00
										 |  |  | u32 rtl8723_phy_query_bb_reg(struct ieee80211_hw *hw, | 
					
						
							|  |  |  | 			     u32 regaddr, u32 bitmask); | 
					
						
							|  |  |  | void rtl8723_phy_set_bb_reg(struct ieee80211_hw *hw, u32 regaddr, | 
					
						
							|  |  |  | 			      u32 bitmask, u32 data); | 
					
						
							|  |  |  | u32 rtl8723_phy_calculate_bit_shift(u32 bitmask); | 
					
						
							|  |  |  | u32 rtl8723_phy_rf_serial_read(struct ieee80211_hw *hw, | 
					
						
							|  |  |  | 			       enum radio_path rfpath, u32 offset); | 
					
						
							|  |  |  | void rtl8723_phy_rf_serial_write(struct ieee80211_hw *hw, | 
					
						
							|  |  |  | 				 enum radio_path rfpath, | 
					
						
							|  |  |  | 				 u32 offset, u32 data); | 
					
						
							|  |  |  | long rtl8723_phy_txpwr_idx_to_dbm(struct ieee80211_hw *hw, | 
					
						
							|  |  |  | 				  enum wireless_mode wirelessmode, | 
					
						
							|  |  |  | 				  u8 txpwridx); | 
					
						
							|  |  |  | void rtl8723_phy_init_bb_rf_reg_def(struct ieee80211_hw *hw); | 
					
						
							|  |  |  | bool rtl8723_phy_set_sw_chnl_cmdarray(struct swchnlcmd *cmdtable, | 
					
						
							|  |  |  | 				      u32 cmdtableidx, | 
					
						
							|  |  |  | 				      u32 cmdtablesz, | 
					
						
							|  |  |  | 				      enum swchnlcmd_id cmdid, | 
					
						
							|  |  |  | 				      u32 para1, u32 para2, | 
					
						
							|  |  |  | 				      u32 msdelay); | 
					
						
							|  |  |  | void rtl8723_phy_path_a_fill_iqk_matrix(struct ieee80211_hw *hw, | 
					
						
							|  |  |  | 					bool iqk_ok, | 
					
						
							|  |  |  | 					long result[][8], | 
					
						
							|  |  |  | 					u8 final_candidate, | 
					
						
							|  |  |  | 					bool btxonly); | 
					
						
							|  |  |  | void rtl8723_save_adda_registers(struct ieee80211_hw *hw, u32 *addareg, | 
					
						
							|  |  |  | 				 u32 *addabackup, u32 registernum); | 
					
						
							| 
									
										
										
										
											2014-02-28 15:16:47 -06:00
										 |  |  | void rtl8723_phy_save_mac_registers(struct ieee80211_hw *hw, | 
					
						
							|  |  |  | 				    u32 *macreg, u32 *macbackup); | 
					
						
							| 
									
										
										
										
											2014-02-28 15:16:43 -06:00
										 |  |  | void rtl8723_phy_reload_adda_registers(struct ieee80211_hw *hw, | 
					
						
							|  |  |  | 				       u32 *addareg, u32 *addabackup, | 
					
						
							|  |  |  | 				       u32 regiesternum); | 
					
						
							|  |  |  | void rtl8723_phy_reload_mac_registers(struct ieee80211_hw *hw, | 
					
						
							|  |  |  | 				      u32 *macreg, u32 *macbackup); | 
					
						
							|  |  |  | void rtl8723_phy_path_adda_on(struct ieee80211_hw *hw, u32 *addareg, | 
					
						
							|  |  |  | 			      bool is_patha_on, bool is2t); | 
					
						
							|  |  |  | void rtl8723_phy_mac_setting_calibration(struct ieee80211_hw *hw, | 
					
						
							|  |  |  | 					 u32 *macreg, u32 *macbackup); | 
					
						
							|  |  |  | void rtl8723_phy_path_a_standby(struct ieee80211_hw *hw); | 
					
						
							|  |  |  | void rtl8723_phy_pi_mode_switch(struct ieee80211_hw *hw, bool pi_mode); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif
 |