[media] cx231xx: fix GPIOs for Pixelview SBTVD hybrid
authorMauro Carvalho Chehab <mchehab@osg.samsung.com>
Sun, 4 Sep 2016 13:06:39 +0000 (10:06 -0300)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Mon, 5 Sep 2016 18:26:32 +0000 (15:26 -0300)
This device uses GPIOs: 28 to switch between analog and
digital modes: on digital mode, it should be set to 1.

The code that sets it on analog mode is OK, but it misses
the logic that sets it on digital mode.

Cc: stable@vger.kernel.org
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
drivers/media/usb/cx231xx/cx231xx-cards.c
drivers/media/usb/cx231xx/cx231xx-core.c

index c63248a188239971f8670f8687d6bf328191b016..72c246bfaa1c1cb5b8bfa9de5cb23802ed701676 100644 (file)
@@ -486,7 +486,7 @@ struct cx231xx_board cx231xx_boards[] = {
                .output_mode = OUT_MODE_VIP11,
                .demod_xfer_mode = 0,
                .ctl_pin_status_mask = 0xFFFFFFC4,
-               .agc_analog_digital_select_gpio = 0x00, /* According with PV cxPolaris.inf file */
+               .agc_analog_digital_select_gpio = 0x1c,
                .tuner_sif_gpio = -1,
                .tuner_scl_gpio = -1,
                .tuner_sda_gpio = -1,
index 7e4319172e46edca431a2b6aa25749f5c032bf29..97730cb2f591d06e555acf3be23f64efa780c579 100644 (file)
@@ -712,6 +712,7 @@ int cx231xx_set_mode(struct cx231xx *dev, enum cx231xx_mode set_mode)
                        break;
                case CX231XX_BOARD_CNXT_RDE_253S:
                case CX231XX_BOARD_CNXT_RDU_253S:
+               case CX231XX_BOARD_PV_PLAYTV_USB_HYBRID:
                        errCode = cx231xx_set_agc_analog_digital_mux_select(dev, 1);
                        break;
                case CX231XX_BOARD_HAUPPAUGE_EXETER:
@@ -738,7 +739,7 @@ int cx231xx_set_mode(struct cx231xx *dev, enum cx231xx_mode set_mode)
                case CX231XX_BOARD_PV_PLAYTV_USB_HYBRID:
                case CX231XX_BOARD_HAUPPAUGE_USB2_FM_PAL:
                case CX231XX_BOARD_HAUPPAUGE_USB2_FM_NTSC:
-               errCode = cx231xx_set_agc_analog_digital_mux_select(dev, 0);
+                       errCode = cx231xx_set_agc_analog_digital_mux_select(dev, 0);
                        break;
                default:
                        break;