Browse Source

V4L/DVB (12838): tm6000: Fix color support on tm6010

TM6010 uses some different registers for format support.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Mauro Carvalho Chehab 16 years ago
parent
commit
717ecd2b9a
1 changed files with 9 additions and 5 deletions
  1. 9 5
      drivers/staging/tm6000/tm6000-core.c

+ 9 - 5
drivers/staging/tm6000/tm6000-core.c

@@ -140,12 +140,16 @@ int tm6000_get_reg16 (struct tm6000_core *dev, u8 req, u16 value, u16 index)
 
 void tm6000_set_fourcc_format(struct tm6000_core *dev)
 {
-	if (dev->fourcc==V4L2_PIX_FMT_UYVY) {
-		/* Sets driver to UYUV */
-		tm6000_set_reg (dev, REQ_07_SET_GET_AVREG, 0xc1, 0xd0);
+	if (dev->dev_type == TM6010) {
+		if (dev->fourcc == V4L2_PIX_FMT_UYVY)
+			tm6000_set_reg (dev, REQ_07_SET_GET_AVREG, 0xc1, 0xfc);
+		else
+			tm6000_set_reg (dev, REQ_07_SET_GET_AVREG, 0xc1, 0xfd);
 	} else {
-		/* Sets driver to YUV2 */
-		tm6000_set_reg (dev, REQ_07_SET_GET_AVREG, 0xc1, 0x90);
+		if (dev->fourcc == V4L2_PIX_FMT_UYVY)
+			tm6000_set_reg (dev, REQ_07_SET_GET_AVREG, 0xc1, 0xd0);
+		else
+			tm6000_set_reg (dev, REQ_07_SET_GET_AVREG, 0xc1, 0x90);
 	}
 }