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()
1270 int cx231xx_enable_i2c_port_3(struct cx231xx *dev, bool is_port_3) in cx231xx_enable_i2c_port_3() argument
1283 status = cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, in cx231xx_enable_i2c_port_3()
1299 status = cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER, in cx231xx_enable_i2c_port_3()
1304 dev->port_3_switch_enabled = is_port_3; in cx231xx_enable_i2c_port_3()
1311 void update_HH_register_after_set_DIF(struct cx231xx *dev) in update_HH_register_after_set_DIF() argument
1327 void cx231xx_dump_HH_reg(struct cx231xx *dev) in cx231xx_dump_HH_reg() argument
1333 vid_blk_write_word(dev, 0x104, value); in cx231xx_dump_HH_reg()
1336 vid_blk_read_word(dev, i, &value); in cx231xx_dump_HH_reg()
1337 dev_dbg(dev->dev, "reg0x%x=0x%x\n", i, value); in cx231xx_dump_HH_reg()
1342 vid_blk_read_word(dev, i, &value); in cx231xx_dump_HH_reg()
1343 dev_dbg(dev->dev, "reg0x%x=0x%x\n", i, value); in cx231xx_dump_HH_reg()
1348 vid_blk_read_word(dev, i, &value); in cx231xx_dump_HH_reg()
1349 dev_dbg(dev->dev, "reg0x%x=0x%x\n", i, value); in cx231xx_dump_HH_reg()
1353 vid_blk_read_word(dev, AFE_CTRL_C2HH_SRC_CTRL, &value); in cx231xx_dump_HH_reg()
1354 dev_dbg(dev->dev, "AFE_CTRL_C2HH_SRC_CTRL=0x%x\n", value); in cx231xx_dump_HH_reg()
1355 vid_blk_write_word(dev, AFE_CTRL_C2HH_SRC_CTRL, 0x4485D390); 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()
1361 static void cx231xx_dump_SC_reg(struct cx231xx *dev)
1364 dev_dbg(dev->dev, "%s!\n", __func__);
1366 cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, BOARD_CFG_STAT,
1368 dev_dbg(dev->dev,
1371 cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, TS_MODE_REG,
1373 dev_dbg(dev->dev,
1376 cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, TS1_CFG_REG,
1378 dev_dbg(dev->dev,
1381 cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, TS1_LENGTH_REG,
1383 dev_dbg(dev->dev,
1387 cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, TS2_CFG_REG,
1389 dev_dbg(dev->dev,
1392 cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, TS2_LENGTH_REG,
1394 dev_dbg(dev->dev,
1397 cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, EP_MODE_SET,
1399 dev_dbg(dev->dev,
1402 cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, CIR_PWR_PTN1,
1404 dev_dbg(dev->dev,
1408 cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, CIR_PWR_PTN2,
1410 dev_dbg(dev->dev,
1413 cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, CIR_PWR_PTN3,
1415 dev_dbg(dev->dev,
1418 cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, CIR_PWR_MASK0,
1420 dev_dbg(dev->dev,
1423 cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, CIR_PWR_MASK1,
1425 dev_dbg(dev->dev,
1429 cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, CIR_PWR_MASK2,
1431 dev_dbg(dev->dev,
1434 cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, CIR_GAIN,
1436 dev_dbg(dev->dev,
1439 cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, CIR_CAR_REG,
1441 dev_dbg(dev->dev,
1444 cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, CIR_OT_CFG1,
1446 dev_dbg(dev->dev,
1450 cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, CIR_OT_CFG2,
1452 dev_dbg(dev->dev,
1455 cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, PWR_CTL_EN,
1457 dev_dbg(dev->dev,
1463 void cx231xx_Setup_AFE_for_LowIF(struct cx231xx *dev) in cx231xx_Setup_AFE_for_LowIF() argument
1468 afe_read_byte(dev, ADC_STATUS2_CH3, &value); in cx231xx_Setup_AFE_for_LowIF()
1470 afe_write_byte(dev, ADC_STATUS2_CH3, value); in cx231xx_Setup_AFE_for_LowIF()
1472 afe_read_byte(dev, ADC_STATUS2_CH3, &value); in cx231xx_Setup_AFE_for_LowIF()
1474 afe_write_byte(dev, ADC_STATUS2_CH3, value); in cx231xx_Setup_AFE_for_LowIF()
1486 afe_read_byte(dev, ADC_NTF_PRECLMP_EN_CH3, &value); in cx231xx_Setup_AFE_for_LowIF()
1488 afe_write_byte(dev, ADC_NTF_PRECLMP_EN_CH3, value); in cx231xx_Setup_AFE_for_LowIF()
1490 afe_read_byte(dev, ADC_INPUT_CH3, &value); in cx231xx_Setup_AFE_for_LowIF()
1492 afe_write_byte(dev, ADC_INPUT_CH3, value); in cx231xx_Setup_AFE_for_LowIF()
1494 afe_read_byte(dev, ADC_FB_FRCRST_CH3, &value); in cx231xx_Setup_AFE_for_LowIF()
1496 afe_write_byte(dev, ADC_FB_FRCRST_CH3, value); in cx231xx_Setup_AFE_for_LowIF()
1498 afe_read_byte(dev, ADC_DCSERVO_DEM_CH3, &value); in cx231xx_Setup_AFE_for_LowIF()
1500 afe_write_byte(dev, ADC_DCSERVO_DEM_CH3, value); in cx231xx_Setup_AFE_for_LowIF()
1502 afe_read_byte(dev, ADC_CTRL_DAC1_CH3, &value); in cx231xx_Setup_AFE_for_LowIF()
1504 afe_write_byte(dev, ADC_CTRL_DAC1_CH3, value); in cx231xx_Setup_AFE_for_LowIF()
1506 afe_read_byte(dev, ADC_CTRL_DAC23_CH3, &value); in cx231xx_Setup_AFE_for_LowIF()
1508 afe_write_byte(dev, ADC_CTRL_DAC23_CH3, value); in cx231xx_Setup_AFE_for_LowIF()
1510 afe_read_byte(dev, ADC_CTRL_DAC23_CH3, &value); in cx231xx_Setup_AFE_for_LowIF()
1512 afe_write_byte(dev, ADC_CTRL_DAC23_CH3, value); in cx231xx_Setup_AFE_for_LowIF()
1514 afe_read_byte(dev, ADC_PWRDN_CLAMP_CH3, &value); in cx231xx_Setup_AFE_for_LowIF()
1516 afe_write_byte(dev, ADC_PWRDN_CLAMP_CH3, value); in cx231xx_Setup_AFE_for_LowIF()
1519 void cx231xx_set_Colibri_For_LowIF(struct cx231xx *dev, u32 if_freq, in cx231xx_set_Colibri_For_LowIF() argument
1527 dev_dbg(dev->dev, "Enter cx231xx_set_Colibri_For_LowIF()\n"); in cx231xx_set_Colibri_For_LowIF()
1532 cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER, in cx231xx_set_Colibri_For_LowIF()
1536 cx231xx_afe_set_mode(dev, AFE_MODE_LOW_IF); in cx231xx_set_Colibri_For_LowIF()
1539 standard = dev->norm; in cx231xx_set_Colibri_For_LowIF()
1540 cx231xx_dif_configure_C2HH_for_low_IF(dev, dev->active_mode, in cx231xx_set_Colibri_For_LowIF()
1547 dev_dbg(dev->dev, "colibri_carrier_offset=%d, standard=0x%x\n", in cx231xx_set_Colibri_For_LowIF()
1551 cx231xx_set_DIF_bandpass(dev, (if_freq+colibri_carrier_offset), in cx231xx_set_Colibri_For_LowIF()
1573 void cx231xx_set_DIF_bandpass(struct cx231xx *dev, u32 if_freq, in cx231xx_set_DIF_bandpass() argument
1581 dev_dbg(dev->dev, "if_freq=%d;spectral_invert=0x%x;mode=0x%x\n", in cx231xx_set_DIF_bandpass()
1587 vid_blk_write_word(dev, DIF_PLL_FREQ_WORD, pll_freq_word); in cx231xx_set_DIF_bandpass()
1596 vid_blk_write_word(dev, DIF_PLL_FREQ_WORD, pll_freq_word); in cx231xx_set_DIF_bandpass()
1601 vid_blk_read_word(dev, DIF_MISC_CTRL, in cx231xx_set_DIF_bandpass()
1604 vid_blk_write_word(dev, DIF_MISC_CTRL, in cx231xx_set_DIF_bandpass()
1609 vid_blk_read_word(dev, DIF_MISC_CTRL, in cx231xx_set_DIF_bandpass()
1612 vid_blk_write_word(dev, DIF_MISC_CTRL, in cx231xx_set_DIF_bandpass()
1625 dev_dbg(dev->dev, "Enter IF=%zu\n", ARRAY_SIZE(Dif_set_array)); in cx231xx_set_DIF_bandpass()
1628 vid_blk_write_word(dev, in cx231xx_set_DIF_bandpass()
1637 int cx231xx_dif_configure_C2HH_for_low_IF(struct cx231xx *dev, u32 mode, in cx231xx_dif_configure_C2HH_for_low_IF() argument
1646 status = cx231xx_reg_mask_write(dev, in cx231xx_dif_configure_C2HH_for_low_IF()
1650 status = cx231xx_reg_mask_write(dev, in cx231xx_dif_configure_C2HH_for_low_IF()
1654 status = cx231xx_reg_mask_write(dev, in cx231xx_dif_configure_C2HH_for_low_IF()
1658 status = cx231xx_reg_mask_write(dev, in cx231xx_dif_configure_C2HH_for_low_IF()
1664 status = cx231xx_reg_mask_write(dev, in cx231xx_dif_configure_C2HH_for_low_IF()
1668 status = cx231xx_reg_mask_write(dev, in cx231xx_dif_configure_C2HH_for_low_IF()
1673 status = cx231xx_reg_mask_write(dev, in cx231xx_dif_configure_C2HH_for_low_IF()
1677 status = cx231xx_reg_mask_write(dev, in cx231xx_dif_configure_C2HH_for_low_IF()
1681 status = cx231xx_reg_mask_write(dev, in cx231xx_dif_configure_C2HH_for_low_IF()
1689 status = cx231xx_reg_mask_write(dev, in cx231xx_dif_configure_C2HH_for_low_IF()
1693 status = cx231xx_reg_mask_write(dev, in cx231xx_dif_configure_C2HH_for_low_IF()
1698 status = cx231xx_reg_mask_write(dev, in cx231xx_dif_configure_C2HH_for_low_IF()
1702 status = cx231xx_reg_mask_write(dev, in cx231xx_dif_configure_C2HH_for_low_IF()
1709 status = cx231xx_reg_mask_write(dev, in cx231xx_dif_configure_C2HH_for_low_IF()
1713 status = cx231xx_reg_mask_write(dev, in cx231xx_dif_configure_C2HH_for_low_IF()
1718 status = cx231xx_reg_mask_write(dev, in cx231xx_dif_configure_C2HH_for_low_IF()
1722 status = cx231xx_reg_mask_write(dev, in cx231xx_dif_configure_C2HH_for_low_IF()
1731 int cx231xx_dif_set_standard(struct cx231xx *dev, u32 standard) in cx231xx_dif_set_standard() argument
1737 dev_dbg(dev->dev, "%s: setStandard to %x\n", __func__, standard); in cx231xx_dif_set_standard()
1739 status = vid_blk_read_word(dev, DIF_MISC_CTRL, &dif_misc_ctrl_value); in cx231xx_dif_set_standard()
1741 dev->norm = standard; in cx231xx_dif_set_standard()
1743 switch (dev->model) { in cx231xx_dif_set_standard()
1763 status = cx231xx_dif_configure_C2HH_for_low_IF(dev, dev->active_mode, in cx231xx_dif_set_standard()
1769 status = vid_blk_write_word(dev, DIF_SRC_PHASE_INC, 0xDF7DF83); in cx231xx_dif_set_standard()
1770 status = vid_blk_read_word(dev, DIF_MISC_CTRL, in cx231xx_dif_set_standard()
1773 status = vid_blk_write_word(dev, DIF_MISC_CTRL, in cx231xx_dif_set_standard()
1776 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1778 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1780 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1782 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1784 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1786 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1788 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1790 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1792 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()
1806 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()
1821 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1823 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1825 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1827 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1829 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1831 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1833 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1835 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1837 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()
1851 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()
1867 status = vid_blk_write_word(dev, DIF_PLL_CTRL, 0xFF01FF0C); in cx231xx_dif_set_standard()
1868 status = vid_blk_write_word(dev, DIF_PLL_CTRL1, 0xbd038c85); in cx231xx_dif_set_standard()
1869 status = vid_blk_write_word(dev, DIF_PLL_CTRL2, 0x1db4640a); in cx231xx_dif_set_standard()
1870 status = vid_blk_write_word(dev, DIF_PLL_CTRL3, 0x00008800); in cx231xx_dif_set_standard()
1871 status = vid_blk_write_word(dev, DIF_AGC_IF_REF, 0x444C1380); in cx231xx_dif_set_standard()
1872 status = vid_blk_write_word(dev, DIF_AGC_IF_INT_CURRENT, in cx231xx_dif_set_standard()
1874 status = vid_blk_write_word(dev, DIF_AGC_RF_CURRENT, in cx231xx_dif_set_standard()
1876 status = vid_blk_write_word(dev, DIF_VIDEO_AGC_CTRL, in cx231xx_dif_set_standard()
1878 status = vid_blk_write_word(dev, DIF_VID_AUD_OVERRIDE, in cx231xx_dif_set_standard()
1880 status = vid_blk_write_word(dev, DIF_AV_SEP_CTRL, 0x012c405d); in cx231xx_dif_set_standard()
1881 status = vid_blk_write_word(dev, DIF_COMP_FLT_CTRL, in cx231xx_dif_set_standard()
1883 status = vid_blk_write_word(dev, DIF_SRC_PHASE_INC, in cx231xx_dif_set_standard()
1885 status = vid_blk_write_word(dev, DIF_SRC_GAIN_CONTROL, in cx231xx_dif_set_standard()
1887 status = vid_blk_write_word(dev, DIF_SOFT_RST_CTRL_REVB, in cx231xx_dif_set_standard()
1894 status = vid_blk_write_word(dev, DIF_PLL_CTRL, 0xFF01FF0C); in cx231xx_dif_set_standard()
1895 status = vid_blk_write_word(dev, DIF_PLL_CTRL1, 0xbd038c85); in cx231xx_dif_set_standard()
1896 status = vid_blk_write_word(dev, DIF_PLL_CTRL2, 0x1db4640a); in cx231xx_dif_set_standard()
1897 status = vid_blk_write_word(dev, DIF_PLL_CTRL3, 0x00008800); in cx231xx_dif_set_standard()
1898 status = vid_blk_write_word(dev, DIF_AGC_IF_REF, 0x444C1380); in cx231xx_dif_set_standard()
1899 status = vid_blk_write_word(dev, DIF_AGC_IF_INT_CURRENT, in cx231xx_dif_set_standard()
1901 status = vid_blk_write_word(dev, DIF_AGC_RF_CURRENT, in cx231xx_dif_set_standard()
1903 status = vid_blk_write_word(dev, DIF_VIDEO_AGC_CTRL, in cx231xx_dif_set_standard()
1905 status = vid_blk_write_word(dev, DIF_VID_AUD_OVERRIDE, in cx231xx_dif_set_standard()
1907 status = vid_blk_write_word(dev, DIF_AV_SEP_CTRL, in cx231xx_dif_set_standard()
1909 status = vid_blk_write_word(dev, DIF_COMP_FLT_CTRL, in cx231xx_dif_set_standard()
1911 status = vid_blk_write_word(dev, DIF_SRC_PHASE_INC, in cx231xx_dif_set_standard()
1913 status = vid_blk_write_word(dev, DIF_SRC_GAIN_CONTROL, in cx231xx_dif_set_standard()
1915 status = vid_blk_write_word(dev, DIF_SOFT_RST_CTRL_REVB, in cx231xx_dif_set_standard()
1924 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1926 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1928 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1930 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1932 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1934 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1936 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1938 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1940 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()
1951 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()
1962 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1971 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1973 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1975 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1977 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1979 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1981 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1983 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1985 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
1987 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()
1998 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()
2009 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
2027 status = vid_blk_write_word(dev, DIF_PLL_CTRL, 0x6503BC0C); in cx231xx_dif_set_standard()
2028 status = vid_blk_write_word(dev, DIF_PLL_CTRL1, 0xBD038C85); in cx231xx_dif_set_standard()
2029 status = vid_blk_write_word(dev, DIF_PLL_CTRL2, 0x1DB4640A); in cx231xx_dif_set_standard()
2030 status = vid_blk_write_word(dev, DIF_PLL_CTRL3, 0x00008800); in cx231xx_dif_set_standard()
2031 status = vid_blk_write_word(dev, DIF_AGC_IF_REF, 0x444C0380); in cx231xx_dif_set_standard()
2032 status = vid_blk_write_word(dev, DIF_AGC_IF_INT_CURRENT, in cx231xx_dif_set_standard()
2034 status = vid_blk_write_word(dev, DIF_AGC_RF_CURRENT, in cx231xx_dif_set_standard()
2036 status = vid_blk_write_word(dev, DIF_VIDEO_AGC_CTRL, in cx231xx_dif_set_standard()
2038 status = vid_blk_write_word(dev, DIF_VID_AUD_OVERRIDE, in cx231xx_dif_set_standard()
2040 status = vid_blk_write_word(dev, DIF_AV_SEP_CTRL, 0x01296e1f); in cx231xx_dif_set_standard()
2042 status = vid_blk_write_word(dev, DIF_COMP_FLT_CTRL, in cx231xx_dif_set_standard()
2044 status = vid_blk_write_word(dev, DIF_SRC_PHASE_INC, in cx231xx_dif_set_standard()
2046 status = vid_blk_write_word(dev, DIF_SRC_GAIN_CONTROL, in cx231xx_dif_set_standard()
2049 status = vid_blk_write_word(dev, DIF_AGC_CTRL_IF, 0xC2262600); in cx231xx_dif_set_standard()
2050 status = vid_blk_write_word(dev, DIF_AGC_CTRL_INT, in cx231xx_dif_set_standard()
2052 status = vid_blk_write_word(dev, DIF_AGC_CTRL_RF, 0xC2262600); in cx231xx_dif_set_standard()
2059 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
2061 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
2063 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
2065 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
2067 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
2069 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
2071 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
2073 status = cx231xx_reg_mask_write(dev, VID_BLK_I2C_ADDRESS, 32, in cx231xx_dif_set_standard()
2075 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()
2089 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()
2112 if (dev->active_mode == V4L2_TUNER_RADIO) in cx231xx_dif_set_standard()
2116 status = vid_blk_write_word(dev, DIF_MISC_CTRL, dif_misc_ctrl_value); in cx231xx_dif_set_standard()
2121 int cx231xx_tuner_pre_channel_change(struct cx231xx *dev) in cx231xx_tuner_pre_channel_change() argument
2127 status = vid_blk_read_word(dev, DIF_AGC_IF_REF, &dwval); in cx231xx_tuner_pre_channel_change()
2131 status = vid_blk_write_word(dev, DIF_AGC_IF_REF, dwval); in cx231xx_tuner_pre_channel_change()
2136 int cx231xx_tuner_post_channel_change(struct cx231xx *dev) in cx231xx_tuner_post_channel_change() argument
2140 dev_dbg(dev->dev, "%s: dev->tuner_type =0%d\n", in cx231xx_tuner_post_channel_change()
2141 __func__, dev->tuner_type); in cx231xx_tuner_post_channel_change()
2144 status = vid_blk_read_word(dev, DIF_AGC_IF_REF, &dwval); in cx231xx_tuner_post_channel_change()
2147 if (dev->norm & (V4L2_STD_SECAM_L | V4L2_STD_SECAM_B | in cx231xx_tuner_post_channel_change()
2149 if (dev->tuner_type == TUNER_NXP_TDA18271) { in cx231xx_tuner_post_channel_change()
2155 if (dev->tuner_type == TUNER_NXP_TDA18271) { in cx231xx_tuner_post_channel_change()
2162 status = vid_blk_write_word(dev, DIF_AGC_IF_REF, dwval); in cx231xx_tuner_post_channel_change()
2170 int cx231xx_i2s_blk_initialize(struct cx231xx *dev) in cx231xx_i2s_blk_initialize() argument
2175 status = cx231xx_read_i2c_data(dev, I2S_BLK_DEVICE_ADDRESS, in cx231xx_i2s_blk_initialize()
2179 status = cx231xx_write_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()
2188 int cx231xx_i2s_blk_update_power_control(struct cx231xx *dev, in cx231xx_i2s_blk_update_power_control() argument
2195 status = cx231xx_read_i2c_data(dev, I2S_BLK_DEVICE_ADDRESS, in cx231xx_i2s_blk_update_power_control()
2198 status = cx231xx_write_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()
2209 int cx231xx_i2s_blk_set_audio_input(struct cx231xx *dev, u8 audio_input) in cx231xx_i2s_blk_set_audio_input() argument
2215 status = cx231xx_write_i2c_data(dev, I2S_BLK_DEVICE_ADDRESS, in cx231xx_i2s_blk_set_audio_input()
2217 status = cx231xx_write_i2c_data(dev, I2S_BLK_DEVICE_ADDRESS, in cx231xx_i2s_blk_set_audio_input()
2225 dev->ctl_ainput = audio_input; in cx231xx_i2s_blk_set_audio_input()
2233 int cx231xx_set_power_mode(struct cx231xx *dev, enum AV_MODE mode) in cx231xx_set_power_mode() argument
2239 if (dev->power_mode != mode) in cx231xx_set_power_mode()
2240 dev->power_mode = mode; in cx231xx_set_power_mode()
2242 dev_dbg(dev->dev, "%s: mode = %d, No Change req.\n", in cx231xx_set_power_mode()
2247 status = cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, PWR_CTL_EN, value, in cx231xx_set_power_mode()
2264 status = cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER, in cx231xx_set_power_mode()
2274 cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER, PWR_CTL_EN, in cx231xx_set_power_mode()
2283 status = cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER, in cx231xx_set_power_mode()
2287 dev->xc_fw_load_done = 0; in cx231xx_set_power_mode()
2297 status = cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER, in cx231xx_set_power_mode()
2307 status = cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER, in cx231xx_set_power_mode()
2318 status = cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER, in cx231xx_set_power_mode()
2328 status = cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER, in cx231xx_set_power_mode()
2339 status = cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER, in cx231xx_set_power_mode()
2344 if (dev->board.tuner_type != TUNER_ABSENT) { in cx231xx_set_power_mode()
2346 if (dev->board.tuner_gpio) in cx231xx_set_power_mode()
2347 cx231xx_gpio_set(dev, dev->board.tuner_gpio); in cx231xx_set_power_mode()
2349 if (dev->cx231xx_reset_analog_tuner) in cx231xx_set_power_mode()
2350 dev->cx231xx_reset_analog_tuner(dev); in cx231xx_set_power_mode()
2362 status = cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER, in cx231xx_set_power_mode()
2372 status = cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER, in cx231xx_set_power_mode()
2382 status = cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER, in cx231xx_set_power_mode()
2393 status = cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER, in cx231xx_set_power_mode()
2403 status = cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER, in cx231xx_set_power_mode()
2408 if (dev->board.tuner_type != TUNER_ABSENT) { in cx231xx_set_power_mode()
2410 if (dev->board.tuner_gpio) in cx231xx_set_power_mode()
2411 cx231xx_gpio_set(dev, dev->board.tuner_gpio); in cx231xx_set_power_mode()
2413 if (dev->cx231xx_reset_analog_tuner) in cx231xx_set_power_mode()
2414 dev->cx231xx_reset_analog_tuner(dev); in cx231xx_set_power_mode()
2432 status = cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER, in cx231xx_set_power_mode()
2438 status = cx231xx_afe_update_power_control(dev, mode); in cx231xx_set_power_mode()
2441 status = cx231xx_i2s_blk_update_power_control(dev, mode); in cx231xx_set_power_mode()
2443 status = cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, PWR_CTL_EN, value, in cx231xx_set_power_mode()
2449 int cx231xx_power_suspend(struct cx231xx *dev) in cx231xx_power_suspend() argument
2455 status = cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, PWR_CTL_EN, in cx231xx_power_suspend()
2467 status = cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER, PWR_CTL_EN, in cx231xx_power_suspend()
2476 int cx231xx_start_stream(struct cx231xx *dev, u32 ep_mask) in cx231xx_start_stream() argument
2482 dev_dbg(dev->dev, "%s: ep_mask = %x\n", __func__, ep_mask); in cx231xx_start_stream()
2483 status = cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, EP_MODE_SET, in cx231xx_start_stream()
2495 status = cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER, EP_MODE_SET, in cx231xx_start_stream()
2501 int cx231xx_stop_stream(struct cx231xx *dev, u32 ep_mask) in cx231xx_stop_stream() argument
2507 dev_dbg(dev->dev, "%s: ep_mask = %x\n", __func__, ep_mask); in cx231xx_stop_stream()
2509 cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, EP_MODE_SET, value, 4); in cx231xx_stop_stream()
2520 status = cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER, EP_MODE_SET, in cx231xx_stop_stream()
2526 int cx231xx_initialize_stream_xfer(struct cx231xx *dev, u32 media_type) in cx231xx_initialize_stream_xfer() argument
2532 if (dev->udev->speed == USB_SPEED_HIGH) { in cx231xx_initialize_stream_xfer()
2535 dev_dbg(dev->dev, in cx231xx_initialize_stream_xfer()
2538 cx231xx_mode_register(dev, TS_MODE_REG, 0x9300); in cx231xx_initialize_stream_xfer()
2542 dev_dbg(dev->dev, in cx231xx_initialize_stream_xfer()
2544 status = cx231xx_mode_register(dev, TS_MODE_REG, 0x300); in cx231xx_initialize_stream_xfer()
2548 dev_dbg(dev->dev, in cx231xx_initialize_stream_xfer()
2551 cx231xx_mode_register(dev, TS_MODE_REG, 0x1300); in cx231xx_initialize_stream_xfer()
2555 dev_dbg(dev->dev, in cx231xx_initialize_stream_xfer()
2557 status = cx231xx_mode_register(dev, TS_MODE_REG, 0x100); in cx231xx_initialize_stream_xfer()
2561 dev_dbg(dev->dev, in cx231xx_initialize_stream_xfer()
2564 if (dev->board.has_417) { in cx231xx_initialize_stream_xfer()
2565 dev_dbg(dev->dev, in cx231xx_initialize_stream_xfer()
2570 status = cx231xx_mode_register(dev, in cx231xx_initialize_stream_xfer()
2577 status = cx231xx_write_ctrl_reg(dev, in cx231xx_initialize_stream_xfer()
2585 status = cx231xx_write_ctrl_reg(dev, in cx231xx_initialize_stream_xfer()
2589 dev_dbg(dev->dev, "%s: BDA\n", __func__); in cx231xx_initialize_stream_xfer()
2590 status = cx231xx_mode_register(dev, in cx231xx_initialize_stream_xfer()
2592 status = cx231xx_mode_register(dev, in cx231xx_initialize_stream_xfer()
2598 dev_dbg(dev->dev, in cx231xx_initialize_stream_xfer()
2601 status = cx231xx_mode_register(dev, TS_MODE_REG, 0x100); in cx231xx_initialize_stream_xfer()
2602 status = cx231xx_mode_register(dev, TS1_CFG_REG, 0x400); in cx231xx_initialize_stream_xfer()
2606 status = cx231xx_mode_register(dev, TS_MODE_REG, 0x101); in cx231xx_initialize_stream_xfer()
2612 int cx231xx_capture_start(struct cx231xx *dev, int start, u8 media_type) in cx231xx_capture_start() argument
2619 pcb_config = (struct pcb_config *)&dev->current_pcb_config; in cx231xx_capture_start()
2646 rc = cx231xx_initialize_stream_xfer(dev, media_type); in cx231xx_capture_start()
2653 rc = cx231xx_start_stream(dev, ep_mask); in cx231xx_capture_start()
2657 rc = cx231xx_stop_stream(dev, ep_mask); in cx231xx_capture_start()
2667 static int cx231xx_set_gpio_bit(struct cx231xx *dev, u32 gpio_bit, u32 gpio_val) in cx231xx_set_gpio_bit() argument
2672 status = cx231xx_send_gpio_cmd(dev, gpio_bit, (u8 *)&gpio_val, 4, 0, 0); in cx231xx_set_gpio_bit()
2677 static int cx231xx_get_gpio_bit(struct cx231xx *dev, u32 gpio_bit, u32 *gpio_val) in cx231xx_get_gpio_bit() argument
2682 status = cx231xx_send_gpio_cmd(dev, gpio_bit, (u8 *)&tmp, 4, 0, 1); in cx231xx_get_gpio_bit()
2699 int cx231xx_set_gpio_direction(struct cx231xx *dev, in cx231xx_set_gpio_direction() argument
2711 value = dev->gpio_dir & (~(1 << pin_number)); /* clear */ in cx231xx_set_gpio_direction()
2713 value = dev->gpio_dir | (1 << pin_number); in cx231xx_set_gpio_direction()
2715 status = cx231xx_set_gpio_bit(dev, value, dev->gpio_val); in cx231xx_set_gpio_direction()
2718 dev->gpio_dir = value; in cx231xx_set_gpio_direction()
2734 int cx231xx_set_gpio_value(struct cx231xx *dev, int pin_number, int pin_value) in cx231xx_set_gpio_value() argument
2744 if ((dev->gpio_dir & (1 << pin_number)) == 0x00) { in cx231xx_set_gpio_value()
2746 value = dev->gpio_dir | (1 << pin_number); in cx231xx_set_gpio_value()
2747 dev->gpio_dir = value; in cx231xx_set_gpio_value()
2748 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, in cx231xx_set_gpio_value()
2749 dev->gpio_val); in cx231xx_set_gpio_value()
2754 value = dev->gpio_val & (~(1 << pin_number)); in cx231xx_set_gpio_value()
2756 value = dev->gpio_val | (1 << pin_number); in cx231xx_set_gpio_value()
2759 dev->gpio_val = value; in cx231xx_set_gpio_value()
2762 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, dev->gpio_val); in cx231xx_set_gpio_value()
2770 int cx231xx_gpio_i2c_start(struct cx231xx *dev) in cx231xx_gpio_i2c_start() argument
2775 dev->gpio_dir |= 1 << dev->board.tuner_scl_gpio; in cx231xx_gpio_i2c_start()
2776 dev->gpio_dir |= 1 << dev->board.tuner_sda_gpio; in cx231xx_gpio_i2c_start()
2777 dev->gpio_val |= 1 << dev->board.tuner_scl_gpio; in cx231xx_gpio_i2c_start()
2778 dev->gpio_val |= 1 << dev->board.tuner_sda_gpio; in cx231xx_gpio_i2c_start()
2780 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, dev->gpio_val); in cx231xx_gpio_i2c_start()
2785 dev->gpio_val |= 1 << dev->board.tuner_scl_gpio; in cx231xx_gpio_i2c_start()
2786 dev->gpio_val &= ~(1 << dev->board.tuner_sda_gpio); in cx231xx_gpio_i2c_start()
2788 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, dev->gpio_val); in cx231xx_gpio_i2c_start()
2793 dev->gpio_val &= ~(1 << dev->board.tuner_scl_gpio); in cx231xx_gpio_i2c_start()
2794 dev->gpio_val &= ~(1 << dev->board.tuner_sda_gpio); in cx231xx_gpio_i2c_start()
2796 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, dev->gpio_val); in cx231xx_gpio_i2c_start()
2803 int cx231xx_gpio_i2c_end(struct cx231xx *dev) in cx231xx_gpio_i2c_end() argument
2808 dev->gpio_dir |= 1 << dev->board.tuner_scl_gpio; in cx231xx_gpio_i2c_end()
2809 dev->gpio_dir |= 1 << dev->board.tuner_sda_gpio; in cx231xx_gpio_i2c_end()
2811 dev->gpio_val &= ~(1 << dev->board.tuner_scl_gpio); in cx231xx_gpio_i2c_end()
2812 dev->gpio_val &= ~(1 << dev->board.tuner_sda_gpio); in cx231xx_gpio_i2c_end()
2814 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, dev->gpio_val); in cx231xx_gpio_i2c_end()
2819 dev->gpio_val |= 1 << dev->board.tuner_scl_gpio; in cx231xx_gpio_i2c_end()
2820 dev->gpio_val &= ~(1 << dev->board.tuner_sda_gpio); in cx231xx_gpio_i2c_end()
2822 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, dev->gpio_val); in cx231xx_gpio_i2c_end()
2828 dev->gpio_dir &= ~(1 << dev->board.tuner_scl_gpio); in cx231xx_gpio_i2c_end()
2829 dev->gpio_dir &= ~(1 << dev->board.tuner_sda_gpio); in cx231xx_gpio_i2c_end()
2832 cx231xx_set_gpio_bit(dev, dev->gpio_dir, dev->gpio_val); in cx231xx_gpio_i2c_end()
2839 int cx231xx_gpio_i2c_write_byte(struct cx231xx *dev, u8 data) in cx231xx_gpio_i2c_write_byte() argument
2845 dev->gpio_dir |= 1 << dev->board.tuner_scl_gpio; in cx231xx_gpio_i2c_write_byte()
2846 dev->gpio_dir |= 1 << dev->board.tuner_sda_gpio; in cx231xx_gpio_i2c_write_byte()
2851 dev->gpio_val &= ~(1 << dev->board.tuner_scl_gpio); in cx231xx_gpio_i2c_write_byte()
2852 dev->gpio_val &= ~(1 << dev->board.tuner_sda_gpio); in cx231xx_gpio_i2c_write_byte()
2853 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, in cx231xx_gpio_i2c_write_byte()
2854 dev->gpio_val); in cx231xx_gpio_i2c_write_byte()
2857 dev->gpio_val |= 1 << dev->board.tuner_scl_gpio; in cx231xx_gpio_i2c_write_byte()
2858 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, in cx231xx_gpio_i2c_write_byte()
2859 dev->gpio_val); in cx231xx_gpio_i2c_write_byte()
2862 dev->gpio_val &= ~(1 << dev->board.tuner_scl_gpio); in cx231xx_gpio_i2c_write_byte()
2863 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, in cx231xx_gpio_i2c_write_byte()
2864 dev->gpio_val); in cx231xx_gpio_i2c_write_byte()
2867 dev->gpio_val &= ~(1 << dev->board.tuner_scl_gpio); in cx231xx_gpio_i2c_write_byte()
2868 dev->gpio_val |= 1 << dev->board.tuner_sda_gpio; in cx231xx_gpio_i2c_write_byte()
2869 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, in cx231xx_gpio_i2c_write_byte()
2870 dev->gpio_val); in cx231xx_gpio_i2c_write_byte()
2873 dev->gpio_val |= 1 << dev->board.tuner_scl_gpio; in cx231xx_gpio_i2c_write_byte()
2874 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, in cx231xx_gpio_i2c_write_byte()
2875 dev->gpio_val); in cx231xx_gpio_i2c_write_byte()
2878 dev->gpio_val &= ~(1 << dev->board.tuner_scl_gpio); in cx231xx_gpio_i2c_write_byte()
2879 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, in cx231xx_gpio_i2c_write_byte()
2880 dev->gpio_val); in cx231xx_gpio_i2c_write_byte()
2886 int cx231xx_gpio_i2c_read_byte(struct cx231xx *dev, u8 *buf) in cx231xx_gpio_i2c_read_byte() argument
2897 dev->gpio_val &= ~(1 << dev->board.tuner_scl_gpio); in cx231xx_gpio_i2c_read_byte()
2898 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, in cx231xx_gpio_i2c_read_byte()
2899 dev->gpio_val); in cx231xx_gpio_i2c_read_byte()
2902 dev->gpio_val |= 1 << dev->board.tuner_scl_gpio; in cx231xx_gpio_i2c_read_byte()
2903 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, in cx231xx_gpio_i2c_read_byte()
2904 dev->gpio_val); in cx231xx_gpio_i2c_read_byte()
2907 gpio_logic_value = dev->gpio_val; in cx231xx_gpio_i2c_read_byte()
2908 status = cx231xx_get_gpio_bit(dev, dev->gpio_dir, in cx231xx_gpio_i2c_read_byte()
2909 &dev->gpio_val); in cx231xx_gpio_i2c_read_byte()
2910 if ((dev->gpio_val & (1 << dev->board.tuner_sda_gpio)) != 0) in cx231xx_gpio_i2c_read_byte()
2913 dev->gpio_val = gpio_logic_value; in cx231xx_gpio_i2c_read_byte()
2919 dev->gpio_val &= ~(1 << dev->board.tuner_scl_gpio); in cx231xx_gpio_i2c_read_byte()
2920 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, dev->gpio_val); in cx231xx_gpio_i2c_read_byte()
2928 int cx231xx_gpio_i2c_read_ack(struct cx231xx *dev) in cx231xx_gpio_i2c_read_ack() argument
2937 dev->gpio_dir &= ~(1 << dev->board.tuner_sda_gpio); in cx231xx_gpio_i2c_read_ack()
2938 dev->gpio_dir &= ~(1 << dev->board.tuner_scl_gpio); in cx231xx_gpio_i2c_read_ack()
2940 gpio_logic_value = dev->gpio_val; in cx231xx_gpio_i2c_read_ack()
2941 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, dev->gpio_val); in cx231xx_gpio_i2c_read_ack()
2945 status = cx231xx_get_gpio_bit(dev, dev->gpio_dir, in cx231xx_gpio_i2c_read_ack()
2946 &dev->gpio_val); in cx231xx_gpio_i2c_read_ack()
2948 } while (((dev->gpio_val & in cx231xx_gpio_i2c_read_ack()
2949 (1 << dev->board.tuner_scl_gpio)) == 0) && in cx231xx_gpio_i2c_read_ack()
2953 dev_dbg(dev->dev, in cx231xx_gpio_i2c_read_ack()
2962 status = cx231xx_get_gpio_bit(dev, dev->gpio_dir, &dev->gpio_val); in cx231xx_gpio_i2c_read_ack()
2964 if ((dev->gpio_val & 1 << dev->board.tuner_sda_gpio) == 0) { in cx231xx_gpio_i2c_read_ack()
2965 dev->gpio_val = gpio_logic_value; in cx231xx_gpio_i2c_read_ack()
2966 dev->gpio_val &= ~(1 << dev->board.tuner_sda_gpio); in cx231xx_gpio_i2c_read_ack()
2969 dev->gpio_val = gpio_logic_value; in cx231xx_gpio_i2c_read_ack()
2970 dev->gpio_val |= (1 << dev->board.tuner_sda_gpio); in cx231xx_gpio_i2c_read_ack()
2975 dev->gpio_val = gpio_logic_value; in cx231xx_gpio_i2c_read_ack()
2976 dev->gpio_dir |= (1 << dev->board.tuner_scl_gpio); in cx231xx_gpio_i2c_read_ack()
2977 dev->gpio_val &= ~(1 << dev->board.tuner_scl_gpio); in cx231xx_gpio_i2c_read_ack()
2978 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, dev->gpio_val); in cx231xx_gpio_i2c_read_ack()
2983 int cx231xx_gpio_i2c_write_ack(struct cx231xx *dev) in cx231xx_gpio_i2c_write_ack() argument
2988 dev->gpio_dir |= 1 << dev->board.tuner_sda_gpio; in cx231xx_gpio_i2c_write_ack()
2989 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, dev->gpio_val); in cx231xx_gpio_i2c_write_ack()
2992 dev->gpio_val &= ~(1 << dev->board.tuner_sda_gpio); in cx231xx_gpio_i2c_write_ack()
2993 dev->gpio_val &= ~(1 << dev->board.tuner_scl_gpio); in cx231xx_gpio_i2c_write_ack()
2994 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, dev->gpio_val); in cx231xx_gpio_i2c_write_ack()
2997 dev->gpio_val |= 1 << dev->board.tuner_scl_gpio; in cx231xx_gpio_i2c_write_ack()
2998 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, dev->gpio_val); in cx231xx_gpio_i2c_write_ack()
3001 dev->gpio_val &= ~(1 << dev->board.tuner_scl_gpio); in cx231xx_gpio_i2c_write_ack()
3002 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, dev->gpio_val); in cx231xx_gpio_i2c_write_ack()
3005 dev->gpio_dir &= ~(1 << dev->board.tuner_sda_gpio); in cx231xx_gpio_i2c_write_ack()
3006 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, dev->gpio_val); in cx231xx_gpio_i2c_write_ack()
3011 int cx231xx_gpio_i2c_write_nak(struct cx231xx *dev) in cx231xx_gpio_i2c_write_nak() argument
3016 dev->gpio_dir |= 1 << dev->board.tuner_scl_gpio; in cx231xx_gpio_i2c_write_nak()
3017 dev->gpio_dir &= ~(1 << dev->board.tuner_sda_gpio); in cx231xx_gpio_i2c_write_nak()
3018 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, dev->gpio_val); in cx231xx_gpio_i2c_write_nak()
3021 dev->gpio_val &= ~(1 << dev->board.tuner_scl_gpio); in cx231xx_gpio_i2c_write_nak()
3022 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, dev->gpio_val); in cx231xx_gpio_i2c_write_nak()
3025 dev->gpio_val |= 1 << dev->board.tuner_scl_gpio; in cx231xx_gpio_i2c_write_nak()
3026 status = cx231xx_set_gpio_bit(dev, dev->gpio_dir, dev->gpio_val); in cx231xx_gpio_i2c_write_nak()
3037 int cx231xx_gpio_i2c_read(struct cx231xx *dev, u8 dev_addr, u8 *buf, u8 len) in cx231xx_gpio_i2c_read() argument
3043 mutex_lock(&dev->gpio_i2c_lock); in cx231xx_gpio_i2c_read()
3046 status = cx231xx_gpio_i2c_start(dev); in cx231xx_gpio_i2c_read()
3049 status = cx231xx_gpio_i2c_write_byte(dev, (dev_addr << 1) + 1); in cx231xx_gpio_i2c_read()
3052 status = cx231xx_gpio_i2c_read_ack(dev); in cx231xx_gpio_i2c_read()
3058 status = cx231xx_gpio_i2c_read_byte(dev, &buf[i]); in cx231xx_gpio_i2c_read()
3062 status = cx231xx_gpio_i2c_write_ack(dev); in cx231xx_gpio_i2c_read()
3067 status = cx231xx_gpio_i2c_write_nak(dev); in cx231xx_gpio_i2c_read()
3070 status = cx231xx_gpio_i2c_end(dev); in cx231xx_gpio_i2c_read()
3073 mutex_unlock(&dev->gpio_i2c_lock); in cx231xx_gpio_i2c_read()
3081 int cx231xx_gpio_i2c_write(struct cx231xx *dev, u8 dev_addr, u8 *buf, u8 len) in cx231xx_gpio_i2c_write() argument
3086 mutex_lock(&dev->gpio_i2c_lock); in cx231xx_gpio_i2c_write()
3089 cx231xx_gpio_i2c_start(dev); in cx231xx_gpio_i2c_write()
3092 cx231xx_gpio_i2c_write_byte(dev, dev_addr << 1); in cx231xx_gpio_i2c_write()
3095 cx231xx_gpio_i2c_read_ack(dev); in cx231xx_gpio_i2c_write()
3099 cx231xx_gpio_i2c_write_byte(dev, buf[i]); in cx231xx_gpio_i2c_write()
3102 cx231xx_gpio_i2c_read_ack(dev); in cx231xx_gpio_i2c_write()
3106 cx231xx_gpio_i2c_end(dev); in cx231xx_gpio_i2c_write()
3109 mutex_unlock(&dev->gpio_i2c_lock); in cx231xx_gpio_i2c_write()