These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / drivers / media / tuners / fc2580_priv.h
index 646c994..031a43d 100644 (file)
@@ -22,6 +22,9 @@
 #define FC2580_PRIV_H
 
 #include "fc2580.h"
+#include <media/v4l2-ctrls.h>
+#include <media/v4l2-subdev.h>
+#include <linux/regmap.h>
 #include <linux/math64.h>
 
 struct fc2580_reg_val {
@@ -50,7 +53,7 @@ static const struct fc2580_reg_val fc2580_init_reg_vals[] = {
 
 struct fc2580_pll {
        u32 freq;
-       u8 div;
+       u8 div_out;
        u8 band;
 };
 
@@ -63,16 +66,15 @@ static const struct fc2580_pll fc2580_pll_lut[] = {
 
 struct fc2580_if_filter {
        u32 freq;
-       u16 mul;
        u8 r36_val;
        u8 r39_val;
 };
 
 static const struct fc2580_if_filter fc2580_if_filter_lut[] = {
-       {   6000000, 4400, 0x18, 0x00},
-       {   7000000, 3910, 0x18, 0x80},
-       {   8000000, 3300, 0x18, 0x80},
-       {0xffffffff, 3300, 0x18, 0x80},
+       {   6000000, 0x18, 0x00},
+       {   7000000, 0x18, 0x80},
+       {   8000000, 0x18, 0x80},
+       {0xffffffff, 0x18, 0x80},
 };
 
 struct fc2580_freq_regs {
@@ -110,15 +112,15 @@ static const struct fc2580_freq_regs fc2580_freq_regs_lut[] = {
                0x50, 0x0f, 0x07, 0x00, 0x15, 0x03, 0x05, 0x10, 0x12, 0x08,
                0x0a, 0x78, 0x32, 0x54},
        { 538000000,
-               0xf0, 0x77, 0x53, 0x60, 0xff, 0xff, 0xff, 0x09, 0xff, 0x8c,
+               0xf0, 0x77, 0x53, 0x60, 0xff, 0xff, 0x9f, 0x09, 0xff, 0x8c,
                0x50, 0x13, 0x07, 0x06, 0x15, 0x06, 0x08, 0x10, 0x12, 0x0b,
                0x0c, 0x78, 0x32, 0x14},
        { 794000000,
-               0xf0, 0x77, 0x53, 0x60, 0xff, 0xff, 0xff, 0x09, 0xff, 0x8c,
+               0xf0, 0x77, 0x53, 0x60, 0xff, 0xff, 0x9f, 0x09, 0xff, 0x8c,
                0x50, 0x15, 0x03, 0x03, 0x15, 0x03, 0x05, 0x0c, 0x0e, 0x0b,
                0x0c, 0x78, 0x32, 0x14},
        {1000000000,
-               0xf0, 0x77, 0x53, 0x60, 0xff, 0xff, 0xff, 0x09, 0xff, 0x8c,
+               0xf0, 0x77, 0x53, 0x60, 0xff, 0xff, 0x8f, 0x09, 0xff, 0x8c,
                0x50, 0x15, 0x07, 0x06, 0x15, 0x07, 0x09, 0x10, 0x12, 0x0b,
                0x0c, 0x78, 0x32, 0x14},
        {0xffffffff,
@@ -127,9 +129,19 @@ static const struct fc2580_freq_regs fc2580_freq_regs_lut[] = {
                0x0a, 0xa0, 0x50, 0x14},
 };
 
-struct fc2580_priv {
-       const struct fc2580_config *cfg;
-       struct i2c_adapter *i2c;
+struct fc2580_dev {
+       u32 clk;
+       struct i2c_client *client;
+       struct regmap *regmap;
+       struct v4l2_subdev subdev;
+       bool active;
+       unsigned int f_frequency;
+       unsigned int f_bandwidth;
+
+       /* Controls */
+       struct v4l2_ctrl_handler hdl;
+       struct v4l2_ctrl *bandwidth_auto;
+       struct v4l2_ctrl *bandwidth;
 };
 
 #endif