Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cf18be44 authored by Luciano Coelho's avatar Luciano Coelho Committed by John W. Linville
Browse files

wl1271: added radio parameters configuration values newer firmwares



Add new radio parameters for new structures based on firmware revision
6.1.0.0.288.

Signed-off-by: default avatarLuciano Coelho <luciano.coelho@nokia.com>
Reviewed-by: default avatarJuuso Oikarinen <juuso.oikarinen@nokia.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent a3e84847
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -273,6 +273,8 @@ int wl1271_cmd_radio_parms(struct wl1271 *wl)
	       CONF_NUMBER_OF_RATE_GROUPS);
	memcpy(radio_parms->tx_rate_limits_degraded, r->tx_rate_limits_degraded,
	       CONF_NUMBER_OF_RATE_GROUPS);
	memcpy(radio_parms->tx_rate_limits_extreme, r->tx_rate_limits_extreme,
	       CONF_NUMBER_OF_RATE_GROUPS);

	memcpy(radio_parms->tx_channel_limits_11b, r->tx_channel_limits_11b,
	       CONF_NUMBER_OF_CHANNELS_2_4);
@@ -283,6 +285,11 @@ int wl1271_cmd_radio_parms(struct wl1271 *wl)
	memcpy(radio_parms->tx_ibias, r->tx_ibias, CONF_NUMBER_OF_RATE_GROUPS);

	radio_parms->rx_fem_insertion_loss = r->rx_fem_insertion_loss;
	radio_parms->degraded_low_to_normal_threshold =
		r->degraded_low_to_normal_threshold;
	radio_parms->degraded_normal_to_high_threshold =
		r->degraded_normal_to_high_threshold;


	for (i = 0; i < CONF_NUMBER_OF_SUB_BANDS_5; i++)
		radio_parms->tx_ref_pd_voltage_5[i] =
@@ -295,6 +302,8 @@ int wl1271_cmd_radio_parms(struct wl1271 *wl)
	       r->tx_rate_limits_normal_5, CONF_NUMBER_OF_RATE_GROUPS);
	memcpy(radio_parms->tx_rate_limits_degraded_5,
	       r->tx_rate_limits_degraded_5, CONF_NUMBER_OF_RATE_GROUPS);
	memcpy(radio_parms->tx_rate_limits_extreme_5,
	       r->tx_rate_limits_extreme_5, CONF_NUMBER_OF_RATE_GROUPS);
	memcpy(radio_parms->tx_channel_limits_ofdm_5,
	       r->tx_channel_limits_ofdm_5, CONF_NUMBER_OF_CHANNELS_5);
	memcpy(radio_parms->tx_pdv_rate_offsets_5, r->tx_pdv_rate_offsets_5,
@@ -303,6 +312,10 @@ int wl1271_cmd_radio_parms(struct wl1271 *wl)
	       CONF_NUMBER_OF_RATE_GROUPS);
	memcpy(radio_parms->rx_fem_insertion_loss_5,
	       r->rx_fem_insertion_loss_5, CONF_NUMBER_OF_SUB_BANDS_5);
	radio_parms->degraded_low_to_normal_threshold_5 =
		r->degraded_low_to_normal_threshold_5;
	radio_parms->degraded_normal_to_high_threshold_5 =
		r->degraded_normal_to_high_threshold_5;

	wl1271_dump(DEBUG_CMD, "TEST_CMD_INI_FILE_RADIO_PARAM: ",
		    radio_parms, sizeof(*radio_parms));
