diff options
author | Gerd Knorr <devnull@localhost> | 2004-10-12 17:08:43 +0000 |
---|---|---|
committer | Gerd Knorr <devnull@localhost> | 2004-10-12 17:08:43 +0000 |
commit | c391a6857f19bd7eb8b9a40dc238242c34332f7a (patch) | |
tree | b84fc0af4ce4c4c1a9b23d028293707fa0b49348 | |
parent | 6242986c96a52e683e5d44333fceb360ca83d669 (diff) | |
download | mediapointer-dvb-s2-c391a6857f19bd7eb8b9a40dc238242c34332f7a.tar.gz mediapointer-dvb-s2-c391a6857f19bd7eb8b9a40dc238242c34332f7a.tar.bz2 |
- saa7134: card list updates.
- some v4l2 mpeg ioctl tweaks.
-rw-r--r-- | linux/drivers/media/video/saa7134/saa7134-cards.c | 83 | ||||
-rw-r--r-- | linux/drivers/media/video/saa7134/saa7134-core.c | 5 | ||||
-rw-r--r-- | linux/drivers/media/video/saa7134/saa7134.h | 7 | ||||
-rw-r--r-- | linux/include/linux/videodev2.h | 19 | ||||
-rw-r--r-- | v4l/.bp/2.6/34_cx22702 | 2 | ||||
-rw-r--r-- | v4l/scripts/update | 10 |
6 files changed, 110 insertions, 16 deletions
diff --git a/linux/drivers/media/video/saa7134/saa7134-cards.c b/linux/drivers/media/video/saa7134/saa7134-cards.c index e530e1f81..b68ef8236 100644 --- a/linux/drivers/media/video/saa7134/saa7134-cards.c +++ b/linux/drivers/media/video/saa7134/saa7134-cards.c @@ -1,5 +1,5 @@ /* - * $Id: saa7134-cards.c,v 1.27 2004/09/30 14:17:12 kraxel Exp $ + * $Id: saa7134-cards.c,v 1.28 2004/10/12 17:08:43 kraxel Exp $ * * device driver for philips saa7134 based TV cards * card-specific stuff. @@ -1154,6 +1154,60 @@ struct saa7134_board saa7134_boards[] = { .amux = LINE2, }, }, + [SAA7134_BOARD_ZOLID_XPERT_TV7134] = { + /* Helge Jensen <helge.jensen@slog.dk> */ + .name = ":Zolid Xpert TV7134", + .audio_clock = 0x00187de7, + .tuner_type = TUNER_PHILIPS_NTSC, + .inputs = {{ + .name = name_svideo, + .vmux = 8, + .amux = LINE1, + },{ + .name = name_comp1, + .vmux = 3, + .amux = LINE1, + },{ + .name = name_tv, + .vmux = 1, + .amux = LINE2, + .tv = 1, + }}, + }, + [SAA7134_EMPIRE_PCI_TV_RADIO_LE] = { + /* "Matteo Az" <matte.az@nospam.libero.it> ;-) */ + .name = "Empire PCI TV-Radio LE", + .audio_clock = 0x00187de7, + .tuner_type = TUNER_PHILIPS_PAL, + .gpiomask = 0x4000, + .inputs = {{ + .name = name_tv_mono, + .vmux = 1, + .amux = LINE2, + .gpio = 0x8000, + .tv = 1, + },{ + .name = name_comp1, + .vmux = 3, + .amux = LINE1, + .gpio = 0x8000, + },{ + .name = name_svideo, + .vmux = 6, + .amux = LINE1, + .gpio = 0x8000, + }}, + .radio = { + .name = name_radio, + .amux = LINE1, + .gpio = 0x8000, + }, + .mute = { + .name = name_mute, + .amux = TV, + .gpio =0x8000, + } + }, }; const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards); @@ -1470,7 +1524,7 @@ static void board_flyvideo(struct saa7134_dev *dev) /* ----------------------------------------------------------- */ -int saa7134_board_init(struct saa7134_dev *dev) +int saa7134_board_init1(struct saa7134_dev *dev) { // Always print gpio, often manufacturers encode tuner type and other info. saa_writel(SAA7134_GPIO_GPMODE0 >> 2, 0); @@ -1505,6 +1559,31 @@ int saa7134_board_init(struct saa7134_dev *dev) return 0; } +/* stuff which needs working i2c */ +int saa7134_board_init2(struct saa7134_dev *dev) +{ + unsigned char buf; + int board; + + switch (dev->board) { + case SAA7134_BOARD_BMK_MPEX_NOTUNER: + case SAA7134_BOARD_BMK_MPEX_TUNER: + dev->i2c_client.addr = 0x60; + board = (i2c_master_recv(&dev->i2c_client,&buf,0) < 0) + ? SAA7134_BOARD_BMK_MPEX_NOTUNER + : SAA7134_BOARD_BMK_MPEX_TUNER; + if (board == dev->board) + break; + printk("%s: board type fixup: %s\n", dev->name, + saa7134_boards[dev->board].name); + dev->tuner_type = saa7134_boards[dev->board].tuner_type; + if (TUNER_ABSENT != dev->tuner_type) + saa7134_i2c_call_clients(dev,TUNER_SET_TYPE,&dev->tuner_type); + break; + } + return 0; +} + /* ----------------------------------------------------------- */ /* * Local variables: diff --git a/linux/drivers/media/video/saa7134/saa7134-core.c b/linux/drivers/media/video/saa7134/saa7134-core.c index d9a3b0195..4aa0a441c 100644 --- a/linux/drivers/media/video/saa7134/saa7134-core.c +++ b/linux/drivers/media/video/saa7134/saa7134-core.c @@ -1,5 +1,5 @@ /* - * $Id: saa7134-core.c,v 1.10 2004/09/15 16:15:24 kraxel Exp $ + * $Id: saa7134-core.c,v 1.11 2004/10/12 17:08:43 kraxel Exp $ * * device driver for philips saa7134 based TV cards * driver core @@ -902,7 +902,7 @@ static int __devinit saa7134_initdev(struct pci_dev *pci_dev, } /* initialize hardware #1 */ - saa7134_board_init(dev); + saa7134_board_init1(dev); saa7134_hwinit1(dev); /* get irq */ @@ -919,6 +919,7 @@ static int __devinit saa7134_initdev(struct pci_dev *pci_dev, saa7134_i2c_register(dev); /* initialize hardware #2 */ + saa7134_board_init2(dev); saa7134_hwinit2(dev); /* load i2c helpers */ diff --git a/linux/drivers/media/video/saa7134/saa7134.h b/linux/drivers/media/video/saa7134/saa7134.h index d6bf37a1a..89c0813c4 100644 --- a/linux/drivers/media/video/saa7134/saa7134.h +++ b/linux/drivers/media/video/saa7134/saa7134.h @@ -1,5 +1,5 @@ /* - * $Id: saa7134.h,v 1.20 2004/09/30 12:21:15 kraxel Exp $ + * $Id: saa7134.h,v 1.21 2004/10/12 17:08:43 kraxel Exp $ * * v4l2 device driver for philips saa7134 based TV cards * @@ -182,6 +182,8 @@ struct saa7134_format { #define SAA7134_BOARD_VIDEOMATE_TV_PVR 40 #define SAA7134_BOARD_VIDEOMATE_TV_GOLD_PLUS 41 #define SAA7134_BOARD_SABRENT_SBTTVFM 42 +#define SAA7134_BOARD_ZOLID_XPERT_TV7134 43 +#define SAA7134_EMPIRE_PCI_TV_RADIO_LE 44 #define SAA7134_INPUT_MAX 8 @@ -497,7 +499,8 @@ extern struct saa7134_board saa7134_boards[]; extern const unsigned int saa7134_bcount; extern struct pci_device_id __devinitdata saa7134_pci_tbl[]; -extern int saa7134_board_init(struct saa7134_dev *dev); +extern int saa7134_board_init1(struct saa7134_dev *dev); +extern int saa7134_board_init2(struct saa7134_dev *dev); /* ----------------------------------------------------------- */ diff --git a/linux/include/linux/videodev2.h b/linux/include/linux/videodev2.h index bc3e89deb..75d838922 100644 --- a/linux/include/linux/videodev2.h +++ b/linux/include/linux/videodev2.h @@ -276,6 +276,7 @@ struct v4l2_timecode enum v4l2_bitrate_mode { + V4L2_BITRATE_NONE, /* not specified */ V4L2_BITRATE_CBR, /* constant bitrate */ V4L2_BITRATE_VBR, /* variable bitrate */ }; @@ -290,6 +291,7 @@ enum v4l2_mpeg_streamtype { V4L2_MPEG_SS_1, /* MPEG-1 system stream */ V4L2_MPEG_PS_2, /* MPEG-2 program stream */ V4L2_MPEG_TS_2, /* MPEG-2 transport stream */ + V4L2_MPEG_PS_DVD, /* MPEG-2 program stream with DVD header fixups */ }; enum v4l2_mpeg_audiotype { V4L2_MPEG_AU_2_I, /* MPEG-2 layer 1 */ @@ -306,6 +308,7 @@ enum v4l2_mpeg_videotype { struct v4l2_mpeg_compression { /* general */ enum v4l2_mpeg_streamtype st_type; + struct v4l2_bitrate st_bitrate; /* transport streams */ u16 ts_pid_pmt; @@ -315,12 +318,14 @@ struct v4l2_mpeg_compression { /* program stream */ u16 ps_size; - u16 reserved1; /* placed here for alignment */ + u16 reserved_1; /* align */ /* audio */ enum v4l2_mpeg_audiotype au_type; struct v4l2_bitrate au_bitrate; u32 au_sample_rate; + u8 au_pesid; + u8 reserved_2[3]; /* align */ /* video */ enum v4l2_mpeg_videotype vi_type; @@ -328,12 +333,16 @@ struct v4l2_mpeg_compression { u32 vi_frame_rate; u16 vi_frames_per_gop; u16 vi_bframes_count; - int closed_gops:1; - int pulldown:1; - int reserved2:30; + u8 vi_pesid; + u8 reserved_3[3]; /* align */ + + /* misc flags */ + u32 closed_gops:1; + u32 pulldown:1; + u32 reserved_4:30; /* align */ /* I don't expect the above being perfect yet ;) */ - u32 reserved3[8]; + u32 reserved_5[8]; }; #endif diff --git a/v4l/.bp/2.6/34_cx22702 b/v4l/.bp/2.6/34_cx22702 new file mode 100644 index 000000000..d24cc6d61 --- /dev/null +++ b/v4l/.bp/2.6/34_cx22702 @@ -0,0 +1,2 @@ +srcdiff cx22702.h drivers/media/dvb/frontends/cx22702.h +srcdiff cx22702.c drivers/media/dvb/frontends/cx22702.c diff --git a/v4l/scripts/update b/v4l/scripts/update index f1504b9dd..920cdbd48 100644 --- a/v4l/scripts/update +++ b/v4l/scripts/update @@ -60,8 +60,8 @@ v4l2basic #xinsmod video-buf debug=2 xinsmod btcx-risc debug=0 xinsmod ir-common debug=0 repeat=0 -xinsmod tuner debug=1 -xinsmod tda9887 debug=1 +xinsmod tuner debug=0 +xinsmod tda9887 debug=0 xinsmod msp3400 debug=0 # bttv @@ -71,8 +71,8 @@ test -f ir-kbd-i2c.ko && xinsmod ir-kbd-i2c debug=0 test -f ir-kbd-gpio.ko && xinsmod ir-kbd-gpio debug=0 # cx88 -xinsmod cx22702 debug=1 -xinsmod cx88xx core_debug=1 audio_debug=0 i2c_debug=1 i2c_scan=1 +xinsmod cx22702 debug=0 +xinsmod cx88xx core_debug=0 audio_debug=0 i2c_debug=1 i2c_scan=1 xinsmod cx8800 video_debug=0 vbi_debug=0 xinsmod cx8801 xinsmod cx8802 @@ -80,4 +80,4 @@ xinsmod cx88-blackbird xinsmod cx88-dvb # saa7134 -xinsmod saa7134 audio_debug=1 i2c_scan=1 $saopt +xinsmod saa7134 audio_debug=0 i2c_scan=1 $saopt |