Lines Matching +full:analog +full:- +full:out
1 // SPDX-License-Identifier: GPL-2.0-or-later
9 #include "au0828-cards.h"
12 #include "media/v4l2-common.h"
16 /* Because the HVR-950q shares an i2s bus between the cs5340 and the in hvr950q_cs5340_audio()
26 * WARNING: There's a quirks table at sound/usb/quirks-table.h
33 .tuner_type = -1U,
119 switch (dev->boardnr) { in au0828_tuner_callback()
126 /* Drive the tuner into reset and out */ in au0828_tuner_callback()
134 return -EINVAL; in au0828_tuner_callback()
147 dev->board.tuner_type = tv.tuner_type; in hauppauge_eeprom()
151 case 72000: /* WinTV-HVR950q (Retail, IR, ATSC/QAM */ in hauppauge_eeprom()
152 case 72001: /* WinTV-HVR950q (Retail, IR, ATSC/QAM and analog video */ in hauppauge_eeprom()
153 case 72101: /* WinTV-HVR950q (Retail, IR, ATSC/QAM and analog video */ in hauppauge_eeprom()
154 case 72201: /* WinTV-HVR950q (OEM, IR, ATSC/QAM and analog video */ in hauppauge_eeprom()
155 case 72211: /* WinTV-HVR950q (OEM, IR, ATSC/QAM and analog video */ in hauppauge_eeprom()
156 case 72221: /* WinTV-HVR950q (OEM, IR, ATSC/QAM and analog video */ in hauppauge_eeprom()
157 case 72231: /* WinTV-HVR950q (OEM, IR, ATSC/QAM and analog video */ in hauppauge_eeprom()
158 case 72241: /* WinTV-HVR950q (OEM, No IR, ATSC/QAM and analog video */ in hauppauge_eeprom()
159 case 72251: /* WinTV-HVR950q (Retail, IR, ATSC/QAM and analog video */ in hauppauge_eeprom()
160 case 72261: /* WinTV-HVR950q (OEM, No IR, ATSC/QAM and analog video */ in hauppauge_eeprom()
161 case 72271: /* WinTV-HVR950q (OEM, No IR, ATSC/QAM and analog video */ in hauppauge_eeprom()
162 case 72281: /* WinTV-HVR950q (OEM, No IR, ATSC/QAM and analog video */ in hauppauge_eeprom()
163 case 72301: /* WinTV-HVR850 (Retail, IR, ATSC and analog video */ in hauppauge_eeprom()
164 case 72500: /* WinTV-HVR950q (OEM, No IR, ATSC/QAM */ in hauppauge_eeprom()
184 if (dev->i2c_rc == 0) { in au0828_card_setup()
185 dev->i2c_client.addr = 0xa0 >> 1; in au0828_card_setup()
186 tveeprom_read(&dev->i2c_client, eeprom, sizeof(eeprom)); in au0828_card_setup()
189 switch (dev->boardnr) { in au0828_card_setup()
194 if (dev->i2c_rc == 0) in au0828_card_setup()
210 /* Load the analog demodulator driver (note this would need to in au0828_card_analog_fe_setup()
211 be abstracted out if we ever need to support a different in au0828_card_analog_fe_setup()
213 sd = v4l2_i2c_new_subdev(&dev->v4l2_dev, &dev->i2c_adap, in au0828_card_analog_fe_setup()
216 pr_err("analog subdev registration failed\n"); in au0828_card_analog_fe_setup()
220 if (dev->board.tuner_type != TUNER_ABSENT && dev->board.has_analog) { in au0828_card_analog_fe_setup()
222 sd = v4l2_i2c_new_subdev(&dev->v4l2_dev, &dev->i2c_adap, in au0828_card_analog_fe_setup()
223 "tuner", dev->board.tuner_addr, NULL); in au0828_card_analog_fe_setup()
228 tun_setup.type = dev->board.tuner_type; in au0828_card_analog_fe_setup()
229 tun_setup.addr = dev->board.tuner_addr; in au0828_card_analog_fe_setup()
231 v4l2_device_call_all(&dev->v4l2_dev, 0, tuner, s_type_addr, in au0828_card_analog_fe_setup()
246 switch (dev->boardnr) { in au0828_gpio_setup()
252 * 4 - CS5340 in au0828_gpio_setup()
253 * 5 - AU8522 Demodulator in au0828_gpio_setup()
254 * 6 - eeprom W/P in au0828_gpio_setup()
255 * 7 - power supply in au0828_gpio_setup()
256 * 9 - XC5000 Tuner in au0828_gpio_setup()
270 /* Bring power supply out of reset */ in au0828_gpio_setup()
274 /* Bring xc5000 and au8522 out of reset (leave the in au0828_gpio_setup()
283 * 6 - ? in au0828_gpio_setup()
284 * 8 - AU8522 Demodulator in au0828_gpio_setup()
285 * 9 - XC5000 Tuner in au0828_gpio_setup()
295 /* Out of reset */ in au0828_gpio_setup()