diff options
author | Juuso Oikarinen <juuso.oikarinen@nokia.com> | 2009-10-13 05:47:43 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-10-27 16:48:08 -0400 |
commit | 47fab7d589d46d87a5dbfd7f2ddd53deccfad504 (patch) | |
tree | 7ef786fb166d86449605723e29dd52ab8338e8ab /drivers/net/wireless/wl12xx/wl1271_conf.h | |
parent | 51f2be24328957f9e2acf116b1b1d2dfd10bf41f (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.h | 182 |
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 | |||
696 | struct 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 | |||
719 | enum { | ||
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 | |||
726 | struct 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 | |||
790 | struct 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 | |||
850 | struct 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 | |||
694 | struct conf_drv_settings { | 875 | struct 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 |