Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[media] saa7134: add Leadtek Winfast TV2100 FM card support

Add Leadtek Winfast TV2100 FM card to saa7134 driver. It is a card bearing
SAA7130HL chip.

Signed-off-by: Darek Zielski <dz1125tor@gmail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>

authored by

Darek Zielski and committed by
Mauro Carvalho Chehab
63ab664c 67dcfebd

+52
+1
Documentation/video4linux/CARDLIST.saa7134
··· 193 193 192 -> AverMedia AverTV Satellite Hybrid+FM A706 [1461:2055] 194 194 193 -> WIS Voyager or compatible [1905:7007] 195 195 194 -> AverMedia AverTV/505 [1461:a10a] 196 + 195 -> Leadtek Winfast TV2100 FM [107d:6f3a]
+43
drivers/media/pci/saa7134/saa7134-cards.c
··· 5884 5884 .amux = LINE1, 5885 5885 }, 5886 5886 }, 5887 + [SAA7134_BOARD_LEADTEK_WINFAST_TV2100_FM] = { 5888 + .name = "Leadtek Winfast TV2100 FM", 5889 + .audio_clock = 0x00187de7, 5890 + .tuner_type = TUNER_TNF_5335MF, 5891 + .radio_type = UNSET, 5892 + .tuner_addr = ADDR_UNSET, 5893 + .radio_addr = ADDR_UNSET, 5894 + .gpiomask = 0x0d, 5895 + .inputs = {{ 5896 + .name = name_tv_mono, 5897 + .vmux = 1, 5898 + .amux = LINE1, 5899 + .gpio = 0x00, 5900 + .tv = 1, 5901 + }, { 5902 + .name = name_comp1, 5903 + .vmux = 3, 5904 + .amux = LINE2, 5905 + .gpio = 0x08, 5906 + }, { 5907 + .name = name_svideo, 5908 + .vmux = 8, 5909 + .amux = LINE2, 5910 + .gpio = 0x08, 5911 + } }, 5912 + .radio = { 5913 + .name = name_radio, 5914 + .amux = LINE1, 5915 + .gpio = 0x04, 5916 + }, 5917 + .mute = { 5918 + .name = name_mute, 5919 + .amux = LINE1, 5920 + .gpio = 0x08, 5921 + }, 5922 + }, 5887 5923 5888 5924 }; 5889 5925 ··· 7185 7149 .subdevice = 0xa10a, 7186 7150 .driver_data = SAA7134_BOARD_AVERMEDIA_505, 7187 7151 }, { 7152 + .vendor = PCI_VENDOR_ID_PHILIPS, 7153 + .device = PCI_DEVICE_ID_PHILIPS_SAA7130, 7154 + .subvendor = 0x107d, 7155 + .subdevice = 0x6f3a, 7156 + .driver_data = SAA7134_BOARD_LEADTEK_WINFAST_TV2100_FM, 7157 + }, { 7188 7158 /* --- boards without eeprom + subsystem ID --- */ 7189 7159 .vendor = PCI_VENDOR_ID_PHILIPS, 7190 7160 .device = PCI_DEVICE_ID_PHILIPS_SAA7134, ··· 7587 7545 case SAA7134_BOARD_AVERMEDIA_GO_007_FM_PLUS: 7588 7546 case SAA7134_BOARD_ROVERMEDIA_LINK_PRO_FM: 7589 7547 case SAA7134_BOARD_LEADTEK_WINFAST_DTV1000S: 7548 + case SAA7134_BOARD_LEADTEK_WINFAST_TV2100_FM: 7590 7549 dev->has_remote = SAA7134_REMOTE_GPIO; 7591 7550 break; 7592 7551 case SAA7134_BOARD_FLYDVBS_LR300:
+7
drivers/media/pci/saa7134/saa7134-input.c
··· 835 835 mask_keycode = 0xffff; 836 836 raw_decode = true; 837 837 break; 838 + case SAA7134_BOARD_LEADTEK_WINFAST_TV2100_FM: 839 + ir_codes = RC_MAP_LEADTEK_Y04G0051; 840 + mask_keydown = 0x0040000; /* Enable GPIO18 line on both edges */ 841 + mask_keyup = 0x0040000; 842 + mask_keycode = 0xffff; 843 + raw_decode = true; 844 + break; 838 845 } 839 846 if (NULL == ir_codes) { 840 847 pr_err("Oops: IR config error [card=%d]\n", dev->board);
+1
drivers/media/pci/saa7134/saa7134.h
··· 342 342 #define SAA7134_BOARD_AVERMEDIA_A706 192 343 343 #define SAA7134_BOARD_WIS_VOYAGER 193 344 344 #define SAA7134_BOARD_AVERMEDIA_505 194 345 + #define SAA7134_BOARD_LEADTEK_WINFAST_TV2100_FM 195 345 346 346 347 #define SAA7134_MAXBOARDS 32 347 348 #define SAA7134_INPUT_MAX 8