+13 −4
Original line number Diff line number Diff line
@@ -864,12 +864,13 @@ struct conf_radio_parms {
	 *
	 * Range: unknown
	 */
	s16 tx_ref_pd_voltage;
	s8  tx_ref_power;
	u16 tx_ref_pd_voltage;
	u8  tx_ref_power;
	s8  tx_offset_db;

	s8  tx_rate_limits_normal[CONF_NUMBER_OF_RATE_GROUPS];
	s8  tx_rate_limits_degraded[CONF_NUMBER_OF_RATE_GROUPS];
	s8  tx_rate_limits_extreme[CONF_NUMBER_OF_RATE_GROUPS];

	s8  tx_channel_limits_11b[CONF_NUMBER_OF_CHANNELS_2_4];
	s8  tx_channel_limits_ofdm[CONF_NUMBER_OF_CHANNELS_2_4];
@@ -878,17 +879,22 @@ struct conf_radio_parms {
	u8  tx_ibias[CONF_NUMBER_OF_RATE_GROUPS];
	u8  rx_fem_insertion_loss;

	u8  degraded_low_to_normal_threshold;
	u8  degraded_normal_to_high_threshold;


	/*
	 * Dynamic radio parameters for 5GHz
	 *
	 * Range: unknown
	 */
	s16 tx_ref_pd_voltage_5[CONF_NUMBER_OF_SUB_BANDS_5];
	s8  tx_ref_power_5[CONF_NUMBER_OF_SUB_BANDS_5];
	u16 tx_ref_pd_voltage_5[CONF_NUMBER_OF_SUB_BANDS_5];
	u8  tx_ref_power_5[CONF_NUMBER_OF_SUB_BANDS_5];
	s8  tx_offset_db_5[CONF_NUMBER_OF_SUB_BANDS_5];

	s8  tx_rate_limits_normal_5[CONF_NUMBER_OF_RATE_GROUPS];
	s8  tx_rate_limits_degraded_5[CONF_NUMBER_OF_RATE_GROUPS];
	s8  tx_rate_limits_extreme_5[CONF_NUMBER_OF_RATE_GROUPS];

	s8  tx_channel_limits_ofdm_5[CONF_NUMBER_OF_CHANNELS_5];
	s8  tx_pdv_rate_offsets_5[CONF_NUMBER_OF_RATE_GROUPS];
@@ -896,6 +902,9 @@ struct conf_radio_parms {
	/* FIXME: this is inconsistent with the types for 2.4GHz */
	s8  tx_ibias_5[CONF_NUMBER_OF_RATE_GROUPS];
	s8  rx_fem_insertion_loss_5[CONF_NUMBER_OF_SUB_BANDS_5];

	u8  degraded_low_to_normal_threshold_5;
	u8  degraded_normal_to_high_threshold_5;
};

#define CONF_SR_ERR_TBL_COUNT        3
+9 −1
Original line number Diff line number Diff line
@@ -293,6 +293,8 @@ static struct conf_drv_settings default_conf = {
				0x1d, 0x1f, 0x24, 0x28, 0x28, 0x29 },
			.tx_rate_limits_degraded = {
				0x19, 0x1f, 0x22, 0x23, 0x27, 0x28 },
			.tx_rate_limits_extreme = {
				0x19, 0x1c, 0x1e, 0x20, 0x24, 0x25 },
			.tx_channel_limits_11b = {
				0x22, 0x50, 0x50, 0x50, 0x50, 0x50,
				0x50, 0x50, 0x50, 0x50, 0x22, 0x50,
@@ -306,6 +308,8 @@ static struct conf_drv_settings default_conf = {
			.tx_ibias            = {
				0x11, 0x11, 0x15, 0x11, 0x15, 0x0f },
			.rx_fem_insertion_loss = 0x0e,
			.degraded_low_to_normal_threshold = 0x1e,
			.degraded_normal_to_high_threshold = 0x2d,
			.tx_ref_pd_voltage_5 = {
				0x0190, 0x01a4, 0x01c3, 0x01d8,
				0x020a, 0x021c },
@@ -317,6 +321,8 @@ static struct conf_drv_settings default_conf = {
				0x1b, 0x1e, 0x21, 0x23, 0x27, 0x00 },
			.tx_rate_limits_degraded_5 = {
				0x1b, 0x1e, 0x21, 0x23, 0x27, 0x00 },
			.tx_rate_limits_extreme_5 = {
				0x1b, 0x1e, 0x21, 0x23, 0x27, 0x00 },
			.tx_channel_limits_ofdm_5 = {
				0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50,
				0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50,
@@ -328,7 +334,9 @@ static struct conf_drv_settings default_conf = {
			.tx_ibias_5          = {
				0x10, 0x10, 0x10, 0x10, 0x10, 0x10 },
			.rx_fem_insertion_loss_5 = {
				0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10 }
				0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10 },
			.degraded_low_to_normal_threshold_5 = 0x00,
			.degraded_normal_to_high_threshold_5 = 0x00
		}
	}
};