1*b4c3e9b5SBjoern A. Zeeb // SPDX-License-Identifier: ISC 2*b4c3e9b5SBjoern A. Zeeb /* 3*b4c3e9b5SBjoern A. Zeeb * Copyright (c) 2010 Broadcom Corporation 4*b4c3e9b5SBjoern A. Zeeb */ 5*b4c3e9b5SBjoern A. Zeeb 6*b4c3e9b5SBjoern A. Zeeb #ifndef _BRCM_PHY_LCN_H_ 7*b4c3e9b5SBjoern A. Zeeb #define _BRCM_PHY_LCN_H_ 8*b4c3e9b5SBjoern A. Zeeb 9*b4c3e9b5SBjoern A. Zeeb #include <types.h> 10*b4c3e9b5SBjoern A. Zeeb 11*b4c3e9b5SBjoern A. Zeeb struct brcms_phy_lcnphy { 12*b4c3e9b5SBjoern A. Zeeb int lcnphy_txrf_sp_9_override; 13*b4c3e9b5SBjoern A. Zeeb u8 lcnphy_full_cal_channel; 14*b4c3e9b5SBjoern A. Zeeb u8 lcnphy_cal_counter; 15*b4c3e9b5SBjoern A. Zeeb u16 lcnphy_cal_temper; 16*b4c3e9b5SBjoern A. Zeeb bool lcnphy_recal; 17*b4c3e9b5SBjoern A. Zeeb 18*b4c3e9b5SBjoern A. Zeeb u8 lcnphy_rc_cap; 19*b4c3e9b5SBjoern A. Zeeb u32 lcnphy_mcs20_po; 20*b4c3e9b5SBjoern A. Zeeb 21*b4c3e9b5SBjoern A. Zeeb u8 lcnphy_tr_isolation_mid; 22*b4c3e9b5SBjoern A. Zeeb u8 lcnphy_tr_isolation_low; 23*b4c3e9b5SBjoern A. Zeeb u8 lcnphy_tr_isolation_hi; 24*b4c3e9b5SBjoern A. Zeeb 25*b4c3e9b5SBjoern A. Zeeb u8 lcnphy_bx_arch; 26*b4c3e9b5SBjoern A. Zeeb u8 lcnphy_rx_power_offset; 27*b4c3e9b5SBjoern A. Zeeb u8 lcnphy_rssi_vf; 28*b4c3e9b5SBjoern A. Zeeb u8 lcnphy_rssi_vc; 29*b4c3e9b5SBjoern A. Zeeb u8 lcnphy_rssi_gs; 30*b4c3e9b5SBjoern A. Zeeb u8 lcnphy_tssi_val; 31*b4c3e9b5SBjoern A. Zeeb u8 lcnphy_rssi_vf_lowtemp; 32*b4c3e9b5SBjoern A. Zeeb u8 lcnphy_rssi_vc_lowtemp; 33*b4c3e9b5SBjoern A. Zeeb u8 lcnphy_rssi_gs_lowtemp; 34*b4c3e9b5SBjoern A. Zeeb 35*b4c3e9b5SBjoern A. Zeeb u8 lcnphy_rssi_vf_hightemp; 36*b4c3e9b5SBjoern A. Zeeb u8 lcnphy_rssi_vc_hightemp; 37*b4c3e9b5SBjoern A. Zeeb u8 lcnphy_rssi_gs_hightemp; 38*b4c3e9b5SBjoern A. Zeeb 39*b4c3e9b5SBjoern A. Zeeb s16 lcnphy_pa0b0; 40*b4c3e9b5SBjoern A. Zeeb s16 lcnphy_pa0b1; 41*b4c3e9b5SBjoern A. Zeeb s16 lcnphy_pa0b2; 42*b4c3e9b5SBjoern A. Zeeb 43*b4c3e9b5SBjoern A. Zeeb u16 lcnphy_rawtempsense; 44*b4c3e9b5SBjoern A. Zeeb u8 lcnphy_measPower; 45*b4c3e9b5SBjoern A. Zeeb u8 lcnphy_tempsense_slope; 46*b4c3e9b5SBjoern A. Zeeb u8 lcnphy_freqoffset_corr; 47*b4c3e9b5SBjoern A. Zeeb u8 lcnphy_tempsense_option; 48*b4c3e9b5SBjoern A. Zeeb u8 lcnphy_tempcorrx; 49*b4c3e9b5SBjoern A. Zeeb bool lcnphy_iqcal_swp_dis; 50*b4c3e9b5SBjoern A. Zeeb bool lcnphy_hw_iqcal_en; 51*b4c3e9b5SBjoern A. Zeeb uint lcnphy_bandedge_corr; 52*b4c3e9b5SBjoern A. Zeeb bool lcnphy_spurmod; 53*b4c3e9b5SBjoern A. Zeeb u16 lcnphy_tssi_tx_cnt; 54*b4c3e9b5SBjoern A. Zeeb u16 lcnphy_tssi_idx; 55*b4c3e9b5SBjoern A. Zeeb u16 lcnphy_tssi_npt; 56*b4c3e9b5SBjoern A. Zeeb 57*b4c3e9b5SBjoern A. Zeeb u16 lcnphy_target_tx_freq; 58*b4c3e9b5SBjoern A. Zeeb s8 lcnphy_tx_power_idx_override; 59*b4c3e9b5SBjoern A. Zeeb u16 lcnphy_noise_samples; 60*b4c3e9b5SBjoern A. Zeeb 61*b4c3e9b5SBjoern A. Zeeb u32 lcnphy_papdRxGnIdx; 62*b4c3e9b5SBjoern A. Zeeb u32 lcnphy_papd_rxGnCtrl_init; 63*b4c3e9b5SBjoern A. Zeeb 64*b4c3e9b5SBjoern A. Zeeb u32 lcnphy_gain_idx_14_lowword; 65*b4c3e9b5SBjoern A. Zeeb u32 lcnphy_gain_idx_14_hiword; 66*b4c3e9b5SBjoern A. Zeeb u32 lcnphy_gain_idx_27_lowword; 67*b4c3e9b5SBjoern A. Zeeb u32 lcnphy_gain_idx_27_hiword; 68*b4c3e9b5SBjoern A. Zeeb s16 lcnphy_ofdmgainidxtableoffset; 69*b4c3e9b5SBjoern A. Zeeb s16 lcnphy_dsssgainidxtableoffset; 70*b4c3e9b5SBjoern A. Zeeb u32 lcnphy_tr_R_gain_val; 71*b4c3e9b5SBjoern A. Zeeb u32 lcnphy_tr_T_gain_val; 72*b4c3e9b5SBjoern A. Zeeb s8 lcnphy_input_pwr_offset_db; 73*b4c3e9b5SBjoern A. Zeeb u16 lcnphy_Med_Low_Gain_db; 74*b4c3e9b5SBjoern A. Zeeb u16 lcnphy_Very_Low_Gain_db; 75*b4c3e9b5SBjoern A. Zeeb s8 lcnphy_lastsensed_temperature; 76*b4c3e9b5SBjoern A. Zeeb s8 lcnphy_pkteng_rssi_slope; 77*b4c3e9b5SBjoern A. Zeeb u8 lcnphy_saved_tx_user_target[TXP_NUM_RATES]; 78*b4c3e9b5SBjoern A. Zeeb u8 lcnphy_volt_winner; 79*b4c3e9b5SBjoern A. Zeeb u8 lcnphy_volt_low; 80*b4c3e9b5SBjoern A. Zeeb u8 lcnphy_54_48_36_24mbps_backoff; 81*b4c3e9b5SBjoern A. Zeeb u8 lcnphy_11n_backoff; 82*b4c3e9b5SBjoern A. Zeeb u8 lcnphy_lowerofdm; 83*b4c3e9b5SBjoern A. Zeeb u8 lcnphy_cck; 84*b4c3e9b5SBjoern A. Zeeb u8 lcnphy_psat_2pt3_detected; 85*b4c3e9b5SBjoern A. Zeeb s32 lcnphy_lowest_Re_div_Im; 86*b4c3e9b5SBjoern A. Zeeb s8 lcnphy_final_papd_cal_idx; 87*b4c3e9b5SBjoern A. Zeeb u16 lcnphy_extstxctrl4; 88*b4c3e9b5SBjoern A. Zeeb u16 lcnphy_extstxctrl0; 89*b4c3e9b5SBjoern A. Zeeb u16 lcnphy_extstxctrl1; 90*b4c3e9b5SBjoern A. Zeeb s16 lcnphy_cck_dig_filt_type; 91*b4c3e9b5SBjoern A. Zeeb s16 lcnphy_ofdm_dig_filt_type; 92*b4c3e9b5SBjoern A. Zeeb struct lcnphy_cal_results lcnphy_cal_results; 93*b4c3e9b5SBjoern A. Zeeb 94*b4c3e9b5SBjoern A. Zeeb u8 lcnphy_psat_pwr; 95*b4c3e9b5SBjoern A. Zeeb u8 lcnphy_psat_indx; 96*b4c3e9b5SBjoern A. Zeeb s32 lcnphy_min_phase; 97*b4c3e9b5SBjoern A. Zeeb u8 lcnphy_final_idx; 98*b4c3e9b5SBjoern A. Zeeb u8 lcnphy_start_idx; 99*b4c3e9b5SBjoern A. Zeeb u8 lcnphy_current_index; 100*b4c3e9b5SBjoern A. Zeeb u16 lcnphy_logen_buf_1; 101*b4c3e9b5SBjoern A. Zeeb u16 lcnphy_local_ovr_2; 102*b4c3e9b5SBjoern A. Zeeb u16 lcnphy_local_oval_6; 103*b4c3e9b5SBjoern A. Zeeb u16 lcnphy_local_oval_5; 104*b4c3e9b5SBjoern A. Zeeb u16 lcnphy_logen_mixer_1; 105*b4c3e9b5SBjoern A. Zeeb 106*b4c3e9b5SBjoern A. Zeeb u8 lcnphy_aci_stat; 107*b4c3e9b5SBjoern A. Zeeb uint lcnphy_aci_start_time; 108*b4c3e9b5SBjoern A. Zeeb s8 lcnphy_tx_power_offset[TXP_NUM_RATES]; 109*b4c3e9b5SBjoern A. Zeeb }; 110*b4c3e9b5SBjoern A. Zeeb #endif /* _BRCM_PHY_LCN_H_ */ 111