diff mbox

cx88: fix TBS 8920 card support.

Message ID 200908091630.20844.liplianin@me.by (mailing list archive)
State Accepted
Headers show

Commit Message

Igor M. Liplianin Aug. 9, 2009, 1:30 p.m. UTC
It does matter to set explicitly gpio0 value in cx88_board structure for TBS 8920 card.
diff mbox

Patch

# HG changeset patch
# User Igor M. Liplianin <liplianin@me.by>
# Date 1248905908 -10800
# Node ID d2dee95e2da26a145cca2d081be86793cc9b07ea
# Parent  ee6cf88cb5d3faf861289fce0ef0385846adcc7c
cx88: fix TBS 8920 card support

From: Igor M. Liplianin <liplianin@me.by>

It does matter to set explicitly gpio0 value in
cx88_board structure for TBS 8920 card.

Signed-off-by: Igor M. Liplianin <liplianin@me.by>

diff -r ee6cf88cb5d3 -r d2dee95e2da2 linux/drivers/media/video/cx88/cx88-cards.c
--- a/linux/drivers/media/video/cx88/cx88-cards.c	Wed Jul 29 01:42:02 2009 -0300
+++ b/linux/drivers/media/video/cx88/cx88-cards.c	Thu Jul 30 01:18:28 2009 +0300
@@ -1941,7 +1941,8 @@ 
 		.radio_addr     = ADDR_UNSET,
 		.input          = {{
 			.type   = CX88_VMUX_DVB,
-			.vmux   = 1,
+			.vmux   = 0,
+			.gpio0  = 0x8080,
 		} },
 		.mpeg           = CX88_MPEG_DVB,
 	},
@@ -3187,7 +3188,11 @@ 
 	case  CX88_BOARD_PROF_6200:
 	case  CX88_BOARD_PROF_7300:
 	case  CX88_BOARD_SATTRADE_ST4200:
+		cx_write(MO_GP0_IO, 0x8000);
+		msleep(100);
 		cx_write(MO_SRST_IO, 0);
+		msleep(10);
+		cx_write(MO_GP0_IO, 0x8080);
 		msleep(100);
 		cx_write(MO_SRST_IO, 1);
 		msleep(100);
diff -r ee6cf88cb5d3 -r d2dee95e2da2 linux/drivers/media/video/cx88/cx88-dvb.c
--- a/linux/drivers/media/video/cx88/cx88-dvb.c	Wed Jul 29 01:42:02 2009 -0300
+++ b/linux/drivers/media/video/cx88/cx88-dvb.c	Thu Jul 30 01:18:28 2009 +0300
@@ -425,17 +425,16 @@ 
 	struct cx8802_dev *dev= fe->dvb->priv;
 	struct cx88_core *core = dev->core;
 
+	cx_set(MO_GP0_IO, 0x6040);
 	switch (voltage) {
 		case SEC_VOLTAGE_13:
-			printk("LNB Voltage SEC_VOLTAGE_13\n");
-			cx_write(MO_GP0_IO, 0x00006040);
+			cx_clear(MO_GP0_IO, 0x20);
 			break;
 		case SEC_VOLTAGE_18:
-			printk("LNB Voltage SEC_VOLTAGE_18\n");
-			cx_write(MO_GP0_IO, 0x00006060);
+			cx_set(MO_GP0_IO, 0x20);
 			break;
 		case SEC_VOLTAGE_OFF:
-			printk("LNB Voltage SEC_VOLTAGE_off\n");
+			cx_clear(MO_GP0_IO, 0x20);
 			break;
 	}