]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
[media] cx23885: add support for Mygica X8507
authorAlfredo Jesús Delaiti <alfredodelaiti@netscape.net>
Wed, 9 Nov 2011 18:13:00 +0000 (15:13 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Thu, 24 Nov 2011 17:51:39 +0000 (15:51 -0200)
This patch supports card Mygica X8507 (analog part)

This controller is a copy of driver card Mygica X8506

This patch depends on patch cx23885-alsa

To do: FM, ISDB-t, remote control, audio for composite1, S-Video and
video component.

Signed-off-by: Alfredo J. Delaiti <alfredodelaiti@netscape.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/cx23885/cx23885-cards.c
drivers/media/video/cx23885/cx23885-video.c
drivers/media/video/cx23885/cx23885.h

index c3cf08945e4cf853f2acb959b64ab7eaac8291f7..ac03c26d7a638231fb372981d94e485893cd0bf1 100644 (file)
@@ -438,6 +438,36 @@ struct cx23885_board cx23885_boards[] = {
                        .gpio0  = 0,
                } },
        },
+       [CX23885_BOARD_MYGICA_X8507] = {
+               .name           = "Mygica X8507",
+               .tuner_type = TUNER_XC5000,
+               .tuner_addr = 0x61,
+               .tuner_bus      = 1,
+               .porta          = CX23885_ANALOG_VIDEO,
+               .input          = {
+                       {
+                               .type   = CX23885_VMUX_TELEVISION,
+                               .vmux   = CX25840_COMPOSITE2,
+                               .amux   = CX25840_AUDIO8,
+                       },
+                       {
+                               .type   = CX23885_VMUX_COMPOSITE1,
+                               .vmux   = CX25840_COMPOSITE8,
+                       },
+                       {
+                               .type   = CX23885_VMUX_SVIDEO,
+                               .vmux   = CX25840_SVIDEO_LUMA3 |
+                                               CX25840_SVIDEO_CHROMA4,
+                       },
+                       {
+                               .type   = CX23885_VMUX_COMPONENT,
+                               .vmux   = CX25840_COMPONENT_ON |
+                                       CX25840_VIN1_CH1 |
+                                       CX25840_VIN6_CH2 |
+                                       CX25840_VIN7_CH3,
+                       },
+               },
+       }
 };
 const unsigned int cx23885_bcount = ARRAY_SIZE(cx23885_boards);
 
@@ -637,6 +667,10 @@ struct cx23885_subid cx23885_subids[] = {
                .subvendor = 0x1b55,
                .subdevice = 0xe2e4,
                .card      = CX23885_BOARD_NETUP_DUAL_DVB_T_C_CI_RF,
+       }, {
+               .subvendor = 0x14f1,
+               .subdevice = 0x8502,
+               .card      = CX23885_BOARD_MYGICA_X8507,
        },
 };
 const unsigned int cx23885_idcount = ARRAY_SIZE(cx23885_subids);
@@ -1068,6 +1102,7 @@ void cx23885_gpio_setup(struct cx23885_dev *dev)
                break;
        case CX23885_BOARD_MYGICA_X8506:
        case CX23885_BOARD_MAGICPRO_PROHDTVE2:
+       case CX23885_BOARD_MYGICA_X8507:
                /* GPIO-0 (0)Analog / (1)Digital TV */
                /* GPIO-1 reset XC5000 */
                /* GPIO-2 reset LGS8GL5 / LGS8G75 */
@@ -1468,6 +1503,7 @@ void cx23885_card_setup(struct cx23885_dev *dev)
        case CX23885_BOARD_GOTVIEW_X5_3D_HYBRID:
        case CX23885_BOARD_HAUPPAUGE_HVR1500:
        case CX23885_BOARD_MPX885:
+       case CX23885_BOARD_MYGICA_X8507:
                dev->sd_cx25840 = v4l2_i2c_new_subdev(&dev->v4l2_dev,
                                &dev->i2c_bus[2].i2c_adap,
                                "cx25840", 0x88 >> 1, NULL);
index e730b92630161b58b5d4c8278e48d394910b95b3..7415524e877761bff533aeac74ce6363bd391ee4 100644 (file)
@@ -492,7 +492,8 @@ static int cx23885_video_mux(struct cx23885_dev *dev, unsigned int input)
        dev->input = input;
 
        if (dev->board == CX23885_BOARD_MYGICA_X8506 ||
-               dev->board == CX23885_BOARD_MAGICPRO_PROHDTVE2) {
+               dev->board == CX23885_BOARD_MAGICPRO_PROHDTVE2 ||
+               dev->board == CX23885_BOARD_MYGICA_X8507) {
                /* Select Analog TV */
                if (INPUT(input)->type == CX23885_VMUX_TELEVISION)
                        cx23885_gpio_clear(dev, GPIO_0);
index b49036fe3ffdc52fcea1bf946a423594e4a5f242..519f40d2af5d9848168c87546d4c4b62aa8dae67 100644 (file)
@@ -87,6 +87,7 @@
 #define CX23885_BOARD_NETUP_DUAL_DVB_T_C_CI_RF 30
 #define CX23885_BOARD_LEADTEK_WINFAST_PXDVR3200_H_XC4000 31
 #define CX23885_BOARD_MPX885                   32
+#define CX23885_BOARD_MYGICA_X8507             33
 
 #define GPIO_0 0x00000001
 #define GPIO_1 0x00000002