Lines Matching refs:dev
58 static int verve_write_byte(struct cx231xx *dev, u8 saddr, u8 data) in verve_write_byte() argument
60 return cx231xx_write_i2c_data(dev, VERVE_I2C_ADDRESS, in verve_write_byte()
64 static int verve_read_byte(struct cx231xx *dev, u8 saddr, u8 *data) in verve_read_byte() argument
69 status = cx231xx_read_i2c_data(dev, VERVE_I2C_ADDRESS, in verve_read_byte()
74 void initGPIO(struct cx231xx *dev) in initGPIO() argument
82 cx231xx_send_gpio_cmd(dev, _gpio_direction, (u8 *)&value, 4, 0, 0); in initGPIO()
84 verve_read_byte(dev, 0x07, &val); in initGPIO()
85 dev_dbg(dev->dev, "verve_read_byte address0x07=0x%x\n", val); in initGPIO()
86 verve_write_byte(dev, 0x07, 0xF4); in initGPIO()
87 verve_read_byte(dev, 0x07, &val); in initGPIO()
88 dev_dbg(dev->dev, "verve_read_byte address0x07=0x%x\n", val); in initGPIO()
90 cx231xx_capture_start(dev, 1, Vbi); in initGPIO()
92 cx231xx_mode_register(dev, EP_MODE_SET, 0x0500FE00); in initGPIO()
93 cx231xx_mode_register(dev, GBULK_BIT_EN, 0xFFFDFFFF); in initGPIO()
96 void uninitGPIO(struct cx231xx *dev) in uninitGPIO() argument
100 cx231xx_capture_start(dev, 0, Vbi); in uninitGPIO()
101 verve_write_byte(dev, 0x07, 0x14); in uninitGPIO()
102 cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER, in uninitGPIO()
110 static int afe_write_byte(struct cx231xx *dev, u16 saddr, u8 data) in afe_write_byte() argument
112 return cx231xx_write_i2c_data(dev, AFE_DEVICE_ADDRESS, in afe_write_byte()
116 static int afe_read_byte(struct cx231xx *dev, u16 saddr, u8 *data) in afe_read_byte() argument
121 status = cx231xx_read_i2c_data(dev, AFE_DEVICE_ADDRESS, in afe_read_byte()
127 int cx231xx_afe_init_super_block(struct cx231xx *dev, u32 ref_count) in cx231xx_afe_init_super_block() argument
136 status = afe_write_byte(dev, SUP_BLK_TUNE2, temp); in cx231xx_afe_init_super_block()
140 status = afe_read_byte(dev, SUP_BLK_TUNE2, &afe_power_status); in cx231xx_afe_init_super_block()
146 status = afe_write_byte(dev, SUP_BLK_TUNE1, temp); in cx231xx_afe_init_super_block()
150 status = afe_write_byte(dev, SUP_BLK_PLL2, 0x0f); in cx231xx_afe_init_super_block()
156 status = afe_write_byte(dev, SUP_BLK_PWRDN, 0x18); in cx231xx_afe_init_super_block()
158 dev_dbg(dev->dev, in cx231xx_afe_init_super_block()
164 status = afe_read_byte(dev, SUP_BLK_PWRDN, &afe_power_status); in cx231xx_afe_init_super_block()
167 dev_dbg(dev->dev, in cx231xx_afe_init_super_block()
174 dev_dbg(dev->dev, in cx231xx_afe_init_super_block()
186 status = afe_write_byte(dev, SUP_BLK_TUNE3, 0x40); in cx231xx_afe_init_super_block()
193 status = afe_write_byte(dev, SUP_BLK_TUNE3, 0x00); in cx231xx_afe_init_super_block()
198 int cx231xx_afe_init_channels(struct cx231xx *dev) in cx231xx_afe_init_channels() argument
203 status = afe_write_byte(dev, ADC_PWRDN_CLAMP_CH1, 0x00); in cx231xx_afe_init_channels()
204 status = afe_write_byte(dev, ADC_PWRDN_CLAMP_CH2, 0x00); in cx231xx_afe_init_channels()
205 status = afe_write_byte(dev, ADC_PWRDN_CLAMP_CH3, 0x00); in cx231xx_afe_init_channels()
208 status = afe_write_byte(dev, ADC_COM_QUANT, 0x02); in cx231xx_afe_init_channels()
211 status = afe_write_byte(dev, ADC_FB_FRCRST_CH1, 0x17); in cx231xx_afe_init_channels()
212 status = afe_write_byte(dev, ADC_FB_FRCRST_CH2, 0x17); in cx231xx_afe_init_channels()
213 status = afe_write_byte(dev, ADC_FB_FRCRST_CH3, 0x17); in cx231xx_afe_init_channels()
216 status = afe_write_byte(dev, ADC_CAL_ATEST_CH1, 0x10); in cx231xx_afe_init_channels()
217 status = afe_write_byte(dev, ADC_CAL_ATEST_CH2, 0x10); in cx231xx_afe_init_channels()
218 status = afe_write_byte(dev, ADC_CAL_ATEST_CH3, 0x10); in cx231xx_afe_init_channels()
222 status = afe_write_byte(dev, ADC_FB_FRCRST_CH1, 0x07); in cx231xx_afe_init_channels()
223 status = afe_write_byte(dev, ADC_FB_FRCRST_CH2, 0x07); in cx231xx_afe_init_channels()
224 status = afe_write_byte(dev, ADC_FB_FRCRST_CH3, 0x07); in cx231xx_afe_init_channels()
227 status = afe_write_byte(dev, ADC_NTF_PRECLMP_EN_CH1, 0xf0); in cx231xx_afe_init_channels()
228 status = afe_write_byte(dev, ADC_NTF_PRECLMP_EN_CH2, 0xf0); in cx231xx_afe_init_channels()
229 status = afe_write_byte(dev, ADC_NTF_PRECLMP_EN_CH3, 0xf0); in cx231xx_afe_init_channels()
232 status = cx231xx_reg_mask_write(dev, AFE_DEVICE_ADDRESS, 8, in cx231xx_afe_init_channels()
234 status = cx231xx_reg_mask_write(dev, AFE_DEVICE_ADDRESS, 8, in cx231xx_afe_init_channels()
236 status = cx231xx_reg_mask_write(dev, AFE_DEVICE_ADDRESS, 8, in cx231xx_afe_init_channels()
240 status = afe_write_byte(dev, ADC_DCSERVO_DEM_CH1, 0x03); in cx231xx_afe_init_channels()
241 status = afe_write_byte(dev, ADC_DCSERVO_DEM_CH2, 0x03); in cx231xx_afe_init_channels()
242 status = afe_write_byte(dev, ADC_DCSERVO_DEM_CH3, 0x03); in cx231xx_afe_init_channels()
247 int cx231xx_afe_setup_AFE_for_baseband(struct cx231xx *dev) in cx231xx_afe_setup_AFE_for_baseband() argument
252 status = afe_read_byte(dev, ADC_PWRDN_CLAMP_CH2, &c_value); in cx231xx_afe_setup_AFE_for_baseband()
254 status = afe_write_byte(dev, ADC_PWRDN_CLAMP_CH2, c_value); in cx231xx_afe_setup_AFE_for_baseband()
268 int cx231xx_afe_set_input_mux(struct cx231xx *dev, u32 input_mux) in cx231xx_afe_set_input_mux() argument
277 status = afe_read_byte(dev, ADC_INPUT_CH1, &value); in cx231xx_afe_set_input_mux()
281 status = afe_write_byte(dev, ADC_INPUT_CH1, value); in cx231xx_afe_set_input_mux()
285 status = afe_read_byte(dev, ADC_INPUT_CH2, &value); in cx231xx_afe_set_input_mux()
289 status = afe_write_byte(dev, ADC_INPUT_CH2, value); in cx231xx_afe_set_input_mux()
295 status = afe_read_byte(dev, ADC_INPUT_CH3, &value); in cx231xx_afe_set_input_mux()
299 status = afe_write_byte(dev, ADC_INPUT_CH3, value); in cx231xx_afe_set_input_mux()
305 int cx231xx_afe_set_mode(struct cx231xx *dev, enum AFE_MODE mode) in cx231xx_afe_set_mode() argument
316 cx231xx_Setup_AFE_for_LowIF(dev); in cx231xx_afe_set_mode()
319 status = cx231xx_afe_setup_AFE_for_baseband(dev); in cx231xx_afe_set_mode()
332 if ((mode != dev->afe_mode) && in cx231xx_afe_set_mode()
333 (dev->video_input == CX231XX_VMUX_TELEVISION)) in cx231xx_afe_set_mode()
334 status = cx231xx_afe_adjust_ref_count(dev, in cx231xx_afe_set_mode()
337 dev->afe_mode = mode; in cx231xx_afe_set_mode()
342 int cx231xx_afe_update_power_control(struct cx231xx *dev, in cx231xx_afe_update_power_control() argument
348 switch (dev->model) { in cx231xx_afe_update_power_control()
366 status = afe_write_byte(dev, SUP_BLK_PWRDN, in cx231xx_afe_update_power_control()
369 status |= afe_read_byte(dev, SUP_BLK_PWRDN, in cx231xx_afe_update_power_control()
375 status = afe_write_byte(dev, ADC_PWRDN_CLAMP_CH1, in cx231xx_afe_update_power_control()
377 status |= afe_write_byte(dev, ADC_PWRDN_CLAMP_CH2, in cx231xx_afe_update_power_control()
379 status |= afe_write_byte(dev, ADC_PWRDN_CLAMP_CH3, in cx231xx_afe_update_power_control()
382 status = afe_write_byte(dev, ADC_PWRDN_CLAMP_CH1, in cx231xx_afe_update_power_control()
384 status |= afe_write_byte(dev, ADC_PWRDN_CLAMP_CH2, in cx231xx_afe_update_power_control()
386 status |= afe_write_byte(dev, ADC_PWRDN_CLAMP_CH3, in cx231xx_afe_update_power_control()
389 status |= afe_read_byte(dev, SUP_BLK_PWRDN, in cx231xx_afe_update_power_control()
394 status |= afe_write_byte(dev, SUP_BLK_PWRDN, in cx231xx_afe_update_power_control()
399 status = afe_write_byte(dev, SUP_BLK_PWRDN, in cx231xx_afe_update_power_control()
402 status |= afe_read_byte(dev, SUP_BLK_PWRDN, in cx231xx_afe_update_power_control()
408 status |= afe_write_byte(dev, ADC_PWRDN_CLAMP_CH1, in cx231xx_afe_update_power_control()
410 status |= afe_write_byte(dev, ADC_PWRDN_CLAMP_CH2, in cx231xx_afe_update_power_control()
412 status |= afe_write_byte(dev, ADC_PWRDN_CLAMP_CH3, in cx231xx_afe_update_power_control()
415 dev_dbg(dev->dev, "Invalid AV mode input\n"); in cx231xx_afe_update_power_control()
423 status = afe_write_byte(dev, SUP_BLK_PWRDN, in cx231xx_afe_update_power_control()
426 status |= afe_read_byte(dev, SUP_BLK_PWRDN, in cx231xx_afe_update_power_control()
432 status |= afe_write_byte(dev, ADC_PWRDN_CLAMP_CH1, in cx231xx_afe_update_power_control()
434 status |= afe_write_byte(dev, ADC_PWRDN_CLAMP_CH2, in cx231xx_afe_update_power_control()
436 status |= afe_write_byte(dev, ADC_PWRDN_CLAMP_CH3, in cx231xx_afe_update_power_control()
439 status = afe_write_byte(dev, ADC_PWRDN_CLAMP_CH1, in cx231xx_afe_update_power_control()
441 status |= afe_write_byte(dev, ADC_PWRDN_CLAMP_CH2, in cx231xx_afe_update_power_control()
443 status |= afe_write_byte(dev, ADC_PWRDN_CLAMP_CH3, in cx231xx_afe_update_power_control()
446 status |= afe_read_byte(dev, SUP_BLK_PWRDN, in cx231xx_afe_update_power_control()
451 status |= afe_write_byte(dev, SUP_BLK_PWRDN, in cx231xx_afe_update_power_control()
456 status = afe_write_byte(dev, SUP_BLK_PWRDN, in cx231xx_afe_update_power_control()
459 status |= afe_read_byte(dev, SUP_BLK_PWRDN, in cx231xx_afe_update_power_control()
465 status |= afe_write_byte(dev, ADC_PWRDN_CLAMP_CH1, in cx231xx_afe_update_power_control()
467 status |= afe_write_byte(dev, ADC_PWRDN_CLAMP_CH2, in cx231xx_afe_update_power_control()
469 status |= afe_write_byte(dev, ADC_PWRDN_CLAMP_CH3, in cx231xx_afe_update_power_control()
472 dev_dbg(dev->dev, "Invalid AV mode input\n"); in cx231xx_afe_update_power_control()
480 int cx231xx_afe_adjust_ref_count(struct cx231xx *dev, u32 video_input) in cx231xx_afe_adjust_ref_count() argument
486 dev->video_input = video_input; in cx231xx_afe_adjust_ref_count()
489 status = afe_read_byte(dev, ADC_INPUT_CH3, &input_mode); in cx231xx_afe_adjust_ref_count()
490 status = afe_read_byte(dev, ADC_NTF_PRECLMP_EN_CH3, in cx231xx_afe_adjust_ref_count()
493 status = afe_read_byte(dev, ADC_INPUT_CH1, &input_mode); in cx231xx_afe_adjust_ref_count()
494 status = afe_read_byte(dev, ADC_NTF_PRECLMP_EN_CH1, in cx231xx_afe_adjust_ref_count()
502 dev->afe_ref_count = 0x23C; in cx231xx_afe_adjust_ref_count()
505 dev->afe_ref_count = 0x24C; in cx231xx_afe_adjust_ref_count()
508 dev->afe_ref_count = 0x258; in cx231xx_afe_adjust_ref_count()
511 dev->afe_ref_count = 0x260; in cx231xx_afe_adjust_ref_count()
517 status = cx231xx_afe_init_super_block(dev, dev->afe_ref_count); in cx231xx_afe_adjust_ref_count()
525 static int vid_blk_write_byte(struct cx231xx *dev, u16 saddr, u8 data) in vid_blk_write_byte() argument
527 return cx231xx_write_i2c_data(dev, VID_BLK_I2C_ADDRESS, in vid_blk_write_byte()
531 static int vid_blk_read_byte(struct cx231xx *dev, u16 saddr, u8 *data) in vid_blk_read_byte() argument
536 status = cx231xx_read_i2c_data(dev, VID_BLK_I2C_ADDRESS, in vid_blk_read_byte()
542 static int vid_blk_write_word(struct cx231xx *dev, u16 saddr, u32 data) in vid_blk_write_word() argument
544 return cx231xx_write_i2c_data(dev, VID_BLK_I2C_ADDRESS, in vid_blk_write_word()
548 static int vid_blk_read_word(struct cx231xx *dev, u16 saddr, u32 *data) in vid_blk_read_word() argument
550 return cx231xx_read_i2c_data(dev, VID_BLK_I2C_ADDRESS, in vid_blk_read_word()
553 int cx231xx_check_fw(struct cx231xx *dev) in cx231xx_check_fw() argument
557 status = vid_blk_read_byte(dev, DL_CTL_ADDRESS_LOW, &temp); in cx231xx_check_fw()
565 int cx231xx_set_video_input_mux(struct cx231xx *dev, u8 input) in cx231xx_set_video_input_mux() argument
572 if ((dev->current_pcb_config.type == USB_BUS_POWER) && in cx231xx_set_video_input_mux()
573 (dev->power_mode != POLARIS_AVMODE_ENXTERNAL_AV)) { in cx231xx_set_video_input_mux()
575 status = cx231xx_set_power_mode(dev, in cx231xx_set_video_input_mux()
578 dev_err(dev->dev, in cx231xx_set_video_input_mux()
584 status = cx231xx_set_decoder_video_input(dev, in cx231xx_set_video_input_mux()
590 if ((dev->current_pcb_config.type == USB_BUS_POWER) && in cx231xx_set_video_input_mux()
591 (dev->power_mode != POLARIS_AVMODE_ANALOGT_TV)) { in cx231xx_set_video_input_mux()
593 status = cx231xx_set_power_mode(dev, in cx231xx_set_video_input_mux()
596 dev_err(dev->dev, in cx231xx_set_video_input_mux()
602 if (dev->tuner_type == TUNER_NXP_TDA18271) in cx231xx_set_video_input_mux()
603 status = cx231xx_set_decoder_video_input(dev, in cx231xx_set_video_input_mux()
607 status = cx231xx_set_decoder_video_input(dev, in cx231xx_set_video_input_mux()
613 dev_err(dev->dev, "%s: Unknown Input %d !\n", in cx231xx_set_video_input_mux()
619 dev->video_input = input; in cx231xx_set_video_input_mux()
624 int cx231xx_set_decoder_video_input(struct cx231xx *dev, in cx231xx_set_decoder_video_input() argument
630 if (pin_type != dev->video_input) { in cx231xx_set_decoder_video_input()
631 status = cx231xx_afe_adjust_ref_count(dev, pin_type); in cx231xx_set_decoder_video_input()
633 dev_err(dev->dev, in cx231xx_set_decoder_video_input()
641 status = cx231xx_afe_set_input_mux(dev, input); in cx231xx_set_decoder_video_input()
643 dev_err(dev->dev, in cx231xx_set_decoder_video_input()
651 status = vid_blk_read_word(dev, AFE_CTRL, &value); in cx231xx_set_decoder_video_input()
659 status = vid_blk_write_word(dev, AFE_CTRL, value); in cx231xx_set_decoder_video_input()
661 status = vid_blk_read_word(dev, OUT_CTRL1, &value); in cx231xx_set_decoder_video_input()
663 status = vid_blk_write_word(dev, OUT_CTRL1, value); in cx231xx_set_decoder_video_input()
666 status = cx231xx_read_modify_write_i2c_dword(dev, in cx231xx_set_decoder_video_input()
670 dev->board.output_mode); in cx231xx_set_decoder_video_input()
673 status = cx231xx_dif_set_standard(dev, DIF_USE_BASEBAND); in cx231xx_set_decoder_video_input()
675 dev_err(dev->dev, in cx231xx_set_decoder_video_input()
682 status = vid_blk_read_word(dev, DFE_CTRL1, &value); in cx231xx_set_decoder_video_input()
691 status = vid_blk_write_word(dev, DFE_CTRL1, value); in cx231xx_set_decoder_video_input()
694 status = cx231xx_read_modify_write_i2c_dword(dev, in cx231xx_set_decoder_video_input()
700 status = cx231xx_read_modify_write_i2c_dword(dev, in cx231xx_set_decoder_video_input()
708 status = vid_blk_read_word(dev, AFE_CTRL, &value); in cx231xx_set_decoder_video_input()
715 status = vid_blk_write_word(dev, AFE_CTRL, value); in cx231xx_set_decoder_video_input()
718 status = cx231xx_dif_set_standard(dev, DIF_USE_BASEBAND); in cx231xx_set_decoder_video_input()
720 dev_err(dev->dev, in cx231xx_set_decoder_video_input()
727 status = vid_blk_read_word(dev, DFE_CTRL1, &value); in cx231xx_set_decoder_video_input()
736 status = vid_blk_write_word(dev, DFE_CTRL1, value); in cx231xx_set_decoder_video_input()
739 status = cx231xx_read_modify_write_i2c_dword(dev, in cx231xx_set_decoder_video_input()
745 status = cx231xx_read_modify_write_i2c_dword(dev, in cx231xx_set_decoder_video_input()
752 status = vid_blk_read_word(dev, AFE_CTRL, &value); in cx231xx_set_decoder_video_input()
760 status = vid_blk_write_word(dev, AFE_CTRL, value); in cx231xx_set_decoder_video_input()
762 status = cx231xx_afe_set_mode(dev, AFE_MODE_BASEBAND); in cx231xx_set_decoder_video_input()
768 if (dev->board.tuner_type == TUNER_XC5000) { in cx231xx_set_decoder_video_input()
771 status = vid_blk_read_word(dev, AFE_CTRL, &value); in cx231xx_set_decoder_video_input()
779 status = vid_blk_write_word(dev, AFE_CTRL, value); in cx231xx_set_decoder_video_input()
781 status = vid_blk_read_word(dev, OUT_CTRL1, &value); in cx231xx_set_decoder_video_input()
783 status = vid_blk_write_word(dev, OUT_CTRL1, value); in cx231xx_set_decoder_video_input()
786 status = cx231xx_read_modify_write_i2c_dword(dev, in cx231xx_set_decoder_video_input()
789 dev->board.output_mode); in cx231xx_set_decoder_video_input()
792 status = cx231xx_dif_set_standard(dev, in cx231xx_set_decoder_video_input()
795 dev_err(dev->dev, in cx231xx_set_decoder_video_input()
802 status = vid_blk_read_word(dev, DFE_CTRL1, &value); in cx231xx_set_decoder_video_input()
811 status = vid_blk_write_word(dev, DFE_CTRL1, value); in cx231xx_set_decoder_video_input()
814 status = cx231xx_read_modify_write_i2c_dword(dev, in cx231xx_set_decoder_video_input()
820 status = cx231xx_read_modify_write_i2c_dword(dev, in cx231xx_set_decoder_video_input()
829 status = cx231xx_dif_set_standard(dev, dev->norm); in cx231xx_set_decoder_video_input()
831 dev_err(dev->dev, in cx231xx_set_decoder_video_input()
838 status = vid_blk_read_word(dev, DIF_MISC_CTRL, &value); in cx231xx_set_decoder_video_input()
844 status = vid_blk_write_word(dev, DIF_MISC_CTRL, value); in cx231xx_set_decoder_video_input()
847 status = vid_blk_read_word(dev, DFE_CTRL1, &value); in cx231xx_set_decoder_video_input()
857 status = vid_blk_write_word(dev, DFE_CTRL1, value); in cx231xx_set_decoder_video_input()
866 status = vid_blk_write_word(dev, DFE_CTRL1, value); in cx231xx_set_decoder_video_input()
869 status = vid_blk_read_word(dev, PIN_CTRL, &value); in cx231xx_set_decoder_video_input()
873 status = vid_blk_write_word(dev, PIN_CTRL, value); in cx231xx_set_decoder_video_input()
876 status = cx231xx_read_modify_write_i2c_dword(dev, in cx231xx_set_decoder_video_input()
879 dev->board.output_mode); in cx231xx_set_decoder_video_input()
882 status = cx231xx_read_modify_write_i2c_dword(dev, in cx231xx_set_decoder_video_input()
888 status = cx231xx_read_modify_write_i2c_dword(dev, in cx231xx_set_decoder_video_input()
899 status = vid_blk_read_word(dev, AFE_CTRL, &value); in cx231xx_set_decoder_video_input()
907 status = vid_blk_write_word(dev, AFE_CTRL, value); in cx231xx_set_decoder_video_input()
909 if (dev->tuner_type == TUNER_NXP_TDA18271) { in cx231xx_set_decoder_video_input()
910 status = vid_blk_read_word(dev, PIN_CTRL, in cx231xx_set_decoder_video_input()
912 status = vid_blk_write_word(dev, PIN_CTRL, in cx231xx_set_decoder_video_input()
923 status = cx231xx_read_modify_write_i2c_dword(dev, in cx231xx_set_decoder_video_input()
928 status = vid_blk_read_word(dev, OUT_CTRL1, &value); in cx231xx_set_decoder_video_input()
931 status = vid_blk_write_word(dev, OUT_CTRL1, value); in cx231xx_set_decoder_video_input()
937 void cx231xx_enable656(struct cx231xx *dev) in cx231xx_enable656() argument
942 vid_blk_write_byte(dev, TS1_PIN_CTL0, 0xFF); in cx231xx_enable656()
946 vid_blk_read_byte(dev, TS1_PIN_CTL1, &temp); in cx231xx_enable656()
949 vid_blk_write_byte(dev, TS1_PIN_CTL1, temp); in cx231xx_enable656()
953 void cx231xx_disable656(struct cx231xx *dev) in cx231xx_disable656() argument
957 vid_blk_write_byte(dev, TS1_PIN_CTL0, 0x00); in cx231xx_disable656()
959 vid_blk_read_byte(dev, TS1_PIN_CTL1, &temp); in cx231xx_disable656()
962 vid_blk_write_byte(dev, TS1_PIN_CTL1, temp); in cx231xx_disable656()
971 int cx231xx_do_mode_ctrl_overrides(struct cx231xx *dev) in cx231xx_do_mode_ctrl_overrides() argument
975 dev_dbg(dev->dev, "%s: 0x%x\n", in cx231xx_do_mode_ctrl_overrides()
976 __func__, (unsigned int)dev->norm); in cx231xx_do_mode_ctrl_overrides()
979 status = vid_blk_write_word(dev, DFE_CTRL3, 0xCD3F0280); in cx231xx_do_mode_ctrl_overrides()
981 if (dev->norm & (V4L2_STD_NTSC | V4L2_STD_PAL_M)) { in cx231xx_do_mode_ctrl_overrides()
982 dev_dbg(dev->dev, "%s: NTSC\n", __func__); in cx231xx_do_mode_ctrl_overrides()
986 status = cx231xx_read_modify_write_i2c_dword(dev, in cx231xx_do_mode_ctrl_overrides()
990 status = cx231xx_read_modify_write_i2c_dword(dev, in cx231xx_do_mode_ctrl_overrides()
995 status = cx231xx_read_modify_write_i2c_dword(dev, in cx231xx_do_mode_ctrl_overrides()
1001 status = cx231xx_read_modify_write_i2c_dword(dev, in cx231xx_do_mode_ctrl_overrides()
1008 } else if (dev->norm & V4L2_STD_SECAM) { in cx231xx_do_mode_ctrl_overrides()
1009 dev_dbg(dev->dev, "%s: SECAM\n", __func__); in cx231xx_do_mode_ctrl_overrides()
1010 status = cx231xx_read_modify_write_i2c_dword(dev, in cx231xx_do_mode_ctrl_overrides()
1014 status = cx231xx_read_modify_write_i2c_dword(dev, in cx231xx_do_mode_ctrl_overrides()
1021 status = cx231xx_read_modify_write_i2c_dword(dev, in cx231xx_do_mode_ctrl_overrides()
1029 status = cx231xx_read_modify_write_i2c_dword(dev, in cx231xx_do_mode_ctrl_overrides()
1036 dev_dbg(dev->dev, "%s: PAL\n", __func__); in cx231xx_do_mode_ctrl_overrides()
1037 status = cx231xx_read_modify_write_i2c_dword(dev, in cx231xx_do_mode_ctrl_overrides()
1041 status = cx231xx_read_modify_write_i2c_dword(dev, in cx231xx_do_mode_ctrl_overrides()
1048 status = cx231xx_read_modify_write_i2c_dword(dev, in cx231xx_do_mode_ctrl_overrides()
1056 status = cx231xx_read_modify_write_i2c_dword(dev, in cx231xx_do_mode_ctrl_overrides()
1068 int cx231xx_unmute_audio(struct cx231xx *dev) in cx231xx_unmute_audio() argument
1070 return vid_blk_write_byte(dev, PATH1_VOL_CTL, 0x24); in cx231xx_unmute_audio()
1074 static int stopAudioFirmware(struct cx231xx *dev) in stopAudioFirmware() argument
1076 return vid_blk_write_byte(dev, DL_CTL_CONTROL, 0x03); in stopAudioFirmware()
1079 static int restartAudioFirmware(struct cx231xx *dev) in restartAudioFirmware() argument
1081 return vid_blk_write_byte(dev, DL_CTL_CONTROL, 0x13); in restartAudioFirmware()
1084 int cx231xx_set_audio_input(struct cx231xx *dev, u8 input) in cx231xx_set_audio_input() argument
1094 status = cx231xx_i2s_blk_set_audio_input(dev, input); in cx231xx_set_audio_input()
1101 status = cx231xx_set_audio_decoder_input(dev, ainput); in cx231xx_set_audio_input()
1106 int cx231xx_set_audio_decoder_input(struct cx231xx *dev, in cx231xx_set_audio_decoder_input() argument
1115 status = vid_blk_read_byte(dev, GENERAL_CTL, &gen_ctrl); in cx231xx_set_audio_decoder_input()
1117 status = vid_blk_write_byte(dev, GENERAL_CTL, gen_ctrl); in cx231xx_set_audio_decoder_input()
1124 status = vid_blk_write_word(dev, AUD_IO_CTRL, value); in cx231xx_set_audio_decoder_input()
1129 status = vid_blk_read_word(dev, AC97_CTL, &dwval); in cx231xx_set_audio_decoder_input()
1131 status = vid_blk_write_word(dev, AC97_CTL, in cx231xx_set_audio_decoder_input()
1135 status = vid_blk_write_word(dev, BAND_OUT_SEL, in cx231xx_set_audio_decoder_input()
1142 status = vid_blk_write_word(dev, DL_CTL, 0x3000001); in cx231xx_set_audio_decoder_input()
1143 status = vid_blk_write_word(dev, PATH1_CTL1, 0x00063073); in cx231xx_set_audio_decoder_input()
1146 status = vid_blk_read_word(dev, PATH1_VOL_CTL, &dwval); in cx231xx_set_audio_decoder_input()
1147 status = vid_blk_write_word(dev, PATH1_VOL_CTL, in cx231xx_set_audio_decoder_input()
1151 status = vid_blk_read_word(dev, PATH1_SC_CTL, &dwval); in cx231xx_set_audio_decoder_input()
1152 status = vid_blk_write_word(dev, PATH1_SC_CTL, in cx231xx_set_audio_decoder_input()
1158 status = stopAudioFirmware(dev); in cx231xx_set_audio_decoder_input()
1160 status = vid_blk_write_word(dev, BAND_OUT_SEL, in cx231xx_set_audio_decoder_input()
1176 status = vid_blk_write_word(dev, AUD_IO_CTRL, in cx231xx_set_audio_decoder_input()
1183 status = vid_blk_write_word(dev, PATH1_CTL1, 0x1F063870); in cx231xx_set_audio_decoder_input()
1186 status = vid_blk_write_word(dev, PATH1_CTL1, 0x00063870); in cx231xx_set_audio_decoder_input()
1188 status = restartAudioFirmware(dev); in cx231xx_set_audio_decoder_input()
1190 switch (dev->board.tuner_type) { in cx231xx_set_audio_decoder_input()
1193 status = cx231xx_read_modify_write_i2c_dword(dev, in cx231xx_set_audio_decoder_input()
1201 status = cx231xx_read_modify_write_i2c_dword(dev, in cx231xx_set_audio_decoder_input()
1211 dev_info(dev->dev, in cx231xx_set_audio_decoder_input()
1225 status = vid_blk_write_word(dev, PATH1_CTL1, 0x1F011012); in cx231xx_set_audio_decoder_input()
1230 status = vid_blk_read_byte(dev, GENERAL_CTL, &gen_ctrl); in cx231xx_set_audio_decoder_input()
1232 status = vid_blk_write_byte(dev, GENERAL_CTL, gen_ctrl); in cx231xx_set_audio_decoder_input()
1240 int cx231xx_init_ctrl_pin_status(struct cx231xx *dev) in cx231xx_init_ctrl_pin_status() argument
1245 status = vid_blk_read_word(dev, PIN_CTRL, &value); in cx231xx_init_ctrl_pin_status()
1246 value |= (~dev->board.ctl_pin_status_mask); in cx231xx_init_ctrl_pin_status()
1247 status = vid_blk_write_word(dev, PIN_CTRL, value); in cx231xx_init_ctrl_pin_status()
1252 int cx231xx_set_agc_analog_digital_mux_select(struct cx231xx *dev, in cx231xx_set_agc_analog_digital_mux_select() argument
1258 status = cx231xx_set_gpio_direction(dev, in cx231xx_set_agc_analog_digital_mux_select()
1259 dev->board. in cx231xx_set_agc_analog_digital_mux_select()
1263 status = cx231xx_set_gpio_value(dev, in cx231xx_set_agc_analog_digital_mux_select()
1264 dev->board.agc_analog_digital_select_gpio, in cx231xx_set_agc_analog_digital_mux_select()
1273 int cx231xx_enable_i2c_port_3(struct cx231xx *dev, bool is_port_3) in cx231xx_enable_i2c_port_3() argument
1286 status = cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, in cx231xx_enable_i2c_port_3()
1302 status = cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER, in cx231xx_enable_i2c_port_3()
1307 dev->port_3_switch_enabled = is_port_3; in cx231xx_enable_i2c_port_3()
1314 void update_HH_register_after_set_DIF(struct cx231xx *dev) in update_HH_register_after_set_DIF() argument
1330 void cx231xx_dump_HH_reg(struct cx231xx *dev) in cx231xx_dump_HH_reg() argument
1336 vid_blk_write_word(dev, 0x104, value); in cx231xx_dump_HH_reg()
1339 vid_blk_read_word(dev, i, &value); in cx231xx_dump_HH_reg()
1340 dev_dbg(dev->dev, "reg0x%x=0x%x\n", i, value); in cx231xx_dump_HH_reg()
1345 vid_blk_read_word(dev, i, &value); in cx231xx_dump_HH_reg()
1346 dev_dbg(dev->dev, "reg0x%x=0x%x\n", i, value); in cx231xx_dump_HH_reg()
1351 vid_blk_read_word(dev, i, &value); in cx231xx_dump_HH_reg()
1352 dev_dbg(dev->dev, "reg0x%x=0x%x\n", i, value); in cx231xx_dump_HH_reg()
1356 vid_blk_read_word(dev, AFE_CTRL_C2HH_SRC_CTRL, &value); in cx231xx_dump_HH_reg()
1357 dev_dbg(dev->dev, "AFE_CTRL_C2HH_SRC_CTRL=0x%x\n", value); in cx231xx_dump_HH_reg()
1358 vid_blk_write_word(dev, AFE_CTRL_C2HH_SRC_CTRL, 0x4485D390); in cx231xx_dump_HH_reg()
1359 vid_blk_read_word(dev, AFE_CTRL_C2HH_SRC_CTRL, &value); in cx231xx_dump_HH_reg()
1360 dev_dbg(dev->dev, "AFE_CTRL_C2HH_SRC_CTRL=0x%x\n", value); in cx231xx_dump_HH_reg()
1364 static void cx231xx_dump_SC_reg(struct cx231xx *dev)
1367 dev_dbg(dev->dev, "%s!\n", __func__);
1369 cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, BOARD_CFG_STAT,
1371 dev_dbg(dev->dev,
1374 cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, TS_MODE_REG,
1376 dev_dbg(dev->dev,
1379 cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, TS1_CFG_REG,
1381 dev_dbg(dev->dev,
1384 cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, TS1_LENGTH_REG,
1386 dev_dbg(dev->dev,
1390 cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, TS2_CFG_REG,
1392 dev_dbg(dev->dev,
1395 cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, TS2_LENGTH_REG,
1397 dev_dbg(dev->dev,
1400 cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, EP_MODE_SET,
1402 dev_dbg(dev->dev,
1405 cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, CIR_PWR_PTN1,
1407 dev_dbg(dev->dev,
1411 cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, CIR_PWR_PTN2,
1413 dev_dbg(dev->dev,
1416 cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, CIR_PWR_PTN3,
1418 dev_dbg(dev->dev,
1421 cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, CIR_PWR_MASK0,
1423 dev_dbg(dev->dev,
1426 cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, CIR_PWR_MASK1,
1428 dev_dbg(dev->dev,
1432 cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, CIR_PWR_MASK2,
1434 dev_dbg(dev->dev,
1437 cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, CIR_GAIN,
1439 dev_dbg(dev->dev,
1442 cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, CIR_CAR_REG,
1444 dev_dbg(dev->dev,
1447 cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, CIR_OT_CFG1,
1449 dev_dbg(dev->dev,
1453 cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, CIR_OT_CFG2,
1455 dev_dbg(dev->dev,
1458 cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, PWR_CTL_EN,
1460 dev_dbg(dev->dev,
1466 void cx231xx_Setup_AFE_for_LowIF(struct cx231xx *dev) in cx231xx_Setup_AFE_for_LowIF() argument
1471 afe_read_byte(dev, ADC_STATUS2_CH3, &value); in cx231xx_Setup_AFE_for_LowIF()
1473 afe_write_byte(dev, ADC_STATUS2_CH3, value); in cx231xx_Setup_AFE_for_LowIF()
1475 afe_read_byte(dev, ADC_STATUS2_CH3, &value); in cx231xx_Setup_AFE_for_LowIF()
1477 afe_write_byte(dev, ADC_STATUS2_CH3, value); in cx231xx_Setup_AFE_for_LowIF()
1489 afe_read_byte(dev, ADC_NTF_PRECLMP_EN_CH3, &value); in cx231xx_Setup_AFE_for_LowIF()
1491 afe_write_byte(dev, ADC_NTF_PRECLMP_EN_CH3, value); in cx231xx_Setup_AFE_for_LowIF()
1493 afe_read_byte(dev, ADC_INPUT_CH3, &value); in cx231xx_Setup_AFE_for_LowIF()
1495 afe_write_byte(dev, ADC_INPUT_CH3, value); in cx231xx_Setup_AFE_for_LowIF()
1497 afe_read_byte(dev, ADC_FB_FRCRST_CH3, &value); in cx231xx_Setup_AFE_for_LowIF()
1499 afe_write_byte(dev, ADC_FB_FRCRST_CH3, value); in cx231xx_Setup_AFE_for_LowIF()
1501 afe_read_byte(dev, ADC_DCSERVO_DEM_CH3, &value); in cx231xx_Setup_AFE_for_LowIF()
1503 afe_write_byte(dev, ADC_DCSERVO_DEM_CH3, value); in cx231xx_Setup_AFE_for_LowIF()
1505 afe_read_byte(dev, ADC_CTRL_DAC1_CH3, &value); in cx231xx_Setup_AFE_for_LowIF()
1507 afe_write_byte(dev, ADC_CTRL_DAC1_CH3, value); in cx231xx_Setup_AFE_for_LowIF()
1509 afe_read_byte(dev, ADC_CTRL_DAC23_CH3, &value); in cx231xx_Setup_AFE_for_LowIF()
1511 afe_write_byte(dev, ADC_CTRL_DAC23_CH3, value); in cx231xx_Setup_AFE_for_LowIF()
1513 afe_read_byte(dev, ADC_CTRL_DAC23_CH3, &value); in cx231xx_Setup_AFE_for_LowIF()
1515 afe_write_byte(dev, ADC_CTRL_DAC23_CH3, value); in cx231xx_Setup_AFE_for_LowIF()
1517 afe_read_byte(dev, ADC_PWRDN_CLAMP_CH3, &value); in cx231xx_Setup_AFE_for_LowIF()
1519 afe_write_byte(dev, ADC_PWRDN_CLAMP_CH3, value); in cx231xx_Setup_AFE_for_LowIF()
1522 void cx231xx_set_Colibri_For_LowIF(struct cx231xx *dev, u32 if_freq, in cx231xx_set_Colibri_For_LowIF() argument
1530 dev_dbg(dev->dev, "Enter cx231xx_set_Colibri_For_LowIF()\n"); in cx231xx_set_Colibri_For_LowIF()
1535 cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER, in cx231xx_set_Colibri_For_LowIF()
1539 cx231xx_afe_set_mode(dev, AFE_MODE_LOW_IF); in cx231xx_set_Colibri_For_LowIF()
1542 standard = dev->norm; in cx231xx_set_Colibri_For_LowIF()
1543 cx231xx_dif_configure_C2HH_for_low_IF(dev, dev->active_mode, in cx231xx_set_Colibri_For_LowIF()
1550 dev_dbg(dev->dev, "colibri_carrier_offset=%d, standard=0x%x\n", in cx231xx_set_Colibri_For_LowIF()
1554 cx231xx_set_DIF_bandpass(dev, (if_freq+colibri_carrier_offset), in cx231xx_set_Colibri_For_LowIF()
1576 void cx231xx_set_DIF_bandpass(struct cx231xx *dev, u32 if_freq, in cx231xx_set_DIF_bandpass() argument
1584 dev_dbg(dev->dev, "if_freq=%d;spectral_invert=0x%x;mode=0x%x\n", in cx231xx_set_DIF_bandpass()
1590 vid_blk_write_word(dev, DIF_PLL_FREQ_WORD, pll_freq_word); in cx231xx_set_DIF_bandpass()
1599 vid_blk_write_word(dev, DIF_PLL_FREQ_WORD, pll_freq_word); in cx231xx_set_DIF_bandpass()
1604 vid_blk_read_word(dev, DIF_MISC_CTRL, in cx231xx_set_DIF_bandpass()
1607 vid_blk_write_word(dev, DIF_MISC_CTRL, in cx231xx_set_DIF_bandpass()
1612 vid_blk_read_word(dev, DIF_MISC_CTRL, in cx231xx_set_DIF_bandpass()
1615 vid_blk_write_word(dev, DIF_MISC_CTRL, in cx231xx_set_DIF_bandpass()
1628 dev_dbg(dev->dev, "Enter IF=%zu\n", ARRAY_SIZE(Dif_set_array)); in cx231xx_set_DIF_bandpass()
1631 vid_blk_write_word(dev, in cx231xx_set_DIF_bandpass()
1640 int cx231xx_dif_configure_C2HH_for_low_IF(struct cx231xx *dev, u32 mode, in cx231xx_dif_configure_C2HH_for_low_IF() argument
1649 status = cx231xx_reg_mask_write(dev, in cx231xx_dif_configure_C2HH_for_low_IF()
1653 status = cx231xx_reg_mask_write(dev, in cx231xx_dif_configure_C2HH_for_low_IF()
1657 status = cx231xx_reg_mask_write(dev, in cx231xx_dif_configure_C2HH_for_low_IF()
1661 status = cx231xx_reg_mask_write(dev, in cx231xx_dif_configure_C2HH_for_low_IF()
1667 status = cx231xx_reg_mask_write(dev, in cx231xx_dif_configure_C2HH_for_low_IF()
1671 status = cx231xx_reg_mask_write(dev, in cx231xx_dif_configure_C2HH_for_low_IF()
1676 status = cx231xx_reg_mask_write(dev, in cx231xx_dif_configure_C2HH_for_low_IF()
1680 status = cx231xx_reg_mask_write(dev, in cx231xx_dif_configure_C2HH_for_low_IF()
1684 status = cx231xx_reg_mask_write(dev, in cx231xx_dif_configure_C2HH_for_low_IF()
1692 status = cx231xx_reg_mask_write(dev, in cx231xx_dif_configure_C2HH_for_low_IF()
1696 status = cx231xx_reg_mask_write(dev, in cx231xx_dif_configure_C2HH_for_low_IF()
1701 status = cx231xx_reg_mask_write(dev, in cx231xx_dif_configure_C2HH_for_low_IF()
1705 status = cx231xx_reg_mask_write(dev, in cx231xx_dif_configure_C2HH_for_low_IF()
1712 status = cx231xx_reg_mask_write(dev, in cx231xx_dif_configure_C2HH_for_low_IF()
1716 status = cx231xx_reg_mask_write(dev, in cx231xx_dif_configure_C2HH_for_low_IF()
1721 status = cx231xx_reg_mask_write(dev, in cx231xx_dif_configure_C2HH_for_low_IF()
1725 status = cx231xx_reg_mask_write(dev, in cx231xx_dif_configure_C2HH_for_low_IF()
1734 int cx231xx_dif_set_standard(struct cx231xx *dev, u32 standard) in cx231xx_dif_set_standard() argument
1740 dev_dbg(dev->dev, "%s: setStandard to %x\n", __func__, standard); in cx231xx_dif_set_standard()
1742 status = vid_blk_read_word(dev, DIF_MISC_CTRL, &dif_misc_ctrl_value); in cx231xx_dif_set_standard()
1744 dev->norm = standard; in cx231xx_dif_set_standard()
1746 switch (dev->model) { in cx231xx_dif_set_standard()
1766 status = cx231xx_dif_configure_C2HH_for_low_IF(dev, dev->active_mode, in cx231xx_dif_set_standard()
1772 status = vid_blk_write_word(dev, DIF_SRC_PHASE_INC, 0xDF7DF83); in cx231xx_dif_set_standard()
1773 status = vid_blk_read_word(dev, DIF_MISC_CTRL, in cx231xx_dif_set_standard()
1776 status = vid_blk_write_word(dev, DIF_MISC_CTRL, in cx231xx_dif_set_standard()
1779 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1781 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1783 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1785 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1787 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1789 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1791 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1793 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1795 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1798 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1801 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1804 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1807 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1809 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1812 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1815 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1818 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1824 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1826 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1828 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1830 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1832 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1834 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1836 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1838 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1840 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1843 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1846 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1849 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1852 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1854 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1857 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1860 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1863 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1870 status = vid_blk_write_word(dev, DIF_PLL_CTRL, 0xFF01FF0C); in cx231xx_dif_set_standard()
1871 status = vid_blk_write_word(dev, DIF_PLL_CTRL1, 0xbd038c85); in cx231xx_dif_set_standard()
1872 status = vid_blk_write_word(dev, DIF_PLL_CTRL2, 0x1db4640a); in cx231xx_dif_set_standard()
1873 status = vid_blk_write_word(dev, DIF_PLL_CTRL3, 0x00008800); in cx231xx_dif_set_standard()
1874 status = vid_blk_write_word(dev, DIF_AGC_IF_REF, 0x444C1380); in cx231xx_dif_set_standard()
1875 status = vid_blk_write_word(dev, DIF_AGC_IF_INT_CURRENT, in cx231xx_dif_set_standard()
1877 status = vid_blk_write_word(dev, DIF_AGC_RF_CURRENT, in cx231xx_dif_set_standard()
1879 status = vid_blk_write_word(dev, DIF_VIDEO_AGC_CTRL, in cx231xx_dif_set_standard()
1881 status = vid_blk_write_word(dev, DIF_VID_AUD_OVERRIDE, in cx231xx_dif_set_standard()
1883 status = vid_blk_write_word(dev, DIF_AV_SEP_CTRL, 0x012c405d); in cx231xx_dif_set_standard()
1884 status = vid_blk_write_word(dev, DIF_COMP_FLT_CTRL, in cx231xx_dif_set_standard()
1886 status = vid_blk_write_word(dev, DIF_SRC_PHASE_INC, in cx231xx_dif_set_standard()
1888 status = vid_blk_write_word(dev, DIF_SRC_GAIN_CONTROL, in cx231xx_dif_set_standard()
1890 status = vid_blk_write_word(dev, DIF_SOFT_RST_CTRL_REVB, in cx231xx_dif_set_standard()
1897 status = vid_blk_write_word(dev, DIF_PLL_CTRL, 0xFF01FF0C); in cx231xx_dif_set_standard()
1898 status = vid_blk_write_word(dev, DIF_PLL_CTRL1, 0xbd038c85); in cx231xx_dif_set_standard()
1899 status = vid_blk_write_word(dev, DIF_PLL_CTRL2, 0x1db4640a); in cx231xx_dif_set_standard()
1900 status = vid_blk_write_word(dev, DIF_PLL_CTRL3, 0x00008800); in cx231xx_dif_set_standard()
1901 status = vid_blk_write_word(dev, DIF_AGC_IF_REF, 0x444C1380); in cx231xx_dif_set_standard()
1902 status = vid_blk_write_word(dev, DIF_AGC_IF_INT_CURRENT, in cx231xx_dif_set_standard()
1904 status = vid_blk_write_word(dev, DIF_AGC_RF_CURRENT, in cx231xx_dif_set_standard()
1906 status = vid_blk_write_word(dev, DIF_VIDEO_AGC_CTRL, in cx231xx_dif_set_standard()
1908 status = vid_blk_write_word(dev, DIF_VID_AUD_OVERRIDE, in cx231xx_dif_set_standard()
1910 status = vid_blk_write_word(dev, DIF_AV_SEP_CTRL, in cx231xx_dif_set_standard()
1912 status = vid_blk_write_word(dev, DIF_COMP_FLT_CTRL, in cx231xx_dif_set_standard()
1914 status = vid_blk_write_word(dev, DIF_SRC_PHASE_INC, in cx231xx_dif_set_standard()
1916 status = vid_blk_write_word(dev, DIF_SRC_GAIN_CONTROL, in cx231xx_dif_set_standard()
1918 status = vid_blk_write_word(dev, DIF_SOFT_RST_CTRL_REVB, in cx231xx_dif_set_standard()
1927 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1929 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1931 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1933 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1935 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1937 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1939 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1941 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1943 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1946 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1949 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1952 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1954 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1957 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1960 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1963 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1965 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1974 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1976 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1978 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1980 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1982 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1984 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1986 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1988 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1990 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1993 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1996 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1999 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
2001 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
2004 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
2007 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
2010 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
2012 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
2030 status = vid_blk_write_word(dev, DIF_PLL_CTRL, 0x6503BC0C); in cx231xx_dif_set_standard()
2031 status = vid_blk_write_word(dev, DIF_PLL_CTRL1, 0xBD038C85); in cx231xx_dif_set_standard()
2032 status = vid_blk_write_word(dev, DIF_PLL_CTRL2, 0x1DB4640A); in cx231xx_dif_set_standard()
2033 status = vid_blk_write_word(dev, DIF_PLL_CTRL3, 0x00008800); in cx231xx_dif_set_standard()
2034 status = vid_blk_write_word(dev, DIF_AGC_IF_REF, 0x444C0380); in cx231xx_dif_set_standard()
2035 status = vid_blk_write_word(dev, DIF_AGC_IF_INT_CURRENT, in cx231xx_dif_set_standard()
2037 status = vid_blk_write_word(dev, DIF_AGC_RF_CURRENT, in cx231xx_dif_set_standard()
2039 status = vid_blk_write_word(dev, DIF_VIDEO_AGC_CTRL, in cx231xx_dif_set_standard()
2041 status = vid_blk_write_word(dev, DIF_VID_AUD_OVERRIDE, in cx231xx_dif_set_standard()
2043 status = vid_blk_write_word(dev, DIF_AV_SEP_CTRL, 0x01296e1f); in cx231xx_dif_set_standard()
2045 status = vid_blk_write_word(dev, DIF_COMP_FLT_CTRL, in cx231xx_dif_set_standard()
2047 status = vid_blk_write_word(dev, DIF_SRC_PHASE_INC, in cx231xx_dif_set_standard()
2049 status = vid_blk_write_word(dev, DIF_SRC_GAIN_CONTROL, in cx231xx_dif_set_standard()
2052 status = vid_blk_write_word(dev, DIF_AGC_CTRL_IF, 0xC2262600); in cx231xx_dif_set_standard()
2053 status = vid_blk_write_word(dev, DIF_AGC_CTRL_INT, in cx231xx_dif_set_standard()
2055 status = vid_blk_write_word(dev, DIF_AGC_CTRL_RF, 0xC2262600); in cx231xx_dif_set_standard()
2062 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
2064 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
2066 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
2068 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
2070 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
2072 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
2074 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
2076 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
2078 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
2081 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
2084 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
2087 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
2090 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
2092 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
2095 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
2098 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
2101 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
2115 if (dev->active_mode == V4L2_TUNER_RADIO) in cx231xx_dif_set_standard()
2119 status = vid_blk_write_word(dev, DIF_MISC_CTRL, dif_misc_ctrl_value); in cx231xx_dif_set_standard()
2124 int cx231xx_tuner_pre_channel_change(struct cx231xx *dev) in cx231xx_tuner_pre_channel_change() argument
2130 status = vid_blk_read_word(dev, DIF_AGC_IF_REF, &dwval); in cx231xx_tuner_pre_channel_change()
2134 status = vid_blk_write_word(dev, DIF_AGC_IF_REF, dwval); in cx231xx_tuner_pre_channel_change()
2139 int cx231xx_tuner_post_channel_change(struct cx231xx *dev) in cx231xx_tuner_post_channel_change() argument
2143 dev_dbg(dev->dev, "%s: dev->tuner_type =0%d\n", in cx231xx_tuner_post_channel_change()
2144 __func__, dev->tuner_type); in cx231xx_tuner_post_channel_change()
2147 status = vid_blk_read_word(dev, DIF_AGC_IF_REF, &dwval); in cx231xx_tuner_post_channel_change()
2150 if (dev->norm & (V4L2_STD_SECAM_L | V4L2_STD_SECAM_B | in cx231xx_tuner_post_channel_change()
2152 if (dev->tuner_type == TUNER_NXP_TDA18271) { in cx231xx_tuner_post_channel_change()
2158 if (dev->tuner_type == TUNER_NXP_TDA18271) { in cx231xx_tuner_post_channel_change()
2165 status = vid_blk_write_word(dev, DIF_AGC_IF_REF, dwval); in cx231xx_tuner_post_channel_change()
2173 int cx231xx_i2s_blk_initialize(struct cx231xx *dev) in cx231xx_i2s_blk_initialize() argument
2178 status = cx231xx_read_i2c_data(dev, I2S_BLK_DEVICE_ADDRESS, in cx231xx_i2s_blk_initialize()
2182 status = cx231xx_write_i2c_data(dev, I2S_BLK_DEVICE_ADDRESS, in cx231xx_i2s_blk_initialize()
2185 status = cx231xx_write_i2c_data(dev, I2S_BLK_DEVICE_ADDRESS, in cx231xx_i2s_blk_initialize()
2191 int cx231xx_i2s_blk_update_power_control(struct cx231xx *dev, in cx231xx_i2s_blk_update_power_control() argument
2198 status = cx231xx_read_i2c_data(dev, I2S_BLK_DEVICE_ADDRESS, in cx231xx_i2s_blk_update_power_control()
2201 status = cx231xx_write_i2c_data(dev, I2S_BLK_DEVICE_ADDRESS, in cx231xx_i2s_blk_update_power_control()
2204 status = cx231xx_write_i2c_data(dev, I2S_BLK_DEVICE_ADDRESS, in cx231xx_i2s_blk_update_power_control()
2212 int cx231xx_i2s_blk_set_audio_input(struct cx231xx *dev, u8 audio_input) in cx231xx_i2s_blk_set_audio_input() argument
2218 status = cx231xx_write_i2c_data(dev, I2S_BLK_DEVICE_ADDRESS, in cx231xx_i2s_blk_set_audio_input()
2220 status = cx231xx_write_i2c_data(dev, I2S_BLK_DEVICE_ADDRESS, in cx231xx_i2s_blk_set_audio_input()
2228 dev->ctl_ainput = audio_input; in cx231xx_i2s_blk_set_audio_input()
2236 int cx231xx_set_power_mode(struct cx231xx *dev, enum AV_MODE mode) in cx231xx_set_power_mode() argument
2242 if (dev->power_mode != mode) in cx231xx_set_power_mode()
2243 dev->power_mode = mode; in cx231xx_set_power_mode()
2245 dev_dbg(dev->dev, "%s: mode = %d, No Change req.\n", in cx231xx_set_power_mode()
2250 status = cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, PWR_CTL_EN, value, in cx231xx_set_power_mode()
2267 status = cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER, in cx231xx_set_power_mode()
2277 cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER, PWR_CTL_EN, in cx231xx_set_power_mode()
2286 status = cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER, in cx231xx_set_power_mode()
2290 dev->xc_fw_load_done = 0; in cx231xx_set_power_mode()
2300 status = cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER, in cx231xx_set_power_mode()
2310 status = cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER, in cx231xx_set_power_mode()
2321 status = cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER, in cx231xx_set_power_mode()
2331 status = cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER, in cx231xx_set_power_mode()
2342 status = cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER, in cx231xx_set_power_mode()
2347 if (dev->board.tuner_type != TUNER_ABSENT) { in cx231xx_set_power_mode()
2349 if (dev->board.tuner_gpio) in cx231xx_set_power_mode()
2350 cx231xx_gpio_set(dev, dev->board.tuner_gpio); in cx231xx_set_power_mode()
2352 if (dev->cx231xx_reset_analog_tuner) in cx231xx_set_power_mode()
2353 dev->cx231xx_reset_analog_tuner(dev); in cx231xx_set_power_mode()
2365 status = cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER, in cx231xx_set_power_mode()
2375 status = cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER, in cx231xx_set_power_mode()
2385 status = cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER, in cx231xx_set_power_mode()
2396 status = cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER, in cx231xx_set_power_mode()
2406 status = cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER, in cx231xx_set_power_mode()
2411 if (dev->board.tuner_type != TUNER_ABSENT) { in cx231xx_set_power_mode()
2413 if (dev->board.tuner_gpio) in cx231xx_set_power_mode()
2414 cx231xx_gpio_set(dev, dev->board.tuner_gpio); in cx231xx_set_power_mode()
2416 if (dev->cx231xx_reset_analog_tuner) in cx231xx_set_power_mode()
2417 dev->cx231xx_reset_analog_tuner(dev); in cx231xx_set_power_mode()
2435 status = cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER, in cx231xx_set_power_mode()
2441 status = cx231xx_afe_update_power_control(dev, mode); in cx231xx_set_power_mode()
2444 status = cx231xx_i2s_blk_update_power_control(dev, mode); in cx231xx_set_power_mode()
2446 status = cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, PWR_CTL_EN, value, in cx231xx_set_power_mode()
2452 int cx231xx_power_suspend(struct cx231xx *dev) in cx231xx_power_suspend() argument
2458 status = cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, PWR_CTL_EN, in cx231xx_power_suspend()
2470 status = cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER, PWR_CTL_EN, in cx231xx_power_suspend()
2479 int cx231xx_start_stream(struct cx231xx *dev, u32 ep_mask) in cx231xx_start_stream() argument
2485 dev_dbg(dev->dev, "%s: ep_mask = %x\n", __func__, ep_mask); in cx231xx_start_stream()
2486 status = cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, EP_MODE_SET, in cx231xx_start_stream()
2498 status = cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER, EP_MODE_SET, in cx231xx_start_stream()
2504 int cx231xx_stop_stream(struct cx231xx *dev, u32 ep_mask) in cx231xx_stop_stream() argument
2510 dev_dbg(dev->dev, "%s: ep_mask = %x\n", __func__, ep_mask); in cx231xx_stop_stream()
2512 cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, EP_MODE_SET, value, 4); in cx231xx_stop_stream()
2523 status = cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER, EP_MODE_SET, in cx231xx_stop_stream()
2529 int cx231xx_initialize_stream_xfer(struct cx231xx *dev, u32 media_type) in cx231xx_initialize_stream_xfer() argument
2535 if (dev->udev->speed == USB_SPEED_HIGH) { in cx231xx_initialize_stream_xfer()
2538 dev_dbg(dev->dev, in cx231xx_initialize_stream_xfer()
2541 cx231xx_mode_register(dev, TS_MODE_REG, 0x9300); in cx231xx_initialize_stream_xfer()
2545 dev_dbg(dev->dev, in cx231xx_initialize_stream_xfer()
2547 status = cx231xx_mode_register(dev, TS_MODE_REG, 0x300); in cx231xx_initialize_stream_xfer()
2551 dev_dbg(dev->dev, in cx231xx_initialize_stream_xfer()
2554 cx231xx_mode_register(dev, TS_MODE_REG, 0x1300); in cx231xx_initialize_stream_xfer()
2558 dev_dbg(dev->dev, in cx231xx_initialize_stream_xfer()
2560 status = cx231xx_mode_register(dev, TS_MODE_REG, 0x100); in cx231xx_initialize_stream_xfer()
2564 dev_dbg(dev->dev, in cx231xx_initialize_stream_xfer()
2567 if (dev->board.has_417) { in cx231xx_initialize_stream_xfer()
2568 dev_dbg(dev->dev, in cx231xx_initialize_stream_xfer()
2573 status = cx231xx_mode_register(dev, in cx231xx_initialize_stream_xfer()
2580 status = cx231xx_write_ctrl_reg(dev, in cx231xx_initialize_stream_xfer()
2588 status = cx231xx_write_ctrl_reg(dev, in cx231xx_initialize_stream_xfer()
2592 dev_dbg(dev->dev, "%s: BDA\n", __func__); in cx231xx_initialize_stream_xfer()
2593 status = cx231xx_mode_register(dev, in cx231xx_initialize_stream_xfer()
2595 status = cx231xx_mode_register(dev, in cx231xx_initialize_stream_xfer()
2601 dev_dbg(dev->dev, in cx231xx_initialize_stream_xfer()
2604 status = cx231xx_mode_register(dev, TS_MODE_REG, 0x100); in cx231xx_initialize_stream_xfer()
2605 status = cx231xx_mode_register(dev, TS1_CFG_REG, 0x400); in cx231xx_initialize_stream_xfer()
2609 status = cx231xx_mode_register(dev, TS_MODE_REG, 0x101); in cx231xx_initialize_stream_xfer()
2615 int cx231xx_capture_start(struct cx231xx *dev, int start, u8 media_type) in cx231xx_capture_start() argument
2622 pcb_config = (struct pcb_config *)&dev->current_pcb_config; in cx231xx_capture_start()
2649 rc = cx231xx_initialize_stream_xfer(dev, media_type); in cx231xx_capture_start()
2656 rc = cx231xx_start_stream(dev, ep_mask); in cx231xx_capture_start()
2660 rc = cx231xx_stop_stream(dev, ep_mask); in cx231xx_capture_start()
2670 static int cx231xx_set_gpio_bit(struct cx231xx *dev, u32 gpio_bit, u32 gpio_val) in cx231xx_set_gpio_bit() argument
2675 status = cx231xx_send_gpio_cmd(dev, gpio_bit, (u8 *)&gpio_val, 4, 0, 0); in cx231xx_set_gpio_bit()
2680 static int cx231xx_get_gpio_bit(struct cx231xx *dev, u32 gpio_bit, u32 *gpio_val) in cx231xx_get_gpio_bit() argument
2685 status = cx231xx_send_gpio_cmd(dev, gpio_bit, (u8 *)&tmp, 4, 0, 1); in cx231xx_get_gpio_bit()
2702 int cx231xx_set_gpio_direction(struct cx231xx *dev, in cx231xx_set_gpio_direction() argument
2714 value = dev->gpio_dir & (~(1 << pin_number)); /* clear */ in cx231xx_set_gpio_direction()
2716 value = dev->gpio_dir | (1 << pin_number); in cx231xx_set_gpio_direction()
2718 status = cx231xx_set_gpio_bit(dev, value, dev->gpio_val); in cx231xx_set_gpio_direction()
2721 dev->gpio_dir = value; in cx231xx_set_gpio_direction()
2737 int cx231xx_set_gpio_value(struct cx231xx *dev, int pin_number, int pin_value) in cx231xx_set_gpio_value() argument
2747 if ((dev->gpio_dir & (1 << pin_number)) == 0x00) { in cx231xx_set_gpio_value()
2749 value = dev->gpio_dir | (1 << pin_number); in cx231xx_set_gpio_value()
2750 dev->gpio_dir = value; in cx231xx_set_gpio_value()
2751 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, in cx231xx_set_gpio_value()
2752 dev->gpio_val); in cx231xx_set_gpio_value()
2757 value = dev->gpio_val & (~(1 << pin_number)); in cx231xx_set_gpio_value()
2759 value = dev->gpio_val | (1 << pin_number); in cx231xx_set_gpio_value()
2762 dev->gpio_val = value; in cx231xx_set_gpio_value()
2765 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, dev->gpio_val); in cx231xx_set_gpio_value()
2773 int cx231xx_gpio_i2c_start(struct cx231xx *dev) in cx231xx_gpio_i2c_start() argument
2778 dev->gpio_dir |= 1 << dev->board.tuner_scl_gpio; in cx231xx_gpio_i2c_start()
2779 dev->gpio_dir |= 1 << dev->board.tuner_sda_gpio; in cx231xx_gpio_i2c_start()
2780 dev->gpio_val |= 1 << dev->board.tuner_scl_gpio; in cx231xx_gpio_i2c_start()
2781 dev->gpio_val |= 1 << dev->board.tuner_sda_gpio; in cx231xx_gpio_i2c_start()
2783 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, dev->gpio_val); in cx231xx_gpio_i2c_start()
2788 dev->gpio_val |= 1 << dev->board.tuner_scl_gpio; in cx231xx_gpio_i2c_start()
2789 dev->gpio_val &= ~(1 << dev->board.tuner_sda_gpio); in cx231xx_gpio_i2c_start()
2791 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, dev->gpio_val); in cx231xx_gpio_i2c_start()
2796 dev->gpio_val &= ~(1 << dev->board.tuner_scl_gpio); in cx231xx_gpio_i2c_start()
2797 dev->gpio_val &= ~(1 << dev->board.tuner_sda_gpio); in cx231xx_gpio_i2c_start()
2799 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, dev->gpio_val); in cx231xx_gpio_i2c_start()
2806 int cx231xx_gpio_i2c_end(struct cx231xx *dev) in cx231xx_gpio_i2c_end() argument
2811 dev->gpio_dir |= 1 << dev->board.tuner_scl_gpio; in cx231xx_gpio_i2c_end()
2812 dev->gpio_dir |= 1 << dev->board.tuner_sda_gpio; in cx231xx_gpio_i2c_end()
2814 dev->gpio_val &= ~(1 << dev->board.tuner_scl_gpio); in cx231xx_gpio_i2c_end()
2815 dev->gpio_val &= ~(1 << dev->board.tuner_sda_gpio); in cx231xx_gpio_i2c_end()
2817 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, dev->gpio_val); in cx231xx_gpio_i2c_end()
2822 dev->gpio_val |= 1 << dev->board.tuner_scl_gpio; in cx231xx_gpio_i2c_end()
2823 dev->gpio_val &= ~(1 << dev->board.tuner_sda_gpio); in cx231xx_gpio_i2c_end()
2825 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, dev->gpio_val); in cx231xx_gpio_i2c_end()
2831 dev->gpio_dir &= ~(1 << dev->board.tuner_scl_gpio); in cx231xx_gpio_i2c_end()
2832 dev->gpio_dir &= ~(1 << dev->board.tuner_sda_gpio); in cx231xx_gpio_i2c_end()
2835 cx231xx_set_gpio_bit(dev, dev->gpio_dir, dev->gpio_val); in cx231xx_gpio_i2c_end()
2842 int cx231xx_gpio_i2c_write_byte(struct cx231xx *dev, u8 data) in cx231xx_gpio_i2c_write_byte() argument
2848 dev->gpio_dir |= 1 << dev->board.tuner_scl_gpio; in cx231xx_gpio_i2c_write_byte()
2849 dev->gpio_dir |= 1 << dev->board.tuner_sda_gpio; in cx231xx_gpio_i2c_write_byte()
2854 dev->gpio_val &= ~(1 << dev->board.tuner_scl_gpio); in cx231xx_gpio_i2c_write_byte()
2855 dev->gpio_val &= ~(1 << dev->board.tuner_sda_gpio); in cx231xx_gpio_i2c_write_byte()
2856 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, in cx231xx_gpio_i2c_write_byte()
2857 dev->gpio_val); in cx231xx_gpio_i2c_write_byte()
2860 dev->gpio_val |= 1 << dev->board.tuner_scl_gpio; in cx231xx_gpio_i2c_write_byte()
2861 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, in cx231xx_gpio_i2c_write_byte()
2862 dev->gpio_val); in cx231xx_gpio_i2c_write_byte()
2865 dev->gpio_val &= ~(1 << dev->board.tuner_scl_gpio); in cx231xx_gpio_i2c_write_byte()
2866 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, in cx231xx_gpio_i2c_write_byte()
2867 dev->gpio_val); in cx231xx_gpio_i2c_write_byte()
2870 dev->gpio_val &= ~(1 << dev->board.tuner_scl_gpio); in cx231xx_gpio_i2c_write_byte()
2871 dev->gpio_val |= 1 << dev->board.tuner_sda_gpio; in cx231xx_gpio_i2c_write_byte()
2872 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, in cx231xx_gpio_i2c_write_byte()
2873 dev->gpio_val); in cx231xx_gpio_i2c_write_byte()
2876 dev->gpio_val |= 1 << dev->board.tuner_scl_gpio; in cx231xx_gpio_i2c_write_byte()
2877 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, in cx231xx_gpio_i2c_write_byte()
2878 dev->gpio_val); in cx231xx_gpio_i2c_write_byte()
2881 dev->gpio_val &= ~(1 << dev->board.tuner_scl_gpio); in cx231xx_gpio_i2c_write_byte()
2882 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, in cx231xx_gpio_i2c_write_byte()
2883 dev->gpio_val); in cx231xx_gpio_i2c_write_byte()
2889 int cx231xx_gpio_i2c_read_byte(struct cx231xx *dev, u8 *buf) in cx231xx_gpio_i2c_read_byte() argument
2900 dev->gpio_val &= ~(1 << dev->board.tuner_scl_gpio); in cx231xx_gpio_i2c_read_byte()
2901 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, in cx231xx_gpio_i2c_read_byte()
2902 dev->gpio_val); in cx231xx_gpio_i2c_read_byte()
2905 dev->gpio_val |= 1 << dev->board.tuner_scl_gpio; in cx231xx_gpio_i2c_read_byte()
2906 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, in cx231xx_gpio_i2c_read_byte()
2907 dev->gpio_val); in cx231xx_gpio_i2c_read_byte()
2910 gpio_logic_value = dev->gpio_val; in cx231xx_gpio_i2c_read_byte()
2911 status = cx231xx_get_gpio_bit(dev, dev->gpio_dir, in cx231xx_gpio_i2c_read_byte()
2912 &dev->gpio_val); in cx231xx_gpio_i2c_read_byte()
2913 if ((dev->gpio_val & (1 << dev->board.tuner_sda_gpio)) != 0) in cx231xx_gpio_i2c_read_byte()
2916 dev->gpio_val = gpio_logic_value; in cx231xx_gpio_i2c_read_byte()
2922 dev->gpio_val &= ~(1 << dev->board.tuner_scl_gpio); in cx231xx_gpio_i2c_read_byte()
2923 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, dev->gpio_val); in cx231xx_gpio_i2c_read_byte()
2931 int cx231xx_gpio_i2c_read_ack(struct cx231xx *dev) in cx231xx_gpio_i2c_read_ack() argument
2940 dev->gpio_dir &= ~(1 << dev->board.tuner_sda_gpio); in cx231xx_gpio_i2c_read_ack()
2941 dev->gpio_dir &= ~(1 << dev->board.tuner_scl_gpio); in cx231xx_gpio_i2c_read_ack()
2943 gpio_logic_value = dev->gpio_val; in cx231xx_gpio_i2c_read_ack()
2944 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, dev->gpio_val); in cx231xx_gpio_i2c_read_ack()
2948 status = cx231xx_get_gpio_bit(dev, dev->gpio_dir, in cx231xx_gpio_i2c_read_ack()
2949 &dev->gpio_val); in cx231xx_gpio_i2c_read_ack()
2951 } while (((dev->gpio_val & in cx231xx_gpio_i2c_read_ack()
2952 (1 << dev->board.tuner_scl_gpio)) == 0) && in cx231xx_gpio_i2c_read_ack()
2956 dev_dbg(dev->dev, in cx231xx_gpio_i2c_read_ack()
2965 status = cx231xx_get_gpio_bit(dev, dev->gpio_dir, &dev->gpio_val); in cx231xx_gpio_i2c_read_ack()
2967 if ((dev->gpio_val & 1 << dev->board.tuner_sda_gpio) == 0) { in cx231xx_gpio_i2c_read_ack()
2968 dev->gpio_val = gpio_logic_value; in cx231xx_gpio_i2c_read_ack()
2969 dev->gpio_val &= ~(1 << dev->board.tuner_sda_gpio); in cx231xx_gpio_i2c_read_ack()
2972 dev->gpio_val = gpio_logic_value; in cx231xx_gpio_i2c_read_ack()
2973 dev->gpio_val |= (1 << dev->board.tuner_sda_gpio); in cx231xx_gpio_i2c_read_ack()
2978 dev->gpio_val = gpio_logic_value; in cx231xx_gpio_i2c_read_ack()
2979 dev->gpio_dir |= (1 << dev->board.tuner_scl_gpio); in cx231xx_gpio_i2c_read_ack()
2980 dev->gpio_val &= ~(1 << dev->board.tuner_scl_gpio); in cx231xx_gpio_i2c_read_ack()
2981 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, dev->gpio_val); in cx231xx_gpio_i2c_read_ack()
2986 int cx231xx_gpio_i2c_write_ack(struct cx231xx *dev) in cx231xx_gpio_i2c_write_ack() argument
2991 dev->gpio_dir |= 1 << dev->board.tuner_sda_gpio; in cx231xx_gpio_i2c_write_ack()
2992 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, dev->gpio_val); in cx231xx_gpio_i2c_write_ack()
2995 dev->gpio_val &= ~(1 << dev->board.tuner_sda_gpio); in cx231xx_gpio_i2c_write_ack()
2996 dev->gpio_val &= ~(1 << dev->board.tuner_scl_gpio); in cx231xx_gpio_i2c_write_ack()
2997 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, dev->gpio_val); in cx231xx_gpio_i2c_write_ack()
3000 dev->gpio_val |= 1 << dev->board.tuner_scl_gpio; in cx231xx_gpio_i2c_write_ack()
3001 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, dev->gpio_val); in cx231xx_gpio_i2c_write_ack()
3004 dev->gpio_val &= ~(1 << dev->board.tuner_scl_gpio); in cx231xx_gpio_i2c_write_ack()
3005 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, dev->gpio_val); in cx231xx_gpio_i2c_write_ack()
3008 dev->gpio_dir &= ~(1 << dev->board.tuner_sda_gpio); in cx231xx_gpio_i2c_write_ack()
3009 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, dev->gpio_val); in cx231xx_gpio_i2c_write_ack()
3014 int cx231xx_gpio_i2c_write_nak(struct cx231xx *dev) in cx231xx_gpio_i2c_write_nak() argument
3019 dev->gpio_dir |= 1 << dev->board.tuner_scl_gpio; in cx231xx_gpio_i2c_write_nak()
3020 dev->gpio_dir &= ~(1 << dev->board.tuner_sda_gpio); in cx231xx_gpio_i2c_write_nak()
3021 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, dev->gpio_val); in cx231xx_gpio_i2c_write_nak()
3024 dev->gpio_val &= ~(1 << dev->board.tuner_scl_gpio); in cx231xx_gpio_i2c_write_nak()
3025 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, dev->gpio_val); in cx231xx_gpio_i2c_write_nak()
3028 dev->gpio_val |= 1 << dev->board.tuner_scl_gpio; in cx231xx_gpio_i2c_write_nak()
3029 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, dev->gpio_val); in cx231xx_gpio_i2c_write_nak()
3040 int cx231xx_gpio_i2c_read(struct cx231xx *dev, u8 dev_addr, u8 *buf, u8 len) in cx231xx_gpio_i2c_read() argument
3046 mutex_lock(&dev->gpio_i2c_lock); in cx231xx_gpio_i2c_read()
3049 status = cx231xx_gpio_i2c_start(dev); in cx231xx_gpio_i2c_read()
3052 status = cx231xx_gpio_i2c_write_byte(dev, (dev_addr << 1) + 1); in cx231xx_gpio_i2c_read()
3055 status = cx231xx_gpio_i2c_read_ack(dev); in cx231xx_gpio_i2c_read()
3061 status = cx231xx_gpio_i2c_read_byte(dev, &buf[i]); in cx231xx_gpio_i2c_read()
3065 status = cx231xx_gpio_i2c_write_ack(dev); in cx231xx_gpio_i2c_read()
3070 status = cx231xx_gpio_i2c_write_nak(dev); in cx231xx_gpio_i2c_read()
3073 status = cx231xx_gpio_i2c_end(dev); in cx231xx_gpio_i2c_read()
3076 mutex_unlock(&dev->gpio_i2c_lock); in cx231xx_gpio_i2c_read()
3084 int cx231xx_gpio_i2c_write(struct cx231xx *dev, u8 dev_addr, u8 *buf, u8 len) in cx231xx_gpio_i2c_write() argument
3089 mutex_lock(&dev->gpio_i2c_lock); in cx231xx_gpio_i2c_write()
3092 cx231xx_gpio_i2c_start(dev); in cx231xx_gpio_i2c_write()
3095 cx231xx_gpio_i2c_write_byte(dev, dev_addr << 1); in cx231xx_gpio_i2c_write()
3098 cx231xx_gpio_i2c_read_ack(dev); in cx231xx_gpio_i2c_write()
3102 cx231xx_gpio_i2c_write_byte(dev, buf[i]); in cx231xx_gpio_i2c_write()
3105 cx231xx_gpio_i2c_read_ack(dev); in cx231xx_gpio_i2c_write()
3109 cx231xx_gpio_i2c_end(dev); in cx231xx_gpio_i2c_write()
3112 mutex_unlock(&dev->gpio_i2c_lock); in cx231xx_gpio_i2c_write()