📄 linux-drivers-media-video-tea5767_c.htm
字号:
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L220" name=L220>220</A> <A href="http://www.linux-m32r.org/lxr/http/ident?i=tuner_dbg">tuner_dbg</A> (<I>"TEA5767 radio HIGH LO inject xtal @ 13 MHz\n"</I>);
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L221" name=L221>221</A> <A href="http://www.linux-m32r.org/lxr/http/ident?i=buffer">buffer</A>[2] |= <A href="http://www.linux-m32r.org/lxr/http/ident?i=TEA5767_HIGH_LO_INJECT">TEA5767_HIGH_LO_INJECT</A>;
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L222" name=L222>222</A> <A href="http://www.linux-m32r.org/lxr/http/ident?i=buffer">buffer</A>[4] |= <A href="http://www.linux-m32r.org/lxr/http/ident?i=TEA5767_PLLREF_ENABLE">TEA5767_PLLREF_ENABLE</A>;
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L223" name=L223>223</A> div = (frq * (4000 / 16) + 700000 + 225000 + 25000) / 50000;
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L224" name=L224>224</A> break;
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L225" name=L225>225</A> case TEA5767_LOW_LO_13MHz:
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L226" name=L226>226</A> <A href="http://www.linux-m32r.org/lxr/http/ident?i=tuner_dbg">tuner_dbg</A> (<I>"TEA5767 radio LOW LO inject xtal @ 13 MHz\n"</I>);
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L227" name=L227>227</A>
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L228" name=L228>228</A> <A href="http://www.linux-m32r.org/lxr/http/ident?i=buffer">buffer</A>[4] |= <A href="http://www.linux-m32r.org/lxr/http/ident?i=TEA5767_PLLREF_ENABLE">TEA5767_PLLREF_ENABLE</A>;
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L229" name=L229>229</A> div = (frq * (4000 / 16) - 700000 - 225000 + 25000) / 50000;
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L230" name=L230>230</A> break;
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L231" name=L231>231</A> case TEA5767_LOW_LO_32768:
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L232" name=L232>232</A> <A href="http://www.linux-m32r.org/lxr/http/ident?i=tuner_dbg">tuner_dbg</A> (<I>"TEA5767 radio LOW LO inject xtal @ 32,768 MHz\n"</I>);
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L233" name=L233>233</A> <A href="http://www.linux-m32r.org/lxr/http/ident?i=buffer">buffer</A>[3] |= <A href="http://www.linux-m32r.org/lxr/http/ident?i=TEA5767_XTAL_32768">TEA5767_XTAL_32768</A>;
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L234" name=L234>234</A> <B><I>/* const 700=4000*175 Khz - to adjust freq to right value */</I></B>
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L235" name=L235>235</A> div = ((frq * (4000 / 16) - 700000 - 225000) + 16384) >> 15;
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L236" name=L236>236</A> break;
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L237" name=L237>237</A> case TEA5767_HIGH_LO_32768:
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L238" name=L238>238</A> default:
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L239" name=L239>239</A> <A href="http://www.linux-m32r.org/lxr/http/ident?i=tuner_dbg">tuner_dbg</A> (<I>"TEA5767 radio HIGH LO inject xtal @ 32,768 MHz\n"</I>);
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L240" name=L240>240</A>
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L241" name=L241>241</A> <A href="http://www.linux-m32r.org/lxr/http/ident?i=buffer">buffer</A>[2] |= <A href="http://www.linux-m32r.org/lxr/http/ident?i=TEA5767_HIGH_LO_INJECT">TEA5767_HIGH_LO_INJECT</A>;
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L242" name=L242>242</A> <A href="http://www.linux-m32r.org/lxr/http/ident?i=buffer">buffer</A>[3] |= <A href="http://www.linux-m32r.org/lxr/http/ident?i=TEA5767_XTAL_32768">TEA5767_XTAL_32768</A>;
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L243" name=L243>243</A> div = ((frq * (4000 / 16) + 700000 + 225000) + 16384) >> 15;
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L244" name=L244>244</A> break;
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L245" name=L245>245</A> }
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L246" name=L246>246</A> <A href="http://www.linux-m32r.org/lxr/http/ident?i=buffer">buffer</A>[0] = (div >> 8) & 0x3f;
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L247" name=L247>247</A> <A href="http://www.linux-m32r.org/lxr/http/ident?i=buffer">buffer</A>[1] = div & 0xff;
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L248" name=L248>248</A>
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L249" name=L249>249</A> if (5 != (<A href="http://www.linux-m32r.org/lxr/http/ident?i=rc">rc</A> = <A href="http://www.linux-m32r.org/lxr/http/ident?i=i2c_master_send">i2c_master_send</A>(<A href="http://www.linux-m32r.org/lxr/http/ident?i=c">c</A>, <A href="http://www.linux-m32r.org/lxr/http/ident?i=buffer">buffer</A>, 5)))
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L250" name=L250>250</A> <A href="http://www.linux-m32r.org/lxr/http/ident?i=tuner_warn">tuner_warn</A>(<I>"i2c i/o error: rc == %d (should be 5)\n"</I>, <A href="http://www.linux-m32r.org/lxr/http/ident?i=rc">rc</A>);
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L251" name=L251>251</A>
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L252" name=L252>252</A> if (<A href="http://www.linux-m32r.org/lxr/http/ident?i=tuner_debug">tuner_debug</A>) {
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L253" name=L253>253</A> if (5 != (<A href="http://www.linux-m32r.org/lxr/http/ident?i=rc">rc</A> = <A href="http://www.linux-m32r.org/lxr/http/ident?i=i2c_master_recv">i2c_master_recv</A>(<A href="http://www.linux-m32r.org/lxr/http/ident?i=c">c</A>, <A href="http://www.linux-m32r.org/lxr/http/ident?i=buffer">buffer</A>, 5)))
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L254" name=L254>254</A> <A href="http://www.linux-m32r.org/lxr/http/ident?i=tuner_warn">tuner_warn</A>(<I>"i2c i/o error: rc == %d (should be 5)\n"</I>, <A href="http://www.linux-m32r.org/lxr/http/ident?i=rc">rc</A>);
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L255" name=L255>255</A> else
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L256" name=L256>256</A> <A href="http://www.linux-m32r.org/lxr/http/ident?i=tea5767_status_dump">tea5767_status_dump</A>(<A href="http://www.linux-m32r.org/lxr/http/ident?i=buffer">buffer</A>);
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L257" name=L257>257</A> }
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L258" name=L258>258</A> }
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L259" name=L259>259</A>
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L260" name=L260>260</A> static int <A href="http://www.linux-m32r.org/lxr/http/ident?i=tea5767_signal">tea5767_signal</A>(struct <A href="http://www.linux-m32r.org/lxr/http/ident?i=i2c_client">i2c_client</A> *<A href="http://www.linux-m32r.org/lxr/http/ident?i=c">c</A>)
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L261" name=L261>261</A> {
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L262" name=L262>262</A> unsigned char <A href="http://www.linux-m32r.org/lxr/http/ident?i=buffer">buffer</A>[5];
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L263" name=L263>263</A> int <A href="http://www.linux-m32r.org/lxr/http/ident?i=rc">rc</A>;
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L264" name=L264>264</A> struct <A href="http://www.linux-m32r.org/lxr/http/ident?i=tuner">tuner</A> *t = <A href="http://www.linux-m32r.org/lxr/http/ident?i=i2c_get_clientdata">i2c_get_clientdata</A>(<A href="http://www.linux-m32r.org/lxr/http/ident?i=c">c</A>);
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L265" name=L265>265</A>
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L266" name=L266>266</A> <A href="http://www.linux-m32r.org/lxr/http/ident?i=memset">memset</A>(<A href="http://www.linux-m32r.org/lxr/http/ident?i=buffer">buffer</A>, 0, sizeof(<A href="http://www.linux-m32r.org/lxr/http/ident?i=buffer">buffer</A>));
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L267" name=L267>267</A> if (5 != (<A href="http://www.linux-m32r.org/lxr/http/ident?i=rc">rc</A> = <A href="http://www.linux-m32r.org/lxr/http/ident?i=i2c_master_recv">i2c_master_recv</A>(<A href="http://www.linux-m32r.org/lxr/http/ident?i=c">c</A>, <A href="http://www.linux-m32r.org/lxr/http/ident?i=buffer">buffer</A>, 5)))
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L268" name=L268>268</A> <A href="http://www.linux-m32r.org/lxr/http/ident?i=tuner_warn">tuner_warn</A>(<I>"i2c i/o error: rc == %d (should be 5)\n"</I>, <A href="http://www.linux-m32r.org/lxr/http/ident?i=rc">rc</A>);
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L269" name=L269>269</A>
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L270" name=L270>270</A> return ((<A href="http://www.linux-m32r.org/lxr/http/ident?i=buffer">buffer</A>[3] & <A href="http://www.linux-m32r.org/lxr/http/ident?i=TEA5767_ADC_LEVEL_MASK">TEA5767_ADC_LEVEL_MASK</A>) << 8);
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L271" name=L271>271</A> }
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L272" name=L272>272</A>
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L273" name=L273>273</A> static int <A href="http://www.linux-m32r.org/lxr/http/ident?i=tea5767_stereo">tea5767_stereo</A>(struct <A href="http://www.linux-m32r.org/lxr/http/ident?i=i2c_client">i2c_client</A> *<A href="http://www.linux-m32r.org/lxr/http/ident?i=c">c</A>)
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L274" name=L274>274</A> {
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L275" name=L275>275</A> unsigned char <A href="http://www.linux-m32r.org/lxr/http/ident?i=buffer">buffer</A>[5];
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L276" name=L276>276</A> int <A href="http://www.linux-m32r.org/lxr/http/ident?i=rc">rc</A>;
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L277" name=L277>277</A> struct <A href="http://www.linux-m32r.org/lxr/http/ident?i=tuner">tuner</A> *t = <A href="http://www.linux-m32r.org/lxr/http/ident?i=i2c_get_clientdata">i2c_get_clientdata</A>(<A href="http://www.linux-m32r.org/lxr/http/ident?i=c">c</A>);
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L278" name=L278>278</A>
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L279" name=L279>279</A> <A href="http://www.linux-m32r.org/lxr/http/ident?i=memset">memset</A>(<A href="http://www.linux-m32r.org/lxr/http/ident?i=buffer">buffer</A>, 0, sizeof(<A href="http://www.linux-m32r.org/lxr/http/ident?i=buffer">buffer</A>));
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L280" name=L280>280</A> if (5 != (<A href="http://www.linux-m32r.org/lxr/http/ident?i=rc">rc</A> = <A href="http://www.linux-m32r.org/lxr/http/ident?i=i2c_master_recv">i2c_master_recv</A>(<A href="http://www.linux-m32r.org/lxr/http/ident?i=c">c</A>, <A href="http://www.linux-m32r.org/lxr/http/ident?i=buffer">buffer</A>, 5)))
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L281" name=L281>281</A> <A href="http://www.linux-m32r.org/lxr/http/ident?i=tuner_warn">tuner_warn</A>(<I>"i2c i/o error: rc == %d (should be 5)\n"</I>, <A href="http://www.linux-m32r.org/lxr/http/ident?i=rc">rc</A>);
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L282" name=L282>282</A>
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L283" name=L283>283</A> <A href="http://www.linux-m32r.org/lxr/http/ident?i=rc">rc</A> = <A href="http://www.linux-m32r.org/lxr/http/ident?i=buffer">buffer</A>[2] & <A href="http://www.linux-m32r.org/lxr/http/ident?i=TEA5767_STEREO_MASK">TEA5767_STEREO_MASK</A>;
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L284" name=L284>284</A>
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L285" name=L285>285</A> <A href="http://www.linux-m32r.org/lxr/http/ident?i=tuner_dbg">tuner_dbg</A>(<I>"TEA5767 radio ST GET = %02x\n"</I>, <A href="http://www.linux-m32r.org/lxr/http/ident?i=rc">rc</A>);
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L286" name=L286>286</A>
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L287" name=L287>287</A> return ((<A href="http://www.linux-m32r.org/lxr/http/ident?i=buffer">buffer</A>[2] & <A href="http://www.linux-m32r.org/lxr/http/ident?i=TEA5767_STEREO_MASK">TEA5767_STEREO_MASK</A>) ? <A href="http://www.linux-m32r.org/lxr/http/ident?i=V4L2_TUNER_SUB_STEREO">V4L2_TUNER_SUB_STEREO</A> : 0);
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L288" name=L288>288</A> }
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L289" name=L289>289</A>
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L290" name=L290>290</A> static void <A href="http://www.linux-m32r.org/lxr/http/ident?i=tea5767_standby">tea5767_standby</A>(struct <A href="http://www.linux-m32r.org/lxr/http/ident?i=i2c_client">i2c_client</A> *<A href="http://www.linux-m32r.org/lxr/http/ident?i=c">c</A>)
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L291" name=L291>291</A> {
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L292" name=L292>292</A> unsigned char <A href="http://www.linux-m32r.org/lxr/http/ident?i=buffer">buffer</A>[5];
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L293" name=L293>293</A> struct <A href="http://www.linux-m32r.org/lxr/http/ident?i=tuner">tuner</A> *t = <A href="http://www.linux-m32r.org/lxr/http/ident?i=i2c_get_clientdata">i2c_get_clientdata</A>(<A href="http://www.linux-m32r.org/lxr/http/ident?i=c">c</A>);
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L294" name=L294>294</A> unsigned div, <A href="http://www.linux-m32r.org/lxr/http/ident?i=rc">rc</A>;
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L295" name=L295>295</A>
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L296" name=L296>296</A> div = (87500 * 4 + 700 + 225 + 25) / 50; <B><I>/* Set frequency to 87.5 MHz */</I></B>
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L297" name=L297>297</A> <A href="http://www.linux-m32r.org/lxr/http/ident?i=buffer">buffer</A>[0] = (div >> 8) & 0x3f;
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L298" name=L298>298</A> <A href="http://www.linux-m32r.org/lxr/http/ident?i=buffer">buffer</A>[1] = div & 0xff;
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L299" name=L299>299</A> <A href="http://www.linux-m32r.org/lxr/http/ident?i=buffer">buffer</A>[2] = <A href="http://www.linux-m32r.org/lxr/http/ident?i=TEA5767_PORT1_HIGH">TEA5767_PORT1_HIGH</A>;
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L300" name=L300>300</A> <A href="http://www.linux-m32r.org/lxr/http/ident?i=buffer">buffer</A>[3] = <A href="http://www.linux-m32r.org/lxr/http/ident?i=TEA5767_PORT2_HIGH">TEA5767_PORT2_HIGH</A> | <A href="http://www.linux-m32r.org/lxr/http/ident?i=TEA5767_HIGH_CUT_CTRL">TEA5767_HIGH_CUT_CTRL</A> |
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L301" name=L301>301</A> <A href="http://www.linux-m32r.org/lxr/http/ident?i=TEA5767_ST_NOISE_CTL">TEA5767_ST_NOISE_CTL</A> | <A href="http://www.linux-m32r.org/lxr/http/ident?i=TEA5767_JAPAN_BAND">TEA5767_JAPAN_BAND</A> | <A href="http://www.linux-m32r.org/lxr/http/ident?i=TEA5767_STDBY">TEA5767_STDBY</A>;
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L302" name=L302>302</A> <A href="http://www.linux-m32r.org/lxr/http/ident?i=buffer">buffer</A>[4] = 0;
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L303" name=L303>303</A>
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L304" name=L304>304</A> if (5 != (<A href="http://www.linux-m32r.org/lxr/http/ident?i=rc">rc</A> = <A href="http://www.linux-m32r.org/lxr/http/ident?i=i2c_master_send">i2c_master_send</A>(<A href="http://www.linux-m32r.org/lxr/http/ident?i=c">c</A>, <A href="http://www.linux-m32r.org/lxr/http/ident?i=buffer">buffer</A>, 5)))
<A hr
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -