diff options
author | Nico Sabbi <nsabbi@tiscali.it> | 2006-03-03 10:11:28 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2006-03-03 10:11:28 -0500 |
commit | 420f32fe4e3eed466a6563e15a89f4688134cc98 (patch) | |
tree | 5d37d8b7de1582d82c3dc6f39e59e6135750f633 /drivers/media | |
parent | df8cf70683ba3109756e20c50e0fefe24736564f (diff) |
V4L/DVB (3396): Add DVB-T support for the LifeView DVB Trio PCI card
This patch adds DVB-T support, no DVB-S yet
Signed-off-by: Nico Sabbi <nsabbi@tiscali.it>
Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media')
-rw-r--r-- | drivers/media/video/saa7134/saa7134-cards.c | 2 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-dvb.c | 37 |
2 files changed, 39 insertions, 0 deletions
diff --git a/drivers/media/video/saa7134/saa7134-cards.c b/drivers/media/video/saa7134/saa7134-cards.c index 722ebff0f889..288d1f8841be 100644 --- a/drivers/media/video/saa7134/saa7134-cards.c +++ b/drivers/media/video/saa7134/saa7134-cards.c | |||
@@ -2624,6 +2624,7 @@ struct saa7134_board saa7134_boards[] = { | |||
2624 | .tuner_addr = ADDR_UNSET, | 2624 | .tuner_addr = ADDR_UNSET, |
2625 | .radio_addr = ADDR_UNSET, | 2625 | .radio_addr = ADDR_UNSET, |
2626 | .gpiomask = 0x00200000, | 2626 | .gpiomask = 0x00200000, |
2627 | .mpeg = SAA7134_MPEG_DVB, /* FIXME: DVB not implemented yet */ | ||
2627 | .inputs = {{ | 2628 | .inputs = {{ |
2628 | .name = name_tv, /* Analog broadcast/cable TV */ | 2629 | .name = name_tv, /* Analog broadcast/cable TV */ |
2629 | .vmux = 1, | 2630 | .vmux = 1, |
@@ -3547,6 +3548,7 @@ int saa7134_board_init2(struct saa7134_dev *dev) | |||
3547 | i2c_transfer(&dev->i2c_adap, &msg, 1); | 3548 | i2c_transfer(&dev->i2c_adap, &msg, 1); |
3548 | } | 3549 | } |
3549 | break; | 3550 | break; |
3551 | case SAA7134_BOARD_FLYDVB_TRIO: | ||
3550 | case SAA7134_BOARD_ADS_DUO_CARDBUS_PTV331: | 3552 | case SAA7134_BOARD_ADS_DUO_CARDBUS_PTV331: |
3551 | /* make the tda10046 find its eeprom */ | 3553 | /* make the tda10046 find its eeprom */ |
3552 | { | 3554 | { |
diff --git a/drivers/media/video/saa7134/saa7134-dvb.c b/drivers/media/video/saa7134/saa7134-dvb.c index 5969481ed4fb..ad34eb5b17cb 100644 --- a/drivers/media/video/saa7134/saa7134-dvb.c +++ b/drivers/media/video/saa7134/saa7134-dvb.c | |||
@@ -852,6 +852,39 @@ static struct tda1004x_config philips_tiger_config = { | |||
852 | 852 | ||
853 | /* ------------------------------------------------------------------ */ | 853 | /* ------------------------------------------------------------------ */ |
854 | 854 | ||
855 | static int lifeview_trio_pll_set(struct dvb_frontend *fe, struct dvb_frontend_parameters *params) | ||
856 | { | ||
857 | int ret; | ||
858 | |||
859 | ret = philips_tda827xa_pll_set(0x60, fe, params); | ||
860 | return ret; | ||
861 | } | ||
862 | |||
863 | static int lifeview_trio_dvb_mode(struct dvb_frontend *fe) | ||
864 | { | ||
865 | return 0; | ||
866 | } | ||
867 | |||
868 | static void lifeview_trio_analog_mode(struct dvb_frontend *fe) | ||
869 | { | ||
870 | philips_tda827xa_pll_sleep(0x60, fe); | ||
871 | } | ||
872 | |||
873 | static struct tda1004x_config lifeview_trio_config = { | ||
874 | .demod_address = 0x09, | ||
875 | .invert = 1, | ||
876 | .invert_oclk = 0, | ||
877 | .xtal_freq = TDA10046_XTAL_16M, | ||
878 | .agc_config = TDA10046_AGC_TDA827X_GPL, | ||
879 | .if_freq = TDA10046_FREQ_045, | ||
880 | .pll_init = lifeview_trio_dvb_mode, | ||
881 | .pll_set = lifeview_trio_pll_set, | ||
882 | .pll_sleep = lifeview_trio_analog_mode, | ||
883 | .request_firmware = NULL, | ||
884 | }; | ||
885 | |||
886 | /* ------------------------------------------------------------------ */ | ||
887 | |||
855 | static int ads_duo_pll_set(struct dvb_frontend *fe, struct dvb_frontend_parameters *params) | 888 | static int ads_duo_pll_set(struct dvb_frontend *fe, struct dvb_frontend_parameters *params) |
856 | { | 889 | { |
857 | int ret; | 890 | int ret; |
@@ -1019,6 +1052,10 @@ static int dvb_init(struct saa7134_dev *dev) | |||
1019 | dev->dvb.frontend = tda10046_attach(&tda827x_lifeview_config, | 1052 | dev->dvb.frontend = tda10046_attach(&tda827x_lifeview_config, |
1020 | &dev->i2c_adap); | 1053 | &dev->i2c_adap); |
1021 | break; | 1054 | break; |
1055 | case SAA7134_BOARD_FLYDVB_TRIO: | ||
1056 | dev->dvb.frontend = tda10046_attach(&lifeview_trio_config, | ||
1057 | &dev->i2c_adap); | ||
1058 | break; | ||
1022 | case SAA7134_BOARD_ADS_DUO_CARDBUS_PTV331: | 1059 | case SAA7134_BOARD_ADS_DUO_CARDBUS_PTV331: |
1023 | dev->dvb.frontend = tda10046_attach(&ads_tech_duo_config, | 1060 | dev->dvb.frontend = tda10046_attach(&ads_tech_duo_config, |
1024 | &dev->i2c_adap); | 1061 | &dev->i2c_adap); |