aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/wl12xx/wl1271_conf.h
diff options
context:
space:
mode:
authorJuuso Oikarinen <juuso.oikarinen@nokia.com>2009-10-13 05:47:43 -0400
committerJohn W. Linville <linville@tuxdriver.com>2009-10-27 16:48:08 -0400
commit47fab7d589d46d87a5dbfd7f2ddd53deccfad504 (patch)
tree7ef786fb166d86449605723e29dd52ab8338e8ab /drivers/net/wireless/wl12xx/wl1271_conf.h
parent51f2be24328957f9e2acf116b1b1d2dfd10bf41f (diff)
wl1271: Add config structure for FW init parameters
Add a configuration structure for RX path parameters, and set default configuration values there. Signed-off-by: Juuso Oikarinen <juuso.oikarinen@nokia.com> Reviewed-by: Luciano Coelho <luciano.coelho@nokia.com> Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/wl12xx/wl1271_conf.h')
-rw-r--r--drivers/net/wireless/wl12xx/wl1271_conf.h182
1 files changed, 182 insertions, 0 deletions
diff --git a/drivers/net/wireless/wl12xx/wl1271_conf.h b/drivers/net/wireless/wl12xx/wl1271_conf.h
index f08e509bd69f..5333a2731254 100644
--- a/drivers/net/wireless/wl12xx/wl1271_conf.h
+++ b/drivers/net/wireless/wl12xx/wl1271_conf.h
@@ -691,11 +691,193 @@ struct conf_conn_settings {
691 struct conf_sig_weights sig_weights; 691 struct conf_sig_weights sig_weights;
692}; 692};
693 693
694#define CONF_SR_ERR_TBL_MAX_VALUES 14
695
696struct conf_mart_reflex_err_table {
697 /*
698 * Length of the error table values table.
699 *
700 * Range: 0 - CONF_SR_ERR_TBL_MAX_VALUES
701 */
702 u8 len;
703
704 /*
705 * Smart Reflex error table upper limit.
706 *
707 * Range: s8
708 */
709 s8 upper_limit;
710
711 /*
712 * Smart Reflex error table values.
713 *
714 * Range: s8
715 */
716 s8 values[CONF_SR_ERR_TBL_MAX_VALUES];
717};
718
719enum {
720 CONF_REF_CLK_19_2_E,
721 CONF_REF_CLK_26_E,
722 CONF_REF_CLK_38_4_E,
723 CONF_REF_CLK_52_E
724};
725
726struct conf_general_parms {
727 /*
728 * RF Reference Clock type / speed
729 *
730 * Range: CONF_REF_CLK_*
731 */
732 u8 ref_clk;
733
734 /*
735 * Settling time of the reference clock after boot.
736 *
737 * Range: u8
738 */
739 u8 settling_time;
740
741 /*
742 * Flag defining whether clock is valid on wakeup.
743 *
744 * Range: 0 - not valid on wakeup, 1 - valid on wakeup
745 */
746 u8 clk_valid_on_wakeup;
747
748 /*
749 * DC-to-DC mode.
750 *
751 * Range: Unknown
752 */
753 u8 dc2dcmode;
754
755 /*
756 * Flag defining whether used as single or dual-band.
757 *
758 * Range: Unknown
759 */
760 u8 single_dual_band;
761
762 /*
763 * TX bip fem autodetect flag.
764 *
765 * Range: Unknown
766 */
767 u8 tx_bip_fem_autodetect;
768
769 /*
770 * TX bip gem manufacturer.
771 *
772 * Range: Unknown
773 */
774 u8 tx_bip_fem_manufacturer;
775
776 /*
777 * Settings flags.
778 *
779 * Range: Unknown
780 */
781 u8 settings;
782};
783
784#define CONF_RSSI_AND_PROCESS_COMPENSATION_SIZE 15
785#define CONF_NUMBER_OF_SUB_BANDS_5 7
786#define CONF_NUMBER_OF_RATE_GROUPS 6
787#define CONF_NUMBER_OF_CHANNELS_2_4 14
788#define CONF_NUMBER_OF_CHANNELS_5 35
789
790struct conf_radio_parms {
791 /*
792 * Static radio parameters for 2.4GHz
793 *
794 * Range: unknown
795 */
796 u8 rx_trace_loss;
797 u8 tx_trace_loss;
798 s8 rx_rssi_and_proc_compens[CONF_RSSI_AND_PROCESS_COMPENSATION_SIZE];
799
800 /*
801 * Static radio parameters for 5GHz
802 *
803 * Range: unknown
804 */
805 u8 rx_trace_loss_5[CONF_NUMBER_OF_SUB_BANDS_5];
806 u8 tx_trace_loss_5[CONF_NUMBER_OF_SUB_BANDS_5];
807 s8 rx_rssi_and_proc_compens_5[CONF_RSSI_AND_PROCESS_COMPENSATION_SIZE];
808
809 /*
810 * Dynamic radio parameters for 2.4GHz
811 *
812 * Range: unknown
813 */
814 s16 tx_ref_pd_voltage;
815 s8 tx_ref_power;
816 s8 tx_offset_db;
817
818 s8 tx_rate_limits_normal[CONF_NUMBER_OF_RATE_GROUPS];
819 s8 tx_rate_limits_degraded[CONF_NUMBER_OF_RATE_GROUPS];
820
821 s8 tx_channel_limits_11b[CONF_NUMBER_OF_CHANNELS_2_4];
822 s8 tx_channel_limits_ofdm[CONF_NUMBER_OF_CHANNELS_2_4];
823 s8 tx_pdv_rate_offsets[CONF_NUMBER_OF_RATE_GROUPS];
824
825 u8 tx_ibias[CONF_NUMBER_OF_RATE_GROUPS];
826 u8 rx_fem_insertion_loss;
827
828 /*
829 * Dynamic radio parameters for 5GHz
830 *
831 * Range: unknown
832 */
833 s16 tx_ref_pd_voltage_5[CONF_NUMBER_OF_SUB_BANDS_5];
834 s8 tx_ref_power_5[CONF_NUMBER_OF_SUB_BANDS_5];
835 s8 tx_offset_db_5[CONF_NUMBER_OF_SUB_BANDS_5];
836
837 s8 tx_rate_limits_normal_5[CONF_NUMBER_OF_RATE_GROUPS];
838 s8 tx_rate_limits_degraded_5[CONF_NUMBER_OF_RATE_GROUPS];
839
840 s8 tx_channel_limits_ofdm_5[CONF_NUMBER_OF_CHANNELS_5];
841 s8 tx_pdv_rate_offsets_5[CONF_NUMBER_OF_RATE_GROUPS];
842
843 /* FIXME: this is inconsistent with the types for 2.4GHz */
844 s8 tx_ibias_5[CONF_NUMBER_OF_RATE_GROUPS];
845 s8 rx_fem_insertion_loss_5[CONF_NUMBER_OF_SUB_BANDS_5];
846};
847
848#define CONF_SR_ERR_TBL_COUNT 3
849
850struct conf_init_settings {
851 /*
852 * Configure Smart Reflex error table values.
853 */
854 struct conf_mart_reflex_err_table sr_err_tbl[CONF_SR_ERR_TBL_COUNT];
855
856 /*
857 * Smart Reflex enable flag.
858 *
859 * Range: 1 - Smart Reflex enabled, 0 - Smart Reflex disabled
860 */
861 u8 sr_enable;
862
863 /*
864 * Configure general parameters.
865 */
866 struct conf_general_parms genparam;
867
868 /*
869 * Configure radio parameters.
870 */
871 struct conf_radio_parms radioparam;
872
873};
874
694struct conf_drv_settings { 875struct conf_drv_settings {
695 struct conf_sg_settings sg; 876 struct conf_sg_settings sg;
696 struct conf_rx_settings rx; 877 struct conf_rx_settings rx;
697 struct conf_tx_settings tx; 878 struct conf_tx_settings tx;
698 struct conf_conn_settings conn; 879 struct conf_conn_settings conn;
880 struct conf_init_settings init;
699}; 881};
700 882
701#endif 883#endif