mirror of
https://github.com/linux-msm/laptops-kernel.git
synced 2026-08-13 14:19:53 -07:00
media: m88ds3103: Implement 3103c chip support
Hauppauge 416e products have moved to using the 3103C satellite demod. This demod behaves mostly like a 3103b, but has different initialization, clocking, and lock operations. This Linux code was reverse egineered entirely using a Windows reference driver. Signed-off-by: Bradford Love <brad@nextdimension.cc> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org> [hverkuil: fix a few minor checkpatch issues] [hverkuil: fixed two minor sparse issues]
This commit is contained in:
committed by
Hans Verkuil
parent
1de7981b2c
commit
a05d61fe0a
File diff suppressed because it is too large
Load Diff
@@ -17,15 +17,18 @@
|
||||
#include <linux/math64.h>
|
||||
|
||||
#define M88DS3103B_FIRMWARE "dvb-demod-m88ds3103b.fw"
|
||||
#define M88DS3103C_FIRMWARE "dvb-demod-m88ds3103c.fw"
|
||||
#define M88DS3103_FIRMWARE "dvb-demod-m88ds3103.fw"
|
||||
#define M88RS6000_FIRMWARE "dvb-demod-m88rs6000.fw"
|
||||
|
||||
#define M88RS6000_CHIP_ID 0x74
|
||||
#define M88DS3103_CHIP_ID 0x70
|
||||
#define M88DS3103_CHIP_ID 0x70
|
||||
#define M88RS6000_CHIP_ID 0x74
|
||||
#define M88DS3103C_CHIP_ID 0x71
|
||||
|
||||
#define M88DS3103_CHIPTYPE_3103 0
|
||||
#define M88DS3103_CHIPTYPE_RS6000 1
|
||||
#define M88DS3103_CHIPTYPE_3103B 2
|
||||
#define M88DS3103_CHIPTYPE_3103C 3
|
||||
|
||||
struct m88ds3103_dev {
|
||||
struct i2c_client *client;
|
||||
@@ -399,4 +402,43 @@ static const struct m88ds3103_reg_val m88rs6000_dvbs2_init_reg_vals[] = {
|
||||
{0xb8, 0x00},
|
||||
{0x29, 0x01},
|
||||
};
|
||||
|
||||
static const struct m88ds3103_reg_val m88ds3103c_dvbs_init_reg_vals[] = {
|
||||
{0x04, 0x10},
|
||||
{0x8a, 0x01},
|
||||
{0x16, 0xa7},
|
||||
{0x30, 0x08},
|
||||
{0x32, 0x32},
|
||||
{0x33, 0x35},
|
||||
{0x35, 0xff},
|
||||
{0x4a, 0x80},
|
||||
{0x4d, 0x93},
|
||||
{0xae, 0x09},
|
||||
{0x22, 0x01},
|
||||
{0x23, 0x00},
|
||||
{0x24, 0x00},
|
||||
{0x27, 0x07},
|
||||
{0x9c, 0x31},
|
||||
{0x9d, 0xc1},
|
||||
{0xcb, 0xf4},
|
||||
{0xca, 0x00},
|
||||
{0x7f, 0x04},
|
||||
{0x78, 0x0c},
|
||||
{0x85, 0x08},
|
||||
{0x08, 0x47},
|
||||
{0xf0, 0x03},
|
||||
{0xfa, 0x01},
|
||||
{0xf2, 0x00},
|
||||
{0xfa, 0x00},
|
||||
{0xe6, 0x00},
|
||||
{0xe7, 0xf3},
|
||||
{0x08, 0x43},
|
||||
{0xe0, 0xf8},
|
||||
{0x00, 0x00},
|
||||
{0xbd, 0x82},
|
||||
{0x80, 0xa8},
|
||||
{0x81, 0xea},
|
||||
{0xbe, 0xa1}
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user