⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 linux-drivers-media-video-tea5767_c.htm

📁 这是一款聚电视和收音为一体的微处理器 C++ 源代码,成果奉献,供广大的底层软件开发者学习和参考
💻 HTM
📖 第 1 页 / 共 5 页
字号:
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L130" name=L130>130</A> <B><I>/*****************************************************************************/</I></B>
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L131" name=L131>131</A> 
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L132" name=L132>132</A> static void <A href="http://www.linux-m32r.org/lxr/http/ident?i=set_tv_freq">set_tv_freq</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>, unsigned int <A href="http://www.linux-m32r.org/lxr/http/ident?i=freq">freq</A>)
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L133" name=L133>133</A> {
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L134" name=L134>134</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#L135" name=L135>135</A> 
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L136" name=L136>136</A>         <A href="http://www.linux-m32r.org/lxr/http/ident?i=tuner_warn">tuner_warn</A>(<I>"This tuner doesn't support TV freq.\n"</I>);
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L137" name=L137>137</A> }
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L138" name=L138>138</A> 
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L139" name=L139>139</A> static void <A href="http://www.linux-m32r.org/lxr/http/ident?i=tea5767_status_dump">tea5767_status_dump</A>(unsigned char *<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#L140" name=L140>140</A> {
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L141" name=L141>141</A>         unsigned int div, frq;
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L142" name=L142>142</A> 
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L143" name=L143>143</A>         if (<A href="http://www.linux-m32r.org/lxr/http/ident?i=TEA5767_READY_FLAG_MASK">TEA5767_READY_FLAG_MASK</A> &amp; <A href="http://www.linux-m32r.org/lxr/http/ident?i=buffer">buffer</A>[0])
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L144" name=L144>144</A>                 <A href="http://www.linux-m32r.org/lxr/http/ident?i=printk">printk</A>(<A href="http://www.linux-m32r.org/lxr/http/ident?i=PREFIX">PREFIX</A> <I>"Ready Flag ON\n"</I>);
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L145" name=L145>145</A>         else
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L146" name=L146>146</A>                 <A href="http://www.linux-m32r.org/lxr/http/ident?i=printk">printk</A>(<A href="http://www.linux-m32r.org/lxr/http/ident?i=PREFIX">PREFIX</A> <I>"Ready Flag OFF\n"</I>);
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L147" name=L147>147</A> 
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L148" name=L148>148</A>         if (<A href="http://www.linux-m32r.org/lxr/http/ident?i=TEA5767_BAND_LIMIT_MASK">TEA5767_BAND_LIMIT_MASK</A> &amp; <A href="http://www.linux-m32r.org/lxr/http/ident?i=buffer">buffer</A>[0])
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L149" name=L149>149</A>                 <A href="http://www.linux-m32r.org/lxr/http/ident?i=printk">printk</A>(<A href="http://www.linux-m32r.org/lxr/http/ident?i=PREFIX">PREFIX</A> <I>"Tuner at band limit\n"</I>);
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L150" name=L150>150</A>         else
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L151" name=L151>151</A>                 <A href="http://www.linux-m32r.org/lxr/http/ident?i=printk">printk</A>(<A href="http://www.linux-m32r.org/lxr/http/ident?i=PREFIX">PREFIX</A> <I>"Tuner not at band limit\n"</I>);
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L152" name=L152>152</A> 
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L153" name=L153>153</A>         div = ((<A href="http://www.linux-m32r.org/lxr/http/ident?i=buffer">buffer</A>[0] &amp; 0x3f) &lt;&lt; 8) | <A href="http://www.linux-m32r.org/lxr/http/ident?i=buffer">buffer</A>[1];
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L154" name=L154>154</A> 
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L155" name=L155>155</A>         switch (TEA5767_HIGH_LO_32768) {
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L156" name=L156>156</A>         case TEA5767_HIGH_LO_13MHz:
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L157" name=L157>157</A>                 frq = (div * 50000 - 700000 - 225000) / 4;      <B><I>/* Freq in KHz */</I></B>
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L158" name=L158>158</A>                 break;
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L159" name=L159>159</A>         case TEA5767_LOW_LO_13MHz:
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L160" name=L160>160</A>                 frq = (div * 50000 + 700000 + 225000) / 4;      <B><I>/* Freq in KHz */</I></B>
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L161" name=L161>161</A>                 break;
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L162" name=L162>162</A>         case TEA5767_LOW_LO_32768:
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L163" name=L163>163</A>                 frq = (div * 32768 + 700000 + 225000) / 4;      <B><I>/* Freq in KHz */</I></B>
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L164" name=L164>164</A>                 break;
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L165" name=L165>165</A>         case TEA5767_HIGH_LO_32768:
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L166" name=L166>166</A>         default:
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L167" name=L167>167</A>                 frq = (div * 32768 - 700000 - 225000) / 4;      <B><I>/* Freq in KHz */</I></B>
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L168" name=L168>168</A>                 break;
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L169" name=L169>169</A>         }
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L170" name=L170>170</A>         <A href="http://www.linux-m32r.org/lxr/http/ident?i=buffer">buffer</A>[0] = (div &gt;&gt; 8) &amp; 0x3f;
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L171" name=L171>171</A>         <A href="http://www.linux-m32r.org/lxr/http/ident?i=buffer">buffer</A>[1] = div &amp; 0xff;
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L172" name=L172>172</A> 
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L173" name=L173>173</A>         <A href="http://www.linux-m32r.org/lxr/http/ident?i=printk">printk</A>(<A href="http://www.linux-m32r.org/lxr/http/ident?i=PREFIX">PREFIX</A> <I>"Frequency %d.%03d KHz (divider = 0x%04x)\n"</I>,
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L174" name=L174>174</A>                frq / 1000, frq % 1000, div);
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L175" name=L175>175</A> 
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L176" name=L176>176</A>         if (<A href="http://www.linux-m32r.org/lxr/http/ident?i=TEA5767_STEREO_MASK">TEA5767_STEREO_MASK</A> &amp; <A href="http://www.linux-m32r.org/lxr/http/ident?i=buffer">buffer</A>[2])
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L177" name=L177>177</A>                 <A href="http://www.linux-m32r.org/lxr/http/ident?i=printk">printk</A>(<A href="http://www.linux-m32r.org/lxr/http/ident?i=PREFIX">PREFIX</A> <I>"Stereo\n"</I>);
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L178" name=L178>178</A>         else
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L179" name=L179>179</A>                 <A href="http://www.linux-m32r.org/lxr/http/ident?i=printk">printk</A>(<A href="http://www.linux-m32r.org/lxr/http/ident?i=PREFIX">PREFIX</A> <I>"Mono\n"</I>);
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L180" name=L180>180</A> 
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L181" name=L181>181</A>         <A href="http://www.linux-m32r.org/lxr/http/ident?i=printk">printk</A>(<A href="http://www.linux-m32r.org/lxr/http/ident?i=PREFIX">PREFIX</A> <I>"IF Counter = %d\n"</I>, <A href="http://www.linux-m32r.org/lxr/http/ident?i=buffer">buffer</A>[2] &amp; <A href="http://www.linux-m32r.org/lxr/http/ident?i=TEA5767_IF_CNTR_MASK">TEA5767_IF_CNTR_MASK</A>);
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L182" name=L182>182</A> 
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L183" name=L183>183</A>         <A href="http://www.linux-m32r.org/lxr/http/ident?i=printk">printk</A>(<A href="http://www.linux-m32r.org/lxr/http/ident?i=PREFIX">PREFIX</A> <I>"ADC Level = %d\n"</I>,
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L184" name=L184>184</A>                (<A href="http://www.linux-m32r.org/lxr/http/ident?i=buffer">buffer</A>[3] &amp; <A href="http://www.linux-m32r.org/lxr/http/ident?i=TEA5767_ADC_LEVEL_MASK">TEA5767_ADC_LEVEL_MASK</A>) &gt;&gt; 4);
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L185" name=L185>185</A> 
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L186" name=L186>186</A>         <A href="http://www.linux-m32r.org/lxr/http/ident?i=printk">printk</A>(<A href="http://www.linux-m32r.org/lxr/http/ident?i=PREFIX">PREFIX</A> <I>"Chip ID = %d\n"</I>, (<A href="http://www.linux-m32r.org/lxr/http/ident?i=buffer">buffer</A>[3] &amp; <A href="http://www.linux-m32r.org/lxr/http/ident?i=TEA5767_CHIP_ID_MASK">TEA5767_CHIP_ID_MASK</A>));
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L187" name=L187>187</A> 
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L188" name=L188>188</A>         <A href="http://www.linux-m32r.org/lxr/http/ident?i=printk">printk</A>(<A href="http://www.linux-m32r.org/lxr/http/ident?i=PREFIX">PREFIX</A> <I>"Reserved = 0x%02x\n"</I>,
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L189" name=L189>189</A>                (<A href="http://www.linux-m32r.org/lxr/http/ident?i=buffer">buffer</A>[4] &amp; <A href="http://www.linux-m32r.org/lxr/http/ident?i=TEA5767_RESERVED_MASK">TEA5767_RESERVED_MASK</A>));
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L190" name=L190>190</A> }
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L191" name=L191>191</A> 
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L192" name=L192>192</A> <B><I>/* Freq should be specifyed at 62.5 Hz */</I></B>
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L193" name=L193>193</A> static void <A href="http://www.linux-m32r.org/lxr/http/ident?i=set_radio_freq">set_radio_freq</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>, unsigned int frq)
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L194" name=L194>194</A> {
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L195" name=L195>195</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#L196" name=L196>196</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#L197" name=L197>197</A>         unsigned div;
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L198" name=L198>198</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#L199" name=L199>199</A> 
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L200" name=L200>200</A>         <A href="http://www.linux-m32r.org/lxr/http/ident?i=tuner_dbg">tuner_dbg</A> (<A href="http://www.linux-m32r.org/lxr/http/ident?i=PREFIX">PREFIX</A> <I>"radio freq = %d.%03d MHz\n"</I>, frq/16000,(frq/16)%1000);
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L201" name=L201>201</A> 
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L202" name=L202>202</A>         <B><I>/* Rounds freq to next decimal value - for 62.5 KHz step */</I></B>
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L203" name=L203>203</A>         <B><I>/* frq = 20*(frq/16)+radio_frq[frq%16]; */</I></B>
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L204" name=L204>204</A> 
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L205" name=L205>205</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#L206" name=L206>206</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#L207" name=L207>207</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/source/drivers/media/video/tea5767.c#L208" name=L208>208</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#L209" name=L209>209</A> 
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L210" name=L210>210</A>         if (t-&gt;audmode == <A href="http://www.linux-m32r.org/lxr/http/ident?i=V4L2_TUNER_MODE_MONO">V4L2_TUNER_MODE_MONO</A>) {
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L211" name=L211>211</A>                 <A href="http://www.linux-m32r.org/lxr/http/ident?i=tuner_dbg">tuner_dbg</A>(<I>"TEA5767 set to mono\n"</I>);
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L212" name=L212>212</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_MONO">TEA5767_MONO</A>;
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L213" name=L213>213</A>         } else {
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L214" name=L214>214</A>                 <A href="http://www.linux-m32r.org/lxr/http/ident?i=tuner_dbg">tuner_dbg</A>(<I>"TEA5767 set to stereo\n"</I>);
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L215" name=L215>215</A>         }
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L216" name=L216>216</A> 
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L217" name=L217>217</A>         <B><I>/* Should be replaced */</I></B>
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L218" name=L218>218</A>         switch (TEA5767_HIGH_LO_32768) {
<A href="http://www.linux-m32r.org/lxr/http/source/drivers/media/video/tea5767.c#L219" name=L219>219</A>         case TEA5767_HIGH_LO_13MHz:

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -