The patch number 11215 was added via Antti Palosaari <[email protected]>
to http://linuxtv.org/hg/v4l-dvb master development tree.
Kernel patches in this development tree may be modified to be backward
compatible with older kernels. Compatibility modifications will be
removed before inclusion into the mainstream Kernel
If anyone has any objections, please let us know by sending a message to:
Linux Media Mailing List <[email protected]>
------
From: Antti Palosaari <[email protected]>
zl10353: add support for Intel CE6230 and Intel CE6231
Add chip IDs and configuration registers needed for Intel CE6230 and
Intel CE6231.
Priority: normal
Signed-off-by: Antti Palosaari <[email protected]>
---
linux/drivers/media/dvb/frontends/zl10353.c | 8 +++++++-
linux/drivers/media/dvb/frontends/zl10353.h | 4 ++++
linux/drivers/media/dvb/frontends/zl10353_priv.h | 8 +++++++-
3 files changed, 18 insertions(+), 2 deletions(-)
diff -r 56cf0f1772f7 -r a577305679fa linux/drivers/media/dvb/frontends/zl10353.c
--- a/linux/drivers/media/dvb/frontends/zl10353.c Mon Mar 23 19:18:34
2009 -0300
+++ b/linux/drivers/media/dvb/frontends/zl10353.c Wed Mar 25 21:48:15
2009 +0200
@@ -581,6 +581,10 @@ static int zl10353_init(struct dvb_front
#endif
if (state->config.parallel_ts)
zl10353_reset_attach[2] &= ~0x20;
+ if (state->config.clock_ctl_1)
+ zl10353_reset_attach[3] = state->config.clock_ctl_1;
+ if (state->config.pll_0)
+ zl10353_reset_attach[4] = state->config.pll_0;
/* Do a "hard" reset if not already done */
if (zl10353_read_register(state, 0x50) != zl10353_reset_attach[1] ||
@@ -625,6 +629,7 @@ struct dvb_frontend *zl10353_attach(cons
struct i2c_adapter *i2c)
{
struct zl10353_state *state = NULL;
+ int id;
/* allocate memory for the internal state */
state = kzalloc(sizeof(struct zl10353_state), GFP_KERNEL);
@@ -636,7 +641,8 @@ struct dvb_frontend *zl10353_attach(cons
memcpy(&state->config, config, sizeof(struct zl10353_config));
/* check if the demod is there */
- if (zl10353_read_register(state, CHIP_ID) != ID_ZL10353)
+ id = zl10353_read_register(state, CHIP_ID);
+ if ((id != ID_ZL10353) && (id != ID_CE6230) && (id != ID_CE6231))
goto error;
/* create dvb_frontend */
diff -r 56cf0f1772f7 -r a577305679fa linux/drivers/media/dvb/frontends/zl10353.h
--- a/linux/drivers/media/dvb/frontends/zl10353.h Mon Mar 23 19:18:34
2009 -0300
+++ b/linux/drivers/media/dvb/frontends/zl10353.h Wed Mar 25 21:48:15
2009 +0200
@@ -41,6 +41,10 @@ struct zl10353_config
/* set if i2c_gate_ctrl disable is required */
u8 disable_i2c_gate_ctrl:1;
+
+ /* clock control registers (0x51-0x54) */
+ u8 clock_ctl_1; /* default: 0x46 */
+ u8 pll_0; /* default: 0x15 */
};
#if defined(CONFIG_DVB_ZL10353) || (defined(CONFIG_DVB_ZL10353_MODULE) &&
defined(MODULE))
diff -r 56cf0f1772f7 -r a577305679fa
linux/drivers/media/dvb/frontends/zl10353_priv.h
--- a/linux/drivers/media/dvb/frontends/zl10353_priv.h Mon Mar 23 19:18:34
2009 -0300
+++ b/linux/drivers/media/dvb/frontends/zl10353_priv.h Wed Mar 25 21:48:15
2009 +0200
@@ -22,7 +22,9 @@
#ifndef _ZL10353_PRIV_
#define _ZL10353_PRIV_
-#define ID_ZL10353 0x14
+#define ID_ZL10353 0x14 /* Zarlink ZL10353 */
+#define ID_CE6230 0x18 /* Intel CE6230 */
+#define ID_CE6231 0x19 /* Intel CE6231 */
#define msb(x) (((x) >> 8) & 0xff)
#define lsb(x) ((x) & 0xff)
@@ -50,6 +52,10 @@ enum zl10353_reg_addr {
TPS_RECEIVED_0 = 0x1E,
TPS_CURRENT_1 = 0x1F,
TPS_CURRENT_0 = 0x20,
+ CLOCK_CTL_0 = 0x51,
+ CLOCK_CTL_1 = 0x52,
+ PLL_0 = 0x53,
+ PLL_1 = 0x54,
RESET = 0x55,
AGC_TARGET = 0x56,
MCLK_RATIO = 0x5C,
---
Patch is available at:
http://linuxtv.org/hg/v4l-dvb/rev/a577305679faff01d89f99f245c2146d83ee0732
_______________________________________________
linuxtv-commits mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits