Lines Matching refs:chip
156 static int chip_write(struct CHIPSTATE *chip, int subaddr, int val) in chip_write() argument
158 struct v4l2_subdev *sd = &chip->sd; in chip_write()
164 chip->shadow.bytes[1] = val; in chip_write()
171 if (subaddr + 1 >= ARRAY_SIZE(chip->shadow.bytes)) { in chip_write()
180 chip->shadow.bytes[subaddr+1] = val; in chip_write()
192 static int chip_write_masked(struct CHIPSTATE *chip, in chip_write_masked() argument
195 struct v4l2_subdev *sd = &chip->sd; in chip_write_masked()
199 val = (chip->shadow.bytes[1] & ~mask) | (val & mask); in chip_write_masked()
201 if (subaddr + 1 >= ARRAY_SIZE(chip->shadow.bytes)) { in chip_write_masked()
208 val = (chip->shadow.bytes[subaddr+1] & ~mask) | (val & mask); in chip_write_masked()
211 return chip_write(chip, subaddr, val); in chip_write_masked()
214 static int chip_read(struct CHIPSTATE *chip) in chip_read() argument
216 struct v4l2_subdev *sd = &chip->sd; in chip_read()
228 static int chip_read2(struct CHIPSTATE *chip, int subaddr) in chip_read2() argument
230 struct v4l2_subdev *sd = &chip->sd; in chip_read2()
259 static int chip_cmd(struct CHIPSTATE *chip, char *name, audiocmd *cmd) in chip_cmd() argument
261 struct v4l2_subdev *sd = &chip->sd; in chip_cmd()
268 if (cmd->count + cmd->bytes[0] - 1 >= ARRAY_SIZE(chip->shadow.bytes)) { in chip_cmd()
283 chip->shadow.bytes[i+cmd->bytes[0]] = cmd->bytes[i]; in chip_cmd()
305 struct CHIPSTATE *chip = (struct CHIPSTATE*)data; in chip_thread_wake() local
306 wake_up_process(chip->thread); in chip_thread_wake()
311 struct CHIPSTATE *chip = data; in chip_thread() local
312 struct CHIPDESC *desc = chip->desc; in chip_thread()
313 struct v4l2_subdev *sd = &chip->sd; in chip_thread()
329 if (chip->radio) in chip_thread()
333 mode = desc->getrxsubchans(chip); in chip_thread()
334 if (mode == chip->prevmode) in chip_thread()
340 chip->prevmode = mode; in chip_thread()
343 switch (chip->audmode) { in chip_thread()
367 desc->setaudmode(chip, selected); in chip_thread()
370 mod_timer(&chip->wt, jiffies+msecs_to_jiffies(2000)); in chip_thread()
400 static int tda9840_getrxsubchans(struct CHIPSTATE *chip) in tda9840_getrxsubchans() argument
402 struct v4l2_subdev *sd = &chip->sd; in tda9840_getrxsubchans()
405 val = chip_read(chip); in tda9840_getrxsubchans()
418 static void tda9840_setaudmode(struct CHIPSTATE *chip, int mode) in tda9840_setaudmode() argument
421 int t = chip->shadow.bytes[TDA9840_SW + 1] & ~0x7e; in tda9840_setaudmode()
444 chip_write(chip, TDA9840_SW, t); in tda9840_setaudmode()
447 static int tda9840_checkit(struct CHIPSTATE *chip) in tda9840_checkit() argument
450 rc = chip_read(chip); in tda9840_checkit()
560 static int tda985x_getrxsubchans(struct CHIPSTATE *chip) in tda985x_getrxsubchans() argument
567 val = chip_read(chip); in tda985x_getrxsubchans()
575 static void tda985x_setaudmode(struct CHIPSTATE *chip, int mode) in tda985x_setaudmode() argument
578 int c6 = chip->shadow.bytes[TDA985x_C6+1] & 0x3f; in tda985x_setaudmode()
598 chip_write(chip,TDA985x_C6,c6); in tda985x_setaudmode()
720 static int tda9873_getrxsubchans(struct CHIPSTATE *chip) in tda9873_getrxsubchans() argument
722 struct v4l2_subdev *sd = &chip->sd; in tda9873_getrxsubchans()
725 val = chip_read(chip); in tda9873_getrxsubchans()
737 static void tda9873_setaudmode(struct CHIPSTATE *chip, int mode) in tda9873_setaudmode() argument
739 struct v4l2_subdev *sd = &chip->sd; in tda9873_setaudmode()
740 int sw_data = chip->shadow.bytes[TDA9873_SW+1] & ~ TDA9873_TR_MASK; in tda9873_setaudmode()
751 TDA9873_SW+1, chip->shadow.bytes[TDA9873_SW+1]); in tda9873_setaudmode()
775 chip_write(chip, TDA9873_SW, sw_data); in tda9873_setaudmode()
781 static int tda9873_checkit(struct CHIPSTATE *chip) in tda9873_checkit() argument
785 if (-1 == (rc = chip_read2(chip,254))) in tda9873_checkit()
884 static int tda9874a_setup(struct CHIPSTATE *chip) in tda9874a_setup() argument
886 struct v4l2_subdev *sd = &chip->sd; in tda9874a_setup()
888 chip_write(chip, TDA9874A_AGCGR, 0x00); /* 0 dB */ in tda9874a_setup()
889 chip_write(chip, TDA9874A_GCONR, tda9874a_GCONR); in tda9874a_setup()
890 chip_write(chip, TDA9874A_MSR, (tda9874a_mode) ? 0x03:0x02); in tda9874a_setup()
892 chip_write(chip, TDA9874A_FMMR, 0x80); in tda9874a_setup()
894 chip_cmd(chip,"tda9874_modelist",&tda9874a_modelist[tda9874a_STD].cmd); in tda9874a_setup()
895 chip_write(chip, TDA9874A_FMMR, 0x00); in tda9874a_setup()
897 chip_write(chip, TDA9874A_C1OLAR, 0x00); /* 0 dB */ in tda9874a_setup()
898 chip_write(chip, TDA9874A_C2OLAR, 0x00); /* 0 dB */ in tda9874a_setup()
899 chip_write(chip, TDA9874A_NCONR, tda9874a_NCONR); in tda9874a_setup()
900 chip_write(chip, TDA9874A_NOLAR, 0x00); /* 0 dB */ in tda9874a_setup()
904 chip_write(chip, TDA9874A_NLELR, 0x14); /* default */ in tda9874a_setup()
905 chip_write(chip, TDA9874A_NUELR, 0x50); /* default */ in tda9874a_setup()
908 chip_write(chip, TDA9874A_AMCONR, 0xf9); in tda9874a_setup()
909 chip_write(chip, TDA9874A_SDACOSR, (tda9874a_mode) ? 0x81:0x80); in tda9874a_setup()
910 chip_write(chip, TDA9874A_AOSR, 0x80); in tda9874a_setup()
911 chip_write(chip, TDA9874A_MDACOSR, (tda9874a_mode) ? 0x82:0x80); in tda9874a_setup()
912 chip_write(chip, TDA9874A_ESP, tda9874a_ESP); in tda9874a_setup()
914 chip_write(chip, TDA9874A_AMCONR, 0xfb); in tda9874a_setup()
915 chip_write(chip, TDA9874A_SDACOSR, (tda9874a_mode) ? 0x81:0x80); in tda9874a_setup()
916 chip_write(chip, TDA9874A_AOSR, 0x00); /* or 0x10 */ in tda9874a_setup()
923 static int tda9874a_getrxsubchans(struct CHIPSTATE *chip) in tda9874a_getrxsubchans() argument
925 struct v4l2_subdev *sd = &chip->sd; in tda9874a_getrxsubchans()
931 if(-1 == (dsr = chip_read2(chip,TDA9874A_DSR))) in tda9874a_getrxsubchans()
933 if(-1 == (nsr = chip_read2(chip,TDA9874A_NSR))) in tda9874a_getrxsubchans()
935 if(-1 == (necr = chip_read2(chip,TDA9874A_NECR))) in tda9874a_getrxsubchans()
939 chip->shadow.bytes[MAXREGS-2] = dsr; in tda9874a_getrxsubchans()
940 chip->shadow.bytes[MAXREGS-1] = nsr; in tda9874a_getrxsubchans()
968 static void tda9874a_setaudmode(struct CHIPSTATE *chip, int mode) in tda9874a_setaudmode() argument
970 struct v4l2_subdev *sd = &chip->sd; in tda9874a_setaudmode()
975 if(chip->shadow.bytes[MAXREGS-2] & 0x20) /* DSR.RSSF=1 */ in tda9874a_setaudmode()
979 chip_write(chip, TDA9874A_NCONR, tda9874a_NCONR); in tda9874a_setaudmode()
1011 chip_write(chip, TDA9874A_AOSR, aosr); in tda9874a_setaudmode()
1012 chip_write(chip, TDA9874A_MDACOSR, mdacosr); in tda9874a_setaudmode()
1050 chip_write(chip, TDA9874A_FMMR, fmmr); in tda9874a_setaudmode()
1051 chip_write(chip, TDA9874A_AOSR, aosr); in tda9874a_setaudmode()
1059 static int tda9874a_checkit(struct CHIPSTATE *chip) in tda9874a_checkit() argument
1061 struct v4l2_subdev *sd = &chip->sd; in tda9874a_checkit()
1064 if(-1 == (dic = chip_read2(chip,TDA9874A_DIC))) in tda9874a_checkit()
1066 if(-1 == (sic = chip_read2(chip,TDA9874A_SIC))) in tda9874a_checkit()
1079 static int tda9874a_initialize(struct CHIPSTATE *chip) in tda9874a_initialize() argument
1101 tda9874a_setup(chip); in tda9874a_initialize()
1152 static int tda9875_initialize(struct CHIPSTATE *chip) in tda9875_initialize() argument
1154 chip_write(chip, TDA9875_CFG, 0xd0); /*reg de config 0 (reset)*/ in tda9875_initialize()
1155 chip_write(chip, TDA9875_MSR, 0x03); /* Monitor 0b00000XXX*/ in tda9875_initialize()
1156 chip_write(chip, TDA9875_C1MSB, 0x00); /*Car1(FM) MSB XMHz*/ in tda9875_initialize()
1157 chip_write(chip, TDA9875_C1MIB, 0x00); /*Car1(FM) MIB XMHz*/ in tda9875_initialize()
1158 chip_write(chip, TDA9875_C1LSB, 0x00); /*Car1(FM) LSB XMHz*/ in tda9875_initialize()
1159 chip_write(chip, TDA9875_C2MSB, 0x00); /*Car2(NICAM) MSB XMHz*/ in tda9875_initialize()
1160 chip_write(chip, TDA9875_C2MIB, 0x00); /*Car2(NICAM) MIB XMHz*/ in tda9875_initialize()
1161 chip_write(chip, TDA9875_C2LSB, 0x00); /*Car2(NICAM) LSB XMHz*/ in tda9875_initialize()
1162 chip_write(chip, TDA9875_DCR, 0x00); /*Demod config 0x00*/ in tda9875_initialize()
1163 chip_write(chip, TDA9875_DEEM, 0x44); /*DE-Emph 0b0100 0100*/ in tda9875_initialize()
1164 chip_write(chip, TDA9875_FMAT, 0x00); /*FM Matrix reg 0x00*/ in tda9875_initialize()
1165 chip_write(chip, TDA9875_SC1, 0x00); /* SCART 1 (SC1)*/ in tda9875_initialize()
1166 chip_write(chip, TDA9875_SC2, 0x01); /* SCART 2 (sc2)*/ in tda9875_initialize()
1168 chip_write(chip, TDA9875_CH1V, 0x10); /* Channel volume 1 mute*/ in tda9875_initialize()
1169 chip_write(chip, TDA9875_CH2V, 0x10); /* Channel volume 2 mute */ in tda9875_initialize()
1170 chip_write(chip, TDA9875_DACOS, 0x02); /* sig DAC i/o(in:nicam)*/ in tda9875_initialize()
1171 chip_write(chip, TDA9875_ADCIS, 0x6f); /* sig ADC input(in:mono)*/ in tda9875_initialize()
1172 chip_write(chip, TDA9875_LOSR, 0x00); /* line out (in:mono)*/ in tda9875_initialize()
1173 chip_write(chip, TDA9875_AER, 0x00); /*06 Effect (AVL+PSEUDO) */ in tda9875_initialize()
1174 chip_write(chip, TDA9875_MCS, 0x44); /* Main ch select (DAC) */ in tda9875_initialize()
1175 chip_write(chip, TDA9875_MVL, 0x03); /* Vol Main left 10dB */ in tda9875_initialize()
1176 chip_write(chip, TDA9875_MVR, 0x03); /* Vol Main right 10dB*/ in tda9875_initialize()
1177 chip_write(chip, TDA9875_MBA, 0x00); /* Main Bass Main 0dB*/ in tda9875_initialize()
1178 chip_write(chip, TDA9875_MTR, 0x00); /* Main Treble Main 0dB*/ in tda9875_initialize()
1179 chip_write(chip, TDA9875_ACS, 0x44); /* Aux chan select (dac)*/ in tda9875_initialize()
1180 chip_write(chip, TDA9875_AVL, 0x00); /* Vol Aux left 0dB*/ in tda9875_initialize()
1181 chip_write(chip, TDA9875_AVR, 0x00); /* Vol Aux right 0dB*/ in tda9875_initialize()
1182 chip_write(chip, TDA9875_ABA, 0x00); /* Aux Bass Main 0dB*/ in tda9875_initialize()
1183 chip_write(chip, TDA9875_ATR, 0x00); /* Aux Aigus Main 0dB*/ in tda9875_initialize()
1185 chip_write(chip, TDA9875_MUT, 0xcc); /* General mute */ in tda9875_initialize()
1200 static int tda9875_checkit(struct CHIPSTATE *chip) in tda9875_checkit() argument
1202 struct v4l2_subdev *sd = &chip->sd; in tda9875_checkit()
1205 dic = chip_read2(chip, 254); in tda9875_checkit()
1206 rev = chip_read2(chip, 255); in tda9875_checkit()
1260 static int tea6320_initialize(struct CHIPSTATE * chip) in tea6320_initialize() argument
1262 chip_write(chip, TEA6320_FFR, 0x3f); in tea6320_initialize()
1263 chip_write(chip, TEA6320_FFL, 0x3f); in tea6320_initialize()
1264 chip_write(chip, TEA6320_FRR, 0x3f); in tea6320_initialize()
1265 chip_write(chip, TEA6320_FRL, 0x3f); in tea6320_initialize()
1299 static void tda8425_setaudmode(struct CHIPSTATE *chip, int mode) in tda8425_setaudmode() argument
1301 int s1 = chip->shadow.bytes[TDA8425_S1+1] & 0xe1; in tda8425_setaudmode()
1327 chip_write(chip,TDA8425_S1,s1); in tda8425_setaudmode()
1378 static int ta8874z_getrxsubchans(struct CHIPSTATE *chip) in ta8874z_getrxsubchans() argument
1382 val = chip_read(chip); in ta8874z_getrxsubchans()
1401 static void ta8874z_setaudmode(struct CHIPSTATE *chip, int mode) in ta8874z_setaudmode() argument
1403 struct v4l2_subdev *sd = &chip->sd; in ta8874z_setaudmode()
1430 chip_cmd(chip, "TA8874Z", t); in ta8874z_setaudmode()
1433 static int ta8874z_checkit(struct CHIPSTATE *chip) in ta8874z_checkit() argument
1436 rc = chip_read(chip); in ta8874z_checkit()
1696 struct CHIPSTATE *chip = to_state(sd); in tvaudio_s_ctrl() local
1697 struct CHIPDESC *desc = chip->desc; in tvaudio_s_ctrl()
1701 chip->muted = ctrl->val; in tvaudio_s_ctrl()
1702 if (chip->muted) in tvaudio_s_ctrl()
1703 chip_write_masked(chip,desc->inputreg,desc->inputmute,desc->inputmask); in tvaudio_s_ctrl()
1705 chip_write_masked(chip,desc->inputreg, in tvaudio_s_ctrl()
1706 desc->inputmap[chip->input],desc->inputmask); in tvaudio_s_ctrl()
1712 volume = chip->volume->val; in tvaudio_s_ctrl()
1713 balance = chip->balance->val; in tvaudio_s_ctrl()
1717 chip_write(chip, desc->leftreg, desc->volfunc(left)); in tvaudio_s_ctrl()
1718 chip_write(chip, desc->rightreg, desc->volfunc(right)); in tvaudio_s_ctrl()
1722 chip_write(chip, desc->bassreg, desc->bassfunc(ctrl->val)); in tvaudio_s_ctrl()
1725 chip_write(chip, desc->treblereg, desc->treblefunc(ctrl->val)); in tvaudio_s_ctrl()
1737 struct CHIPSTATE *chip = to_state(sd); in tvaudio_s_radio() local
1739 chip->radio = 1; in tvaudio_s_radio()
1747 struct CHIPSTATE *chip = to_state(sd); in tvaudio_s_routing() local
1748 struct CHIPDESC *desc = chip->desc; in tvaudio_s_routing()
1755 chip->input = input; in tvaudio_s_routing()
1756 if (chip->muted) in tvaudio_s_routing()
1758 chip_write_masked(chip, desc->inputreg, in tvaudio_s_routing()
1759 desc->inputmap[chip->input], desc->inputmask); in tvaudio_s_routing()
1765 struct CHIPSTATE *chip = to_state(sd); in tvaudio_s_tuner() local
1766 struct CHIPDESC *desc = chip->desc; in tvaudio_s_tuner()
1770 if (chip->radio) in tvaudio_s_tuner()
1783 chip->audmode = vt->audmode; in tvaudio_s_tuner()
1785 if (chip->thread) in tvaudio_s_tuner()
1786 wake_up_process(chip->thread); in tvaudio_s_tuner()
1788 desc->setaudmode(chip, vt->audmode); in tvaudio_s_tuner()
1795 struct CHIPSTATE *chip = to_state(sd); in tvaudio_g_tuner() local
1796 struct CHIPDESC *desc = chip->desc; in tvaudio_g_tuner()
1800 if (chip->radio) in tvaudio_g_tuner()
1803 vt->audmode = chip->audmode; in tvaudio_g_tuner()
1804 vt->rxsubchans = desc->getrxsubchans(chip); in tvaudio_g_tuner()
1813 struct CHIPSTATE *chip = to_state(sd); in tvaudio_s_std() local
1815 chip->radio = 0; in tvaudio_s_std()
1821 struct CHIPSTATE *chip = to_state(sd); in tvaudio_s_frequency() local
1822 struct CHIPDESC *desc = chip->desc; in tvaudio_s_frequency()
1832 if (chip->thread) { in tvaudio_s_frequency()
1833 desc->setaudmode(chip, V4L2_TUNER_MODE_MONO); in tvaudio_s_frequency()
1834 chip->prevmode = -1; /* reset previous mode */ in tvaudio_s_frequency()
1835 mod_timer(&chip->wt, jiffies+msecs_to_jiffies(2000)); in tvaudio_s_frequency()
1842 struct CHIPSTATE *chip = to_state(sd); in tvaudio_log_status() local
1843 struct CHIPDESC *desc = chip->desc; in tvaudio_log_status()
1846 v4l2_ctrl_handler_log_status(&chip->hdl, sd->name); in tvaudio_log_status()
1896 struct CHIPSTATE *chip; in tvaudio_probe() local
1908 chip = devm_kzalloc(&client->dev, sizeof(*chip), GFP_KERNEL); in tvaudio_probe()
1909 if (!chip) in tvaudio_probe()
1911 sd = &chip->sd; in tvaudio_probe()
1922 if (desc->checkit && !desc->checkit(chip)) in tvaudio_probe()
1941 chip->desc = desc; in tvaudio_probe()
1942 chip->shadow.count = desc->registers+1; in tvaudio_probe()
1943 chip->prevmode = -1; in tvaudio_probe()
1944 chip->audmode = V4L2_TUNER_MODE_LANG1; in tvaudio_probe()
1948 desc->initialize(chip); in tvaudio_probe()
1950 chip_cmd(chip, "init", &desc->init); in tvaudio_probe()
1952 v4l2_ctrl_handler_init(&chip->hdl, 5); in tvaudio_probe()
1954 v4l2_ctrl_new_std(&chip->hdl, &tvaudio_ctrl_ops, in tvaudio_probe()
1964 chip->volume = v4l2_ctrl_new_std(&chip->hdl, in tvaudio_probe()
1968 chip->balance = v4l2_ctrl_new_std(&chip->hdl, in tvaudio_probe()
1971 v4l2_ctrl_cluster(2, &chip->volume); in tvaudio_probe()
1982 v4l2_ctrl_new_std(&chip->hdl, in tvaudio_probe()
1986 v4l2_ctrl_new_std(&chip->hdl, in tvaudio_probe()
1993 sd->ctrl_handler = &chip->hdl; in tvaudio_probe()
1994 if (chip->hdl.error) { in tvaudio_probe()
1995 int err = chip->hdl.error; in tvaudio_probe()
1997 v4l2_ctrl_handler_free(&chip->hdl); in tvaudio_probe()
2001 v4l2_ctrl_handler_setup(&chip->hdl); in tvaudio_probe()
2003 chip->thread = NULL; in tvaudio_probe()
2004 init_timer(&chip->wt); in tvaudio_probe()
2014 chip->wt.function = chip_thread_wake; in tvaudio_probe()
2015 chip->wt.data = (unsigned long)chip; in tvaudio_probe()
2016 chip->thread = kthread_run(chip_thread, chip, "%s", in tvaudio_probe()
2018 if (IS_ERR(chip->thread)) { in tvaudio_probe()
2020 chip->thread = NULL; in tvaudio_probe()
2029 struct CHIPSTATE *chip = to_state(sd); in tvaudio_remove() local
2031 del_timer_sync(&chip->wt); in tvaudio_remove()
2032 if (chip->thread) { in tvaudio_remove()
2034 kthread_stop(chip->thread); in tvaudio_remove()
2035 chip->thread = NULL; in tvaudio_remove()
2039 v4l2_ctrl_handler_free(&chip->hdl); in tvaudio_remove()