From f89a3f27f076a6c2b09a66f5e5b5730b91b40b1b Mon Sep 17 00:00:00 2001 From: Philip Colllier Date: Fri, 21 Jul 2017 04:21:19 +0000 Subject: [PATCH 1/2] Update tuner_r82xx.c Max VGA gain mod based on http://www.pabr.org/radio/leandvb-satmodem/leandvb-satmodem.en.html --- src/tuner_r82xx.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/tuner_r82xx.c b/src/tuner_r82xx.c index 269fb19..e4cbca0 100644 --- a/src/tuner_r82xx.c +++ b/src/tuner_r82xx.c @@ -1037,8 +1037,8 @@ int r82xx_set_gain(struct r82xx_priv *priv, int set_manual_gain, int gain) if (rc < 0) return rc; - /* set fixed VGA gain for now (16.3 dB) */ - rc = r82xx_write_reg_mask(priv, 0x0c, 0x08, 0x9f); + /* set max VGA gain */ + rc = r82xx_write_reg_mask(priv, 0x0c, 0x0f, 0x9f); if (rc < 0) return rc; @@ -1074,8 +1074,8 @@ int r82xx_set_gain(struct r82xx_priv *priv, int set_manual_gain, int gain) if (rc < 0) return rc; - /* set fixed VGA gain for now (26.5 dB) */ - rc = r82xx_write_reg_mask(priv, 0x0c, 0x0b, 0x9f); + /* set max VGA gain */ + rc = r82xx_write_reg_mask(priv, 0x0c, 0x0f, 0x9f); if (rc < 0) return rc; } From 80cd5a7a6961ab0826ce2b452e46d610a8ef9ad5 Mon Sep 17 00:00:00 2001 From: Philip Colllier Date: Sat, 30 Sep 2017 05:44:01 +0800 Subject: [PATCH 2/2] Improve the gain balance. Operate with less mixer gain and higher VGA gain for better weak signal performance in strong signal environments. --- src/tuner_r82xx.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/tuner_r82xx.c b/src/tuner_r82xx.c index e4cbca0..67ee0c8 100644 --- a/src/tuner_r82xx.c +++ b/src/tuner_r82xx.c @@ -1024,12 +1024,12 @@ int r82xx_set_gain(struct r82xx_priv *priv, int set_manual_gain, int gain) uint8_t data[4]; /* LNA auto off */ - rc = r82xx_write_reg_mask(priv, 0x05, 0x10, 0x10); + rc = r82xx_write_reg_mask(priv, 0x05, 0x04, 0x10); if (rc < 0) return rc; /* Mixer auto off */ - rc = r82xx_write_reg_mask(priv, 0x07, 0, 0x10); + rc = r82xx_write_reg_mask(priv, 0x07, 0x04, 0x10); if (rc < 0) return rc; @@ -1065,12 +1065,12 @@ int r82xx_set_gain(struct r82xx_priv *priv, int set_manual_gain, int gain) return rc; } else { /* LNA */ - rc = r82xx_write_reg_mask(priv, 0x05, 0, 0x10); + rc = r82xx_write_reg_mask(priv, 0x05, 0x04, 0x10); if (rc < 0) return rc; /* Mixer */ - rc = r82xx_write_reg_mask(priv, 0x07, 0x10, 0x10); + rc = r82xx_write_reg_mask(priv, 0x07, 0x04, 0x10); if (rc < 0) return rc;