€•ªŒsphinx.addnodes”Œdocument”“”)�”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)�”}”(hhh]”(hŒ pending_xref”“”)�”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…”�”}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ//translations/zh_CN/driver-api/media/v4l2-tuner”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)�”}”(hhh]”hŒChinese (Traditional)”…”�”}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ//translations/zh_TW/driver-api/media/v4l2-tuner”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒItalian”…”�”}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ//translations/it_IT/driver-api/media/v4l2-tuner”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒJapanese”…”�”}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ//translations/ja_JP/driver-api/media/v4l2-tuner”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒKorean”…”�”}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ//translations/ko_KR/driver-api/media/v4l2-tuner”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒPortuguese (Brazilian)”…”�”}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ//translations/pt_BR/driver-api/media/v4l2-tuner”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒSpanish”…”�”}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ//translations/sp_SP/driver-api/media/v4l2-tuner”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒcomment”“”)�”}”(hŒ SPDX-License-Identifier: GPL-2.0”h]”hŒ SPDX-License-Identifier: GPL-2.0”…”�”}”hh·sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1hµhhh²hh³ŒI/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner.rst”h´KubhŒsection”“”)�”}”(hhh]”(hŒtitle”“”)�”}”(hŒ#Tuner functions and data structures”h]”hŒ#Tuner functions and data structures”…”�”}”(hhÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhhÊh²hh³hÇh´KubhŒindex”“”)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(Œsingle”Œtuner_mode (C enum)”Œ c.tuner_mode”hNt”auh1hÝhhÊh²hh³Nh´NubhŒdesc”“”)�”}”(hhh]”(hŒdesc_signature”“”)�”}”(hŒ tuner_mode”h]”hŒdesc_signature_line”“”)�”}”(hŒenum tuner_mode”h]”(hŒdesc_sig_keyword”“”)�”}”(hŒenum”h]”hŒenum”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”Œk”ah"]”h$]”h&]”uh1hÿhhûh²hh³Œ`/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:6: ./include/media/tuner.h”h´KubhŒdesc_sig_space”“”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”Œw”ah"]”h$]”h&]”uh1jhhûh²hh³jh´KubhŒ desc_name”“”)�”}”(hŒ tuner_mode”h]”hŒ desc_sig_name”“”)�”}”(hh÷h]”hŒ tuner_mode”…”�”}”(hj*h²hh³Nh´Nubah}”(h]”h ]”Œn”ah"]”h$]”h&]”uh1j(hj$ubah}”(h]”h ]”(Œsig-name”Œdescname”eh"]”h$]”h&]”hÅhÆuh1j"hhûh²hh³jh´Kubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆŒ add_permalink”ˆuh1hùŒsphinx_line_type”Œ declarator”hhõh²hh³jh´Kubah}”(h]”hìah ]”(Œsig”Œ sig-object”eh"]”h$]”h&]”Œ is_multiline”ˆŒ _toc_parts”)Œ _toc_name”huh1hóh³jh´Khhðh²hubhŒ desc_content”“”)�”}”(hhh]”hŒ paragraph”“”)�”}”(hŒMode of the tuner”h]”hŒMode of the tuner”…”�”}”(hj[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œ`/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:6: ./include/media/tuner.h”h´K¤hjVh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jThhðh²hh³jh´Kubeh}”(h]”h ]”(Œc”Œenum”eh"]”h$]”h&]”Œdomain”jsŒobjtype”jtŒdesctype”jtŒnoindex”‰Œ noindexentry”‰Œnocontentsentry”‰uh1hîh²hhhÊh³Nh´NubhŒ container”“”)�”}”(hXD **Constants** ``T_RADIO`` Tuner core will work in radio mode ``T_ANALOG_TV`` Tuner core will work in analog TV mode **Description** Older boards only had a single tuner device, but some devices have a separate tuner for radio. In any case, the tuner-core needs to know if the tuner chip(s) will be used in radio mode or analog TV mode, as, on radio mode, frequencies are specified on a different range than on TV mode. This enum is used by the tuner core in order to work with the proper tuner range and eventually use a different tuner chip while in radio mode.”h]”(hŒ block_quote”“”)�”}”(hŒz**Constants** ``T_RADIO`` Tuner core will work in radio mode ``T_ANALOG_TV`` Tuner core will work in analog TV mode ”h]”(jZ)�”}”(hŒ **Constants**”h]”hŒstrong”“”)�”}”(hjŒh]”hŒ Constants”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jŽhjŠubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œ`/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:6: ./include/media/tuner.h”h´K¨hj†ubhŒdefinition_list”“”)�”}”(hhh]”(hŒdefinition_list_item”“”)�”}”(hŒ/``T_RADIO`` Tuner core will work in radio mode ”h]”(hŒterm”“”)�”}”(hŒ ``T_RADIO``”h]”hŒliteral”“”)�”}”(hj³h]”hŒT_RADIO”…”�”}”(hj·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jµhj±ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¯h³Œ`/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:6: ./include/media/tuner.h”h´K«hj«ubhŒ definition”“”)�”}”(hhh]”jZ)�”}”(hŒ"Tuner core will work in radio mode”h]”hŒ"Tuner core will work in radio mode”…”�”}”(hjÐh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³jÊh´K«hjÍubah}”(h]”h ]”h"]”h$]”h&]”uh1jËhj«ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j©h³jÊh´K«hj¦ubjª)�”}”(hŒ7``T_ANALOG_TV`` Tuner core will work in analog TV mode ”h]”(j°)�”}”(hŒ``T_ANALOG_TV``”h]”j¶)�”}”(hjðh]”hŒ T_ANALOG_TV”…”�”}”(hjòh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jµhjîubah}”(h]”h ]”h"]”h$]”h&]”uh1j¯h³Œ`/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:6: ./include/media/tuner.h”h´K®hjêubjÌ)�”}”(hhh]”jZ)�”}”(hŒ&Tuner core will work in analog TV mode”h]”hŒ&Tuner core will work in analog TV mode”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³jh´K®hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jËhjêubeh}”(h]”h ]”h"]”h$]”h&]”uh1j©h³jh´K®hj¦ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¤hj†ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j„h³j£h´K¨hj€ubjZ)�”}”(hŒ**Description**”h]”j�)�”}”(hj1h]”hŒ Description”…”�”}”(hj3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jŽhj/ubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œ`/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:6: ./include/media/tuner.h”h´K°hj€ubjZ)�”}”(hX®Older boards only had a single tuner device, but some devices have a separate tuner for radio. In any case, the tuner-core needs to know if the tuner chip(s) will be used in radio mode or analog TV mode, as, on radio mode, frequencies are specified on a different range than on TV mode. This enum is used by the tuner core in order to work with the proper tuner range and eventually use a different tuner chip while in radio mode.”h]”hX®Older boards only had a single tuner device, but some devices have a separate tuner for radio. In any case, the tuner-core needs to know if the tuner chip(s) will be used in radio mode or analog TV mode, as, on radio mode, frequencies are specified on a different range than on TV mode. This enum is used by the tuner core in order to work with the proper tuner range and eventually use a different tuner chip while in radio mode.”…”�”}”(hjGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œ`/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:6: ./include/media/tuner.h”h´K¨hj€ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j~hhÊh²hh³Nh´NubhÞ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(hêŒtuner_setup (C struct)”Œ c.tuner_setup”hNt”auh1hÝhhÊh²hh³Nh´Nubhï)�”}”(hhh]”(hô)�”}”(hŒ tuner_setup”h]”hú)�”}”(hŒstruct tuner_setup”h]”(j)�”}”(hŒstruct”h]”hŒstruct”…”�”}”(hjvh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hÿhjrh²hh³Œ`/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:6: ./include/media/tuner.h”h´K³ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj…h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjrh²hh³j„h´K³ubj#)�”}”(hŒ tuner_setup”h]”j))�”}”(hjph]”hŒ tuner_setup”…”�”}”(hj—h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j(hj“ubah}”(h]”h ]”(j;j<eh"]”h$]”h&]”hÅhÆuh1j"hjrh²hh³j„h´K³ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjFˆuh1hùjGjHhjnh²hh³j„h´K³ubah}”(h]”jiah ]”(jLjMeh"]”h$]”h&]”jQˆjR)jShuh1hóh³j„h´K³hjkh²hubjU)�”}”(hhh]”jZ)�”}”(hŒsetup the tuner chipsets”h]”hŒsetup the tuner chipsets”…”�”}”(hj¹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œ`/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:6: ./include/media/tuner.h”h´K¸hj¶h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jThjkh²hh³j„h´K³ubeh}”(h]”h ]”(jsŒstruct”eh"]”h$]”h&]”jxjsjyjÑjzjÑj{‰j|‰j}‰uh1hîh²hhhÊh³Nh´Nubj)�”}”(hX **Definition**:: struct tuner_setup { unsigned short addr; unsigned int type; unsigned int mode_mask; void *config; int (*tuner_callback)(void *dev, int component, int cmd, int arg); }; **Members** ``addr`` I2C address used to control the tuner device/chipset ``type`` Type of the tuner, as defined at the TUNER_* macros. Each different tuner model should have an unique identifier. ``mode_mask`` Mask with the allowed tuner modes: V4L2_TUNER_RADIO, V4L2_TUNER_ANALOG_TV and/or V4L2_TUNER_DIGITAL_TV, describing if the tuner should be used to support Radio, analog TV and/or digital TV. ``config`` Used to send tuner-specific configuration for complex tuners that require extra parameters to be set. Only a very few tuners require it and its usage on newer tuners should be avoided. ``tuner_callback`` Some tuners require to call back the bridge driver, in order to do some tasks like rising a GPIO at the bridge chipset, in order to do things like resetting the device. **Description** Older boards only had a single tuner device. Nowadays multiple tuner devices may be present on a single board. Using TUNER_SET_TYPE_ADDR to pass the tuner_setup structure it is possible to setup each tuner device in turn. Since multiple devices may be present it is no longer sufficient to send a command to a single i2c device. Instead you should broadcast the command to all i2c devices. By setting the mode_mask correctly you can select which commands are accepted by a specific tuner device. For example, set mode_mask to T_RADIO if the device is a radio-only tuner. That specific tuner will only accept commands when the tuner is in radio mode and ignore them when the tuner is set to TV mode.”h]”(j…)�”}”(hŒî**Definition**:: struct tuner_setup { unsigned short addr; unsigned int type; unsigned int mode_mask; void *config; int (*tuner_callback)(void *dev, int component, int cmd, int arg); }; ”h]”(jZ)�”}”(hŒ**Definition**::”h]”(j�)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjáh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jŽhjÝubhŒ:”…”�”}”(hjÝh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œ`/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:6: ./include/media/tuner.h”h´K¼hjÙubhŒ literal_block”“”)�”}”(hŒÍstruct tuner_setup { unsigned short addr; unsigned int type; unsigned int mode_mask; void *config; int (*tuner_callback)(void *dev, int component, int cmd, int arg); };”h]”hŒÍstruct tuner_setup { unsigned short addr; unsigned int type; unsigned int mode_mask; void *config; int (*tuner_callback)(void *dev, int component, int cmd, int arg); };”…”�”}”hjüsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1júh³Œ`/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:6: ./include/media/tuner.h”h´K¾hjÙubeh}”(h]”h ]”h"]”h$]”h&]”uh1j„h³jùh´K¼hjÕubjZ)�”}”(hŒ **Members**”h]”j�)�”}”(hjh]”hŒMembers”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jŽhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œ`/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:6: ./include/media/tuner.h”h´KÆhjÕubj¥)�”}”(hhh]”(jª)�”}”(hŒ>``addr`` I2C address used to control the tuner device/chipset ”h]”(j°)�”}”(hŒ``addr``”h]”j¶)�”}”(hj2h]”hŒaddr”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jµhj0ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¯h³Œ`/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:6: ./include/media/tuner.h”h´K»hj,ubjÌ)�”}”(hhh]”jZ)�”}”(hŒ4I2C address used to control the tuner device/chipset”h]”hŒ4I2C address used to control the tuner device/chipset”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³jGh´K»hjHubah}”(h]”h ]”h"]”h$]”h&]”uh1jËhj,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j©h³jGh´K»hj)ubjª)�”}”(hŒ{``type`` Type of the tuner, as defined at the TUNER_* macros. Each different tuner model should have an unique identifier. ”h]”(j°)�”}”(hŒ``type``”h]”j¶)�”}”(hjkh]”hŒtype”…”�”}”(hjmh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jµhjiubah}”(h]”h ]”h"]”h$]”h&]”uh1j¯h³Œ`/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:6: ./include/media/tuner.h”h´K¾hjeubjÌ)�”}”(hhh]”jZ)�”}”(hŒqType of the tuner, as defined at the TUNER_* macros. Each different tuner model should have an unique identifier.”h]”hŒqType of the tuner, as defined at the TUNER_* macros. Each different tuner model should have an unique identifier.”…”�”}”(hj„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œ`/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:6: ./include/media/tuner.h”h´K¼hj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jËhjeubeh}”(h]”h ]”h"]”h$]”h&]”uh1j©h³j€h´K¾hj)ubjª)�”}”(hŒÌ``mode_mask`` Mask with the allowed tuner modes: V4L2_TUNER_RADIO, V4L2_TUNER_ANALOG_TV and/or V4L2_TUNER_DIGITAL_TV, describing if the tuner should be used to support Radio, analog TV and/or digital TV. ”h]”(j°)�”}”(hŒ ``mode_mask``”h]”j¶)�”}”(hj¥h]”hŒ mode_mask”…”�”}”(hj§h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jµhj£ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¯h³Œ`/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:6: ./include/media/tuner.h”h´KÂhjŸubjÌ)�”}”(hhh]”jZ)�”}”(hŒ½Mask with the allowed tuner modes: V4L2_TUNER_RADIO, V4L2_TUNER_ANALOG_TV and/or V4L2_TUNER_DIGITAL_TV, describing if the tuner should be used to support Radio, analog TV and/or digital TV.”h]”hŒ½Mask with the allowed tuner modes: V4L2_TUNER_RADIO, V4L2_TUNER_ANALOG_TV and/or V4L2_TUNER_DIGITAL_TV, describing if the tuner should be used to support Radio, analog TV and/or digital TV.”…”�”}”(hj¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œ`/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:6: ./include/media/tuner.h”h´K¿hj»ubah}”(h]”h ]”h"]”h$]”h&]”uh1jËhjŸubeh}”(h]”h ]”h"]”h$]”h&]”uh1j©h³jºh´KÂhj)ubjª)�”}”(hŒÄ``config`` Used to send tuner-specific configuration for complex tuners that require extra parameters to be set. Only a very few tuners require it and its usage on newer tuners should be avoided. ”h]”(j°)�”}”(hŒ ``config``”h]”j¶)�”}”(hjßh]”hŒconfig”…”�”}”(hjáh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jµhjÝubah}”(h]”h ]”h"]”h$]”h&]”uh1j¯h³Œ`/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:6: ./include/media/tuner.h”h´KÆhjÙubjÌ)�”}”(hhh]”jZ)�”}”(hŒ¸Used to send tuner-specific configuration for complex tuners that require extra parameters to be set. Only a very few tuners require it and its usage on newer tuners should be avoided.”h]”hŒ¸Used to send tuner-specific configuration for complex tuners that require extra parameters to be set. Only a very few tuners require it and its usage on newer tuners should be avoided.”…”�”}”(hjøh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œ`/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:6: ./include/media/tuner.h”h´KÃhjõubah}”(h]”h ]”h"]”h$]”h&]”uh1jËhjÙubeh}”(h]”h ]”h"]”h$]”h&]”uh1j©h³jôh´KÆhj)ubjª)�”}”(hŒ½``tuner_callback`` Some tuners require to call back the bridge driver, in order to do some tasks like rising a GPIO at the bridge chipset, in order to do things like resetting the device. ”h]”(j°)�”}”(hŒ``tuner_callback``”h]”j¶)�”}”(hjh]”hŒtuner_callback”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jµhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j¯h³Œ`/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:6: ./include/media/tuner.h”h´KËhjubjÌ)�”}”(hhh]”jZ)�”}”(hŒ¨Some tuners require to call back the bridge driver, in order to do some tasks like rising a GPIO at the bridge chipset, in order to do things like resetting the device.”h]”hŒ¨Some tuners require to call back the bridge driver, in order to do some tasks like rising a GPIO at the bridge chipset, in order to do things like resetting the device.”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œ`/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:6: ./include/media/tuner.h”h´KÇhj/ubah}”(h]”h ]”h"]”h$]”h&]”uh1jËhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j©h³j.h´KËhj)ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¤hjÕubjZ)�”}”(hŒ**Description**”h]”j�)�”}”(hjUh]”hŒ Description”…”�”}”(hjWh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jŽhjSubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œ`/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:6: ./include/media/tuner.h”h´KÍhjÕubjZ)�”}”(hŒÝOlder boards only had a single tuner device. Nowadays multiple tuner devices may be present on a single board. Using TUNER_SET_TYPE_ADDR to pass the tuner_setup structure it is possible to setup each tuner device in turn.”h]”hŒÝOlder boards only had a single tuner device. Nowadays multiple tuner devices may be present on a single board. Using TUNER_SET_TYPE_ADDR to pass the tuner_setup structure it is possible to setup each tuner device in turn.”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œ`/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:6: ./include/media/tuner.h”h´KÊhjÕubjZ)�”}”(hŒ§Since multiple devices may be present it is no longer sufficient to send a command to a single i2c device. Instead you should broadcast the command to all i2c devices.”h]”hŒ§Since multiple devices may be present it is no longer sufficient to send a command to a single i2c device. Instead you should broadcast the command to all i2c devices.”…”�”}”(hjzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œ`/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:6: ./include/media/tuner.h”h´KÏhjÕubjZ)�”}”(hX4By setting the mode_mask correctly you can select which commands are accepted by a specific tuner device. For example, set mode_mask to T_RADIO if the device is a radio-only tuner. That specific tuner will only accept commands when the tuner is in radio mode and ignore them when the tuner is set to TV mode.”h]”hX4By setting the mode_mask correctly you can select which commands are accepted by a specific tuner device. For example, set mode_mask to T_RADIO if the device is a radio-only tuner. That specific tuner will only accept commands when the tuner is in radio mode and ignore them when the tuner is set to TV mode.”…”�”}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œ`/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:6: ./include/media/tuner.h”h´KÓhjÕubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j~hhÊh²hh³Nh´NubhÞ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(hêŒparam_type (C enum)”Œ c.param_type”hNt”auh1hÝhhÊh²hh³Nh´Nubhï)�”}”(hhh]”(hô)�”}”(hŒ param_type”h]”hú)�”}”(hŒenum param_type”h]”(j)�”}”(hjh]”hŒenum”…”�”}”(hj¸h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hÿhj´h²hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´Kubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÆh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj´h²hh³jÅh´Kubj#)�”}”(hŒ param_type”h]”j))�”}”(hj²h]”hŒ param_type”…”�”}”(hjØh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j(hjÔubah}”(h]”h ]”(j;j<eh"]”h$]”h&]”hÅhÆuh1j"hj´h²hh³jÅh´Kubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjFˆuh1hùjGjHhj°h²hh³jÅh´Kubah}”(h]”j«ah ]”(jLjMeh"]”h$]”h&]”jQˆjR)jShuh1hóh³jÅh´Khj­h²hubjU)�”}”(hhh]”jZ)�”}”(hŒtype of the tuner pameters”h]”hŒtype of the tuner pameters”…”�”}”(hjúh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´K hj÷h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jThj­h²hh³jÅh´Kubeh}”(h]”h ]”(jsŒenum”eh"]”h$]”h&]”jxjsjyjjzjj{‰j|‰j}‰uh1hîh²hhhÊh³Nh´Nubj)�”}”(hXn**Constants** ``TUNER_PARAM_TYPE_RADIO`` Tuner params are for FM and/or AM radio ``TUNER_PARAM_TYPE_PAL`` Tuner params are for PAL color TV standard ``TUNER_PARAM_TYPE_SECAM`` Tuner params are for SECAM color TV standard ``TUNER_PARAM_TYPE_NTSC`` Tuner params are for NTSC color TV standard ``TUNER_PARAM_TYPE_DIGITAL`` Tuner params are for digital TV”h]”(jZ)�”}”(hŒ **Constants**”h]”j�)�”}”(hjh]”hŒ Constants”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jŽhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´Khjubj¥)�”}”(hhh]”(jª)�”}”(hŒC``TUNER_PARAM_TYPE_RADIO`` Tuner params are for FM and/or AM radio ”h]”(j°)�”}”(hŒ``TUNER_PARAM_TYPE_RADIO``”h]”j¶)�”}”(hj;h]”hŒTUNER_PARAM_TYPE_RADIO”…”�”}”(hj=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jµhj9ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¯h³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´Khj5ubjÌ)�”}”(hhh]”jZ)�”}”(hŒ'Tuner params are for FM and/or AM radio”h]”hŒ'Tuner params are for FM and/or AM radio”…”�”}”(hjTh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³jPh´KhjQubah}”(h]”h ]”h"]”h$]”h&]”uh1jËhj5ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j©h³jPh´Khj2ubjª)�”}”(hŒD``TUNER_PARAM_TYPE_PAL`` Tuner params are for PAL color TV standard ”h]”(j°)�”}”(hŒ``TUNER_PARAM_TYPE_PAL``”h]”j¶)�”}”(hjth]”hŒTUNER_PARAM_TYPE_PAL”…”�”}”(hjvh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jµhjrubah}”(h]”h ]”h"]”h$]”h&]”uh1j¯h³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´KhjnubjÌ)�”}”(hhh]”jZ)�”}”(hŒ*Tuner params are for PAL color TV standard”h]”hŒ*Tuner params are for PAL color TV standard”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³j‰h´KhjŠubah}”(h]”h ]”h"]”h$]”h&]”uh1jËhjnubeh}”(h]”h ]”h"]”h$]”h&]”uh1j©h³j‰h´Khj2ubjª)�”}”(hŒH``TUNER_PARAM_TYPE_SECAM`` Tuner params are for SECAM color TV standard ”h]”(j°)�”}”(hŒ``TUNER_PARAM_TYPE_SECAM``”h]”j¶)�”}”(hj­h]”hŒTUNER_PARAM_TYPE_SECAM”…”�”}”(hj¯h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jµhj«ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¯h³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´Khj§ubjÌ)�”}”(hhh]”jZ)�”}”(hŒ,Tuner params are for SECAM color TV standard”h]”hŒ,Tuner params are for SECAM color TV standard”…”�”}”(hjÆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³jÂh´KhjÃubah}”(h]”h ]”h"]”h$]”h&]”uh1jËhj§ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j©h³jÂh´Khj2ubjª)�”}”(hŒF``TUNER_PARAM_TYPE_NTSC`` Tuner params are for NTSC color TV standard ”h]”(j°)�”}”(hŒ``TUNER_PARAM_TYPE_NTSC``”h]”j¶)�”}”(hjæh]”hŒTUNER_PARAM_TYPE_NTSC”…”�”}”(hjèh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jµhjäubah}”(h]”h ]”h"]”h$]”h&]”uh1j¯h³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´KhjàubjÌ)�”}”(hhh]”jZ)�”}”(hŒ+Tuner params are for NTSC color TV standard”h]”hŒ+Tuner params are for NTSC color TV standard”…”�”}”(hjÿh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³jûh´Khjüubah}”(h]”h ]”h"]”h$]”h&]”uh1jËhjàubeh}”(h]”h ]”h"]”h$]”h&]”uh1j©h³jûh´Khj2ubjª)�”}”(hŒ<``TUNER_PARAM_TYPE_DIGITAL`` Tuner params are for digital TV”h]”(j°)�”}”(hŒ``TUNER_PARAM_TYPE_DIGITAL``”h]”j¶)�”}”(hjh]”hŒTUNER_PARAM_TYPE_DIGITAL”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jµhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j¯h³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´KhjubjÌ)�”}”(hhh]”jZ)�”}”(hŒTuner params are for digital TV”h]”hŒTuner params are for digital TV”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´Khj5ubah}”(h]”h ]”h"]”h$]”h&]”uh1jËhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j©h³j4h´Khj2ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¤hjubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j~hhÊh²hh³Nh´NubhÞ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(hêŒtuner_range (C struct)”Œ c.tuner_range”hNt”auh1hÝhhÊh²hh³Nh´Nubhï)�”}”(hhh]”(hô)�”}”(hŒ tuner_range”h]”hú)�”}”(hŒstruct tuner_range”h]”(j)�”}”(hjxh]”hŒstruct”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hÿhjuh²hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´K"ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‡h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjuh²hh³j†h´K"ubj#)�”}”(hŒ tuner_range”h]”j))�”}”(hjsh]”hŒ tuner_range”…”�”}”(hj™h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j(hj•ubah}”(h]”h ]”(j;j<eh"]”h$]”h&]”hÅhÆuh1j"hjuh²hh³j†h´K"ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjFˆuh1hùjGjHhjqh²hh³j†h´K"ubah}”(h]”jlah ]”(jLjMeh"]”h$]”h&]”jQˆjR)jShuh1hóh³j†h´K"hjnh²hubjU)�”}”(hhh]”jZ)�”}”(hŒ-define the frequencies supported by the tuner”h]”hŒ-define the frequencies supported by the tuner”…”�”}”(hj»h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´Khj¸h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jThjnh²hh³j†h´K"ubeh}”(h]”h ]”(jsŒstruct”eh"]”h$]”h&]”jxjsjyjÓjzjÓj{‰j|‰j}‰uh1hîh²hhhÊh³Nh´Nubj)�”}”(hXh **Definition**:: struct tuner_range { unsigned short limit; unsigned char config; unsigned char cb; }; **Members** ``limit`` Max frequency supported by that range, in 62.5 kHz (TV) or 62.5 Hz (Radio), as defined by V4L2_TUNER_CAP_LOW. ``config`` Value of the band switch byte (BB) to setup this mode. ``cb`` Value of the CB byte to setup this mode. **Description** Please notice that digital tuners like xc3028/xc4000/xc5000 don't use those ranges, as they're defined inside the driver. This is used by analog tuners that are compatible with the "Philips way" to setup the tuners. On those devices, the tuner set is done via 4 bytes: #) divider byte1 (DB1) #) divider byte 2 (DB2) #) Control byte (CB) #) band switch byte (BB) Some tuners also have an additional optional Auxiliary byte (AB).”h]”(j…)�”}”(hŒ„**Definition**:: struct tuner_range { unsigned short limit; unsigned char config; unsigned char cb; }; ”h]”(jZ)�”}”(hŒ**Definition**::”h]”(j�)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jŽhjßubhŒ:”…”�”}”(hjßh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´KhjÛubjû)�”}”(hŒgstruct tuner_range { unsigned short limit; unsigned char config; unsigned char cb; };”h]”hŒgstruct tuner_range { unsigned short limit; unsigned char config; unsigned char cb; };”…”�”}”hjüsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1júh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´K!hjÛubeh}”(h]”h ]”h"]”h$]”h&]”uh1j„h³jûh´Khj×ubjZ)�”}”(hŒ **Members**”h]”j�)�”}”(hjh]”hŒMembers”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jŽhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´K'hj×ubj¥)�”}”(hhh]”(jª)�”}”(hŒx``limit`` Max frequency supported by that range, in 62.5 kHz (TV) or 62.5 Hz (Radio), as defined by V4L2_TUNER_CAP_LOW. ”h]”(j°)�”}”(hŒ ``limit``”h]”j¶)�”}”(hj2h]”hŒlimit”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jµhj0ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¯h³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´K hj,ubjÌ)�”}”(hhh]”jZ)�”}”(hŒmMax frequency supported by that range, in 62.5 kHz (TV) or 62.5 Hz (Radio), as defined by V4L2_TUNER_CAP_LOW.”h]”hŒmMax frequency supported by that range, in 62.5 kHz (TV) or 62.5 Hz (Radio), as defined by V4L2_TUNER_CAP_LOW.”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´KhjHubah}”(h]”h ]”h"]”h$]”h&]”uh1jËhj,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j©h³jGh´K hj)ubjª)�”}”(hŒB``config`` Value of the band switch byte (BB) to setup this mode. ”h]”(j°)�”}”(hŒ ``config``”h]”j¶)�”}”(hjlh]”hŒconfig”…”�”}”(hjnh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jµhjjubah}”(h]”h ]”h"]”h$]”h&]”uh1j¯h³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´K!hjfubjÌ)�”}”(hhh]”jZ)�”}”(hŒ6Value of the band switch byte (BB) to setup this mode.”h]”hŒ6Value of the band switch byte (BB) to setup this mode.”…”�”}”(hj…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³j�h´K!hj‚ubah}”(h]”h ]”h"]”h$]”h&]”uh1jËhjfubeh}”(h]”h ]”h"]”h$]”h&]”uh1j©h³j�h´K!hj)ubjª)�”}”(hŒ1``cb`` Value of the CB byte to setup this mode. ”h]”(j°)�”}”(hŒ``cb``”h]”j¶)�”}”(hj¥h]”hŒcb”…”�”}”(hj§h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jµhj£ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¯h³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´K#hjŸubjÌ)�”}”(hhh]”jZ)�”}”(hŒ(Value of the CB byte to setup this mode.”h]”hŒ(Value of the CB byte to setup this mode.”…”�”}”(hj¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´K"hj»ubah}”(h]”h ]”h"]”h$]”h&]”uh1jËhjŸubeh}”(h]”h ]”h"]”h$]”h&]”uh1j©h³jºh´K#hj)ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¤hj×ubjZ)�”}”(hŒ**Description**”h]”j�)�”}”(hjáh]”hŒ Description”…”�”}”(hjãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jŽhjßubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´K%hj×ubjZ)�”}”(hX Please notice that digital tuners like xc3028/xc4000/xc5000 don't use those ranges, as they're defined inside the driver. This is used by analog tuners that are compatible with the "Philips way" to setup the tuners. On those devices, the tuner set is done via 4 bytes:”h]”hXPlease notice that digital tuners like xc3028/xc4000/xc5000 don’t use those ranges, as they’re defined inside the driver. This is used by analog tuners that are compatible with the “Philips wayâ€� to setup the tuners. On those devices, the tuner set is done via 4 bytes:”…”�”}”(hj÷h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´K"hj×ubj…)�”}”(hŒ]#) divider byte1 (DB1) #) divider byte 2 (DB2) #) Control byte (CB) #) band switch byte (BB) ”h]”hŒenumerated_list”“”)�”}”(hhh]”(hŒ list_item”“”)�”}”(hŒdivider byte1 (DB1)”h]”jZ)�”}”(hjh]”hŒdivider byte1 (DB1)”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´K'hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj ubj)�”}”(hŒdivider byte 2 (DB2)”h]”jZ)�”}”(hj+h]”hŒdivider byte 2 (DB2)”…”�”}”(hj-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´K(hj)ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj ubj)�”}”(hŒControl byte (CB)”h]”jZ)�”}”(hjCh]”hŒControl byte (CB)”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´K)hjAubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj ubj)�”}”(hŒband switch byte (BB) ”h]”jZ)�”}”(hŒband switch byte (BB)”h]”hŒband switch byte (BB)”…”�”}”(hj]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´K*hjYubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj ubeh}”(h]”h ]”h"]”h$]”h&]”Œenumtype”Œarabic”Œprefix”hŒsuffix”Œ)”uh1j hjubah}”(h]”h ]”h"]”h$]”h&]”uh1j„h³j"h´K'hj×ubjZ)�”}”(hŒASome tuners also have an additional optional Auxiliary byte (AB).”h]”hŒASome tuners also have an additional optional Auxiliary byte (AB).”…”�”}”(hjƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´K,hj×ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j~hhÊh²hh³Nh´NubhÞ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(hêŒtuner_params (C struct)”Œc.tuner_params”hNt”auh1hÝhhÊh²hh³Nh´Nubhï)�”}”(hhh]”(hô)�”}”(hŒ tuner_params”h]”hú)�”}”(hŒstruct tuner_params”h]”(j)�”}”(hjxh]”hŒstruct”…”�”}”(hj²h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hÿhj®h²hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´K1ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÀh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj®h²hh³j¿h´K1ubj#)�”}”(hŒ tuner_params”h]”j))�”}”(hj¬h]”hŒ tuner_params”…”�”}”(hjÒh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j(hjÎubah}”(h]”h ]”(j;j<eh"]”h$]”h&]”hÅhÆuh1j"hj®h²hh³j¿h´K1ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjFˆuh1hùjGjHhjªh²hh³j¿h´K1ubah}”(h]”j¥ah ]”(jLjMeh"]”h$]”h&]”jQˆjR)jShuh1hóh³j¿h´K1hj§h²hubjU)�”}”(hhh]”jZ)�”}”(hXParameters to be used to setup the tuner. Those are used by drivers/media/tuners/tuner-types.c in order to specify the tuner properties. Most of the parameters are for tuners based on tda9887 IF-PLL multi-standard analog TV/Radio demodulator, with is very common on legacy analog tuners.”h]”hXParameters to be used to setup the tuner. Those are used by drivers/media/tuners/tuner-types.c in order to specify the tuner properties. Most of the parameters are for tuners based on tda9887 IF-PLL multi-standard analog TV/Radio demodulator, with is very common on legacy analog tuners.”…”�”}”(hjôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´K6hjñh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jThj§h²hh³j¿h´K1ubeh}”(h]”h ]”(jsŒstruct”eh"]”h$]”h&]”jxjsjyj jzj j{‰j|‰j}‰uh1hîh²hhhÊh³Nh´Nubj)�”}”(hX© **Definition**:: struct tuner_params { enum param_type type; unsigned int cb_first_if_lower_freq:1; unsigned int has_tda9887:1; unsigned int port1_fm_high_sensitivity:1; unsigned int port2_fm_high_sensitivity:1; unsigned int fm_gain_normal:1; unsigned int intercarrier_mode:1; unsigned int port1_active:1; unsigned int port2_active:1; unsigned int port1_invert_for_secam_lc:1; unsigned int port2_invert_for_secam_lc:1; unsigned int port1_set_for_fm_mono:1; unsigned int default_pll_gating_18:1; unsigned int radio_if:2; signed int default_top_low:5; signed int default_top_mid:5; signed int default_top_high:5; signed int default_top_secam_low:5; signed int default_top_secam_mid:5; signed int default_top_secam_high:5; u16 iffreq; unsigned int count; const struct tuner_range *ranges; }; **Members** ``type`` Type of the tuner parameters, as defined at enum param_type. If the tuner supports multiple standards, an array should be used, with one row per different standard. ``cb_first_if_lower_freq`` Many Philips-based tuners have a comment in their datasheet like "For channel selection involving band switching, and to ensure smooth tuning to the desired channel without causing unnecessary charge pump action, it is recommended to consider the difference between wanted channel frequency and the current channel frequency. Unnecessary charge pump action will result in very low tuning voltage which may drive the oscillator to extreme conditions". Set cb_first_if_lower_freq to 1, if this check is required for this tuner. I tested this for PAL by first setting the TV frequency to 203 MHz and then switching to 96.6 MHz FM radio. The result was static unless the control byte was sent first. ``has_tda9887`` Set to 1 if this tuner uses a tda9887 ``port1_fm_high_sensitivity`` Many Philips tuners use tda9887 PORT1 to select the FM radio sensitivity. If this setting is 1, then set PORT1 to 1 to get proper FM reception. ``port2_fm_high_sensitivity`` Some Philips tuners use tda9887 PORT2 to select the FM radio sensitivity. If this setting is 1, then set PORT2 to 1 to get proper FM reception. ``fm_gain_normal`` Some Philips tuners use tda9887 cGainNormal to select the FM radio sensitivity. If this setting is 1, e register will use cGainNormal instead of cGainLow. ``intercarrier_mode`` Most tuners with a tda9887 use QSS mode. Some (cheaper) tuners use Intercarrier mode. If this setting is 1, then the tuner needs to be set to intercarrier mode. ``port1_active`` This setting sets the default value for PORT1. 0 means inactive, 1 means active. Note: the actual bit value written to the tda9887 is inverted. So a 0 here means a 1 in the B6 bit. ``port2_active`` This setting sets the default value for PORT2. 0 means inactive, 1 means active. Note: the actual bit value written to the tda9887 is inverted. So a 0 here means a 1 in the B7 bit. ``port1_invert_for_secam_lc`` Sometimes PORT1 is inverted when the SECAM-L' standard is selected. Set this bit to 1 if this is needed. ``port2_invert_for_secam_lc`` Sometimes PORT2 is inverted when the SECAM-L' standard is selected. Set this bit to 1 if this is needed. ``port1_set_for_fm_mono`` Some cards require PORT1 to be 1 for mono Radio FM and 0 for stereo. ``default_pll_gating_18`` Select 18% (or according to datasheet 0%) L standard PLL gating, vs the driver default of 36%. ``radio_if`` IF to use in radio mode. Tuners with a separate radio IF filter seem to use 10.7, while those without use 33.3 for PAL/SECAM tuners and 41.3 for NTSC tuners. 0 = 10.7, 1 = 33.3, 2 = 41.3 ``default_top_low`` Default tda9887 TOP value in dB for the low band. Default is 0. Range: -16:+15 ``default_top_mid`` Default tda9887 TOP value in dB for the mid band. Default is 0. Range: -16:+15 ``default_top_high`` Default tda9887 TOP value in dB for the high band. Default is 0. Range: -16:+15 ``default_top_secam_low`` Default tda9887 TOP value in dB for SECAM-L/L' for the low band. Default is 0. Several tuners require a different TOP value for the SECAM-L/L' standards. Range: -16:+15 ``default_top_secam_mid`` Default tda9887 TOP value in dB for SECAM-L/L' for the mid band. Default is 0. Several tuners require a different TOP value for the SECAM-L/L' standards. Range: -16:+15 ``default_top_secam_high`` Default tda9887 TOP value in dB for SECAM-L/L' for the high band. Default is 0. Several tuners require a different TOP value for the SECAM-L/L' standards. Range: -16:+15 ``iffreq`` Intermediate frequency (IF) used by the tuner on digital mode. ``count`` Size of the ranges array. ``ranges`` Array with the frequency ranges supported by the tuner.”h]”(j…)�”}”(hXÒ**Definition**:: struct tuner_params { enum param_type type; unsigned int cb_first_if_lower_freq:1; unsigned int has_tda9887:1; unsigned int port1_fm_high_sensitivity:1; unsigned int port2_fm_high_sensitivity:1; unsigned int fm_gain_normal:1; unsigned int intercarrier_mode:1; unsigned int port1_active:1; unsigned int port2_active:1; unsigned int port1_invert_for_secam_lc:1; unsigned int port2_invert_for_secam_lc:1; unsigned int port1_set_for_fm_mono:1; unsigned int default_pll_gating_18:1; unsigned int radio_if:2; signed int default_top_low:5; signed int default_top_mid:5; signed int default_top_high:5; signed int default_top_secam_low:5; signed int default_top_secam_mid:5; signed int default_top_secam_high:5; u16 iffreq; unsigned int count; const struct tuner_range *ranges; }; ”h]”(jZ)�”}”(hŒ**Definition**::”h]”(j�)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jŽhj ubhŒ:”…”�”}”(hj h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´K:hj ubjû)�”}”(hX�struct tuner_params { enum param_type type; unsigned int cb_first_if_lower_freq:1; unsigned int has_tda9887:1; unsigned int port1_fm_high_sensitivity:1; unsigned int port2_fm_high_sensitivity:1; unsigned int fm_gain_normal:1; unsigned int intercarrier_mode:1; unsigned int port1_active:1; unsigned int port2_active:1; unsigned int port1_invert_for_secam_lc:1; unsigned int port2_invert_for_secam_lc:1; unsigned int port1_set_for_fm_mono:1; unsigned int default_pll_gating_18:1; unsigned int radio_if:2; signed int default_top_low:5; signed int default_top_mid:5; signed int default_top_high:5; signed int default_top_secam_low:5; signed int default_top_secam_mid:5; signed int default_top_secam_high:5; u16 iffreq; unsigned int count; const struct tuner_range *ranges; };”h]”hX�struct tuner_params { enum param_type type; unsigned int cb_first_if_lower_freq:1; unsigned int has_tda9887:1; unsigned int port1_fm_high_sensitivity:1; unsigned int port2_fm_high_sensitivity:1; unsigned int fm_gain_normal:1; unsigned int intercarrier_mode:1; unsigned int port1_active:1; unsigned int port2_active:1; unsigned int port1_invert_for_secam_lc:1; unsigned int port2_invert_for_secam_lc:1; unsigned int port1_set_for_fm_mono:1; unsigned int default_pll_gating_18:1; unsigned int radio_if:2; signed int default_top_low:5; signed int default_top_mid:5; signed int default_top_high:5; signed int default_top_secam_low:5; signed int default_top_secam_mid:5; signed int default_top_secam_high:5; u16 iffreq; unsigned int count; const struct tuner_range *ranges; };”…”�”}”hj5 sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1júh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´Khj� ubah}”(h]”h ]”h"]”h$]”h&]”uh1jËhje ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j©h³j€ h´KAhjb ubjª)�”}”(hXÓ``cb_first_if_lower_freq`` Many Philips-based tuners have a comment in their datasheet like "For channel selection involving band switching, and to ensure smooth tuning to the desired channel without causing unnecessary charge pump action, it is recommended to consider the difference between wanted channel frequency and the current channel frequency. Unnecessary charge pump action will result in very low tuning voltage which may drive the oscillator to extreme conditions". Set cb_first_if_lower_freq to 1, if this check is required for this tuner. I tested this for PAL by first setting the TV frequency to 203 MHz and then switching to 96.6 MHz FM radio. The result was static unless the control byte was sent first. ”h]”(j°)�”}”(hŒ``cb_first_if_lower_freq``”h]”j¶)�”}”(hj¥ h]”hŒcb_first_if_lower_freq”…”�”}”(hj§ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jµhj£ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¯h³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´KRhjŸ ubjÌ)�”}”(hhh]”jZ)�”}”(hX·Many Philips-based tuners have a comment in their datasheet like "For channel selection involving band switching, and to ensure smooth tuning to the desired channel without causing unnecessary charge pump action, it is recommended to consider the difference between wanted channel frequency and the current channel frequency. Unnecessary charge pump action will result in very low tuning voltage which may drive the oscillator to extreme conditions". Set cb_first_if_lower_freq to 1, if this check is required for this tuner. I tested this for PAL by first setting the TV frequency to 203 MHz and then switching to 96.6 MHz FM radio. The result was static unless the control byte was sent first.”h]”hX»Many Philips-based tuners have a comment in their datasheet like “For channel selection involving band switching, and to ensure smooth tuning to the desired channel without causing unnecessary charge pump action, it is recommended to consider the difference between wanted channel frequency and the current channel frequency. Unnecessary charge pump action will result in very low tuning voltage which may drive the oscillator to extreme conditionsâ€�. Set cb_first_if_lower_freq to 1, if this check is required for this tuner. I tested this for PAL by first setting the TV frequency to 203 MHz and then switching to 96.6 MHz FM radio. The result was static unless the control byte was sent first.”…”�”}”(hj¾ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´KBhj» ubah}”(h]”h ]”h"]”h$]”h&]”uh1jËhjŸ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j©h³jº h´KRhjb ubjª)�”}”(hŒ6``has_tda9887`` Set to 1 if this tuner uses a tda9887 ”h]”(j°)�”}”(hŒ``has_tda9887``”h]”j¶)�”}”(hjß h]”hŒ has_tda9887”…”�”}”(hjá h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jµhjÝ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¯h³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´KShjÙ ubjÌ)�”}”(hhh]”jZ)�”}”(hŒ%Set to 1 if this tuner uses a tda9887”h]”hŒ%Set to 1 if this tuner uses a tda9887”…”�”}”(hjø h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³jô h´KShjõ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jËhjÙ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j©h³jô h´KShjb ubjª)�”}”(hŒ®``port1_fm_high_sensitivity`` Many Philips tuners use tda9887 PORT1 to select the FM radio sensitivity. If this setting is 1, then set PORT1 to 1 to get proper FM reception. ”h]”(j°)�”}”(hŒ``port1_fm_high_sensitivity``”h]”j¶)�”}”(hj h]”hŒport1_fm_high_sensitivity”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jµhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¯h³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´KVhj ubjÌ)�”}”(hhh]”jZ)�”}”(hŒ�Many Philips tuners use tda9887 PORT1 to select the FM radio sensitivity. If this setting is 1, then set PORT1 to 1 to get proper FM reception.”h]”hŒ�Many Philips tuners use tda9887 PORT1 to select the FM radio sensitivity. If this setting is 1, then set PORT1 to 1 to get proper FM reception.”…”�”}”(hj1 h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´KThj. ubah}”(h]”h ]”h"]”h$]”h&]”uh1jËhj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j©h³j- h´KVhjb ubjª)�”}”(hŒ®``port2_fm_high_sensitivity`` Some Philips tuners use tda9887 PORT2 to select the FM radio sensitivity. If this setting is 1, then set PORT2 to 1 to get proper FM reception. ”h]”(j°)�”}”(hŒ``port2_fm_high_sensitivity``”h]”j¶)�”}”(hjR h]”hŒport2_fm_high_sensitivity”…”�”}”(hjT h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jµhjP ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¯h³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´KYhjL ubjÌ)�”}”(hhh]”jZ)�”}”(hŒ�Some Philips tuners use tda9887 PORT2 to select the FM radio sensitivity. If this setting is 1, then set PORT2 to 1 to get proper FM reception.”h]”hŒ�Some Philips tuners use tda9887 PORT2 to select the FM radio sensitivity. If this setting is 1, then set PORT2 to 1 to get proper FM reception.”…”�”}”(hjk h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´KWhjh ubah}”(h]”h ]”h"]”h$]”h&]”uh1jËhjL ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j©h³jg h´KYhjb ubjª)�”}”(hŒ®``fm_gain_normal`` Some Philips tuners use tda9887 cGainNormal to select the FM radio sensitivity. If this setting is 1, e register will use cGainNormal instead of cGainLow. ”h]”(j°)�”}”(hŒ``fm_gain_normal``”h]”j¶)�”}”(hjŒ h]”hŒfm_gain_normal”…”�”}”(hjŽ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jµhjŠ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¯h³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´K]hj† ubjÌ)�”}”(hhh]”jZ)�”}”(hŒšSome Philips tuners use tda9887 cGainNormal to select the FM radio sensitivity. If this setting is 1, e register will use cGainNormal instead of cGainLow.”h]”hŒšSome Philips tuners use tda9887 cGainNormal to select the FM radio sensitivity. If this setting is 1, e register will use cGainNormal instead of cGainLow.”…”�”}”(hj¥ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´KZhj¢ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jËhj† ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j©h³j¡ h´K]hjb ubjª)�”}”(hŒ·``intercarrier_mode`` Most tuners with a tda9887 use QSS mode. Some (cheaper) tuners use Intercarrier mode. If this setting is 1, then the tuner needs to be set to intercarrier mode. ”h]”(j°)�”}”(hŒ``intercarrier_mode``”h]”j¶)�”}”(hjÆ h]”hŒintercarrier_mode”…”�”}”(hjÈ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jµhjÄ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¯h³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´KahjÀ ubjÌ)�”}”(hhh]”jZ)�”}”(hŒ Most tuners with a tda9887 use QSS mode. Some (cheaper) tuners use Intercarrier mode. If this setting is 1, then the tuner needs to be set to intercarrier mode.”h]”hŒ Most tuners with a tda9887 use QSS mode. Some (cheaper) tuners use Intercarrier mode. If this setting is 1, then the tuner needs to be set to intercarrier mode.”…”�”}”(hjß h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´K^hjÜ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jËhjÀ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j©h³jÛ h´Kahjb ubjª)�”}”(hŒÆ``port1_active`` This setting sets the default value for PORT1. 0 means inactive, 1 means active. Note: the actual bit value written to the tda9887 is inverted. So a 0 here means a 1 in the B6 bit. ”h]”(j°)�”}”(hŒ``port1_active``”h]”j¶)�”}”(hj h]”hŒ port1_active”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jµhjþ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¯h³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´Kehjú ubjÌ)�”}”(hhh]”jZ)�”}”(hŒ´This setting sets the default value for PORT1. 0 means inactive, 1 means active. Note: the actual bit value written to the tda9887 is inverted. So a 0 here means a 1 in the B6 bit.”h]”hŒ´This setting sets the default value for PORT1. 0 means inactive, 1 means active. Note: the actual bit value written to the tda9887 is inverted. So a 0 here means a 1 in the B6 bit.”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´Kbhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jËhjú ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j©h³j h´Kehjb ubjª)�”}”(hŒÆ``port2_active`` This setting sets the default value for PORT2. 0 means inactive, 1 means active. Note: the actual bit value written to the tda9887 is inverted. So a 0 here means a 1 in the B7 bit. ”h]”(j°)�”}”(hŒ``port2_active``”h]”j¶)�”}”(hj: h]”hŒ port2_active”…”�”}”(hj< h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jµhj8 ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¯h³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´Kihj4 ubjÌ)�”}”(hhh]”jZ)�”}”(hŒ´This setting sets the default value for PORT2. 0 means inactive, 1 means active. Note: the actual bit value written to the tda9887 is inverted. So a 0 here means a 1 in the B7 bit.”h]”hŒ´This setting sets the default value for PORT2. 0 means inactive, 1 means active. Note: the actual bit value written to the tda9887 is inverted. So a 0 here means a 1 in the B7 bit.”…”�”}”(hjS h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´KfhjP ubah}”(h]”h ]”h"]”h$]”h&]”uh1jËhj4 ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j©h³jO h´Kihjb ubjª)�”}”(hŒ‡``port1_invert_for_secam_lc`` Sometimes PORT1 is inverted when the SECAM-L' standard is selected. Set this bit to 1 if this is needed. ”h]”(j°)�”}”(hŒ``port1_invert_for_secam_lc``”h]”j¶)�”}”(hjt h]”hŒport1_invert_for_secam_lc”…”�”}”(hjv h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jµhjr ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¯h³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´Klhjn ubjÌ)�”}”(hhh]”jZ)�”}”(hŒhSometimes PORT1 is inverted when the SECAM-L' standard is selected. Set this bit to 1 if this is needed.”h]”hŒjSometimes PORT1 is inverted when the SECAM-L’ standard is selected. Set this bit to 1 if this is needed.”…”�”}”(hj� h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´KjhjŠ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jËhjn ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j©h³j‰ h´Klhjb ubjª)�”}”(hŒ‡``port2_invert_for_secam_lc`` Sometimes PORT2 is inverted when the SECAM-L' standard is selected. Set this bit to 1 if this is needed. ”h]”(j°)�”}”(hŒ``port2_invert_for_secam_lc``”h]”j¶)�”}”(hj® h]”hŒport2_invert_for_secam_lc”…”�”}”(hj° h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jµhj¬ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¯h³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´Kohj¨ ubjÌ)�”}”(hhh]”jZ)�”}”(hŒhSometimes PORT2 is inverted when the SECAM-L' standard is selected. Set this bit to 1 if this is needed.”h]”hŒjSometimes PORT2 is inverted when the SECAM-L’ standard is selected. Set this bit to 1 if this is needed.”…”�”}”(hjÇ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´KmhjÄ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jËhj¨ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j©h³jà h´Kohjb ubjª)�”}”(hŒ_``port1_set_for_fm_mono`` Some cards require PORT1 to be 1 for mono Radio FM and 0 for stereo. ”h]”(j°)�”}”(hŒ``port1_set_for_fm_mono``”h]”j¶)�”}”(hjè h]”hŒport1_set_for_fm_mono”…”�”}”(hjê h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jµhjæ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¯h³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´Kqhjâ ubjÌ)�”}”(hhh]”jZ)�”}”(hŒDSome cards require PORT1 to be 1 for mono Radio FM and 0 for stereo.”h]”hŒDSome cards require PORT1 to be 1 for mono Radio FM and 0 for stereo.”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´Kphjþ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jËhjâ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j©h³jý h´Kqhjb ubjª)�”}”(hŒy``default_pll_gating_18`` Select 18% (or according to datasheet 0%) L standard PLL gating, vs the driver default of 36%. ”h]”(j°)�”}”(hŒ``default_pll_gating_18``”h]”j¶)�”}”(hj" h]”hŒdefault_pll_gating_18”…”�”}”(hj$ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jµhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¯h³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´Kthj ubjÌ)�”}”(hhh]”jZ)�”}”(hŒ^Select 18% (or according to datasheet 0%) L standard PLL gating, vs the driver default of 36%.”h]”hŒ^Select 18% (or according to datasheet 0%) L standard PLL gating, vs the driver default of 36%.”…”�”}”(hj; h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´Krhj8 ubah}”(h]”h ]”h"]”h$]”h&]”uh1jËhj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j©h³j7 h´Kthjb ubjª)�”}”(hŒÉ``radio_if`` IF to use in radio mode. Tuners with a separate radio IF filter seem to use 10.7, while those without use 33.3 for PAL/SECAM tuners and 41.3 for NTSC tuners. 0 = 10.7, 1 = 33.3, 2 = 41.3 ”h]”(j°)�”}”(hŒ ``radio_if``”h]”j¶)�”}”(hj\ h]”hŒradio_if”…”�”}”(hj^ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jµhjZ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¯h³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´KyhjV ubjÌ)�”}”(hhh]”jZ)�”}”(hŒ»IF to use in radio mode. Tuners with a separate radio IF filter seem to use 10.7, while those without use 33.3 for PAL/SECAM tuners and 41.3 for NTSC tuners. 0 = 10.7, 1 = 33.3, 2 = 41.3”h]”hŒ»IF to use in radio mode. Tuners with a separate radio IF filter seem to use 10.7, while those without use 33.3 for PAL/SECAM tuners and 41.3 for NTSC tuners. 0 = 10.7, 1 = 33.3, 2 = 41.3”…”�”}”(hju h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´Kuhjr ubah}”(h]”h ]”h"]”h$]”h&]”uh1jËhjV ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j©h³jq h´Kyhjb ubjª)�”}”(hŒc``default_top_low`` Default tda9887 TOP value in dB for the low band. Default is 0. Range: -16:+15 ”h]”(j°)�”}”(hŒ``default_top_low``”h]”j¶)�”}”(hj– h]”hŒdefault_top_low”…”�”}”(hj˜ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jµhj” ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¯h³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´K{hj� ubjÌ)�”}”(hhh]”jZ)�”}”(hŒNDefault tda9887 TOP value in dB for the low band. Default is 0. Range: -16:+15”h]”hŒNDefault tda9887 TOP value in dB for the low band. Default is 0. Range: -16:+15”…”�”}”(hj¯ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´Kzhj¬ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jËhj� ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j©h³j« h´K{hjb ubjª)�”}”(hŒc``default_top_mid`` Default tda9887 TOP value in dB for the mid band. Default is 0. Range: -16:+15 ”h]”(j°)�”}”(hŒ``default_top_mid``”h]”j¶)�”}”(hjÐ h]”hŒdefault_top_mid”…”�”}”(hjÒ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jµhjÎ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¯h³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´K}hjÊ ubjÌ)�”}”(hhh]”jZ)�”}”(hŒNDefault tda9887 TOP value in dB for the mid band. Default is 0. Range: -16:+15”h]”hŒNDefault tda9887 TOP value in dB for the mid band. Default is 0. Range: -16:+15”…”�”}”(hjé h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´K|hjæ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jËhjÊ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j©h³jå h´K}hjb ubjª)�”}”(hŒe``default_top_high`` Default tda9887 TOP value in dB for the high band. Default is 0. Range: -16:+15 ”h]”(j°)�”}”(hŒ``default_top_high``”h]”j¶)�”}”(hj h]”hŒdefault_top_high”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jµhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¯h³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´Khj ubjÌ)�”}”(hhh]”jZ)�”}”(hŒODefault tda9887 TOP value in dB for the high band. Default is 0. Range: -16:+15”h]”hŒODefault tda9887 TOP value in dB for the high band. Default is 0. Range: -16:+15”…”�”}”(hj# h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´K~hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jËhj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j©h³j h´Khjb ubjª)�”}”(hŒÃ``default_top_secam_low`` Default tda9887 TOP value in dB for SECAM-L/L' for the low band. Default is 0. Several tuners require a different TOP value for the SECAM-L/L' standards. Range: -16:+15 ”h]”(j°)�”}”(hŒ``default_top_secam_low``”h]”j¶)�”}”(hjD h]”hŒdefault_top_secam_low”…”�”}”(hjF h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jµhjB ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¯h³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´Kƒhj> ubjÌ)�”}”(hhh]”jZ)�”}”(hŒ¨Default tda9887 TOP value in dB for SECAM-L/L' for the low band. Default is 0. Several tuners require a different TOP value for the SECAM-L/L' standards. Range: -16:+15”•¸Eh]”hŒ¬Default tda9887 TOP value in dB for SECAM-L/L’ for the low band. Default is 0. Several tuners require a different TOP value for the SECAM-L/L’ standards. Range: -16:+15”…”�”}”(hj] h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´K€hjZ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jËhj> ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j©h³jY h´Kƒhjb ubjª)�”}”(hŒÃ``default_top_secam_mid`` Default tda9887 TOP value in dB for SECAM-L/L' for the mid band. Default is 0. Several tuners require a different TOP value for the SECAM-L/L' standards. Range: -16:+15 ”h]”(j°)�”}”(hŒ``default_top_secam_mid``”h]”j¶)�”}”(hj~ h]”hŒdefault_top_secam_mid”…”�”}”(hj€ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jµhj| ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¯h³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´K‡hjx ubjÌ)�”}”(hhh]”jZ)�”}”(hŒ¨Default tda9887 TOP value in dB for SECAM-L/L' for the mid band. Default is 0. Several tuners require a different TOP value for the SECAM-L/L' standards. Range: -16:+15”h]”hŒ¬Default tda9887 TOP value in dB for SECAM-L/L’ for the mid band. Default is 0. Several tuners require a different TOP value for the SECAM-L/L’ standards. Range: -16:+15”…”�”}”(hj— h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´K„hj” ubah}”(h]”h ]”h"]”h$]”h&]”uh1jËhjx ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j©h³j“ h´K‡hjb ubjª)�”}”(hŒÅ``default_top_secam_high`` Default tda9887 TOP value in dB for SECAM-L/L' for the high band. Default is 0. Several tuners require a different TOP value for the SECAM-L/L' standards. Range: -16:+15 ”h]”(j°)�”}”(hŒ``default_top_secam_high``”h]”j¶)�”}”(hj¸ h]”hŒdefault_top_secam_high”…”�”}”(hjº h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jµhj¶ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¯h³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´K‹hj² ubjÌ)�”}”(hhh]”jZ)�”}”(hŒ©Default tda9887 TOP value in dB for SECAM-L/L' for the high band. Default is 0. Several tuners require a different TOP value for the SECAM-L/L' standards. Range: -16:+15”h]”hŒ­Default tda9887 TOP value in dB for SECAM-L/L’ for the high band. Default is 0. Several tuners require a different TOP value for the SECAM-L/L’ standards. Range: -16:+15”…”�”}”(hjÑ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´KˆhjÎ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jËhj² ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j©h³jÍ h´K‹hjb ubjª)�”}”(hŒJ``iffreq`` Intermediate frequency (IF) used by the tuner on digital mode. ”h]”(j°)�”}”(hŒ ``iffreq``”h]”j¶)�”}”(hjò h]”hŒiffreq”…”�”}”(hjô h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jµhjð ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¯h³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´K�hjì ubjÌ)�”}”(hhh]”jZ)�”}”(hŒ>Intermediate frequency (IF) used by the tuner on digital mode.”h]”hŒ>Intermediate frequency (IF) used by the tuner on digital mode.”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´KŒhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jËhjì ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j©h³jh´K�hjb ubjª)�”}”(hŒ$``count`` Size of the ranges array. ”h]”(j°)�”}”(hŒ ``count``”h]”j¶)�”}”(hj,h]”hŒcount”…”�”}”(hj.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jµhj*ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¯h³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´KŽhj&ubjÌ)�”}”(hhh]”jZ)�”}”(hŒSize of the ranges array.”h]”hŒSize of the ranges array.”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³jAh´KŽhjBubah}”(h]”h ]”h"]”h$]”h&]”uh1jËhj&ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j©h³jAh´KŽhjb ubjª)�”}”(hŒB``ranges`` Array with the frequency ranges supported by the tuner.”h]”(j°)�”}”(hŒ ``ranges``”h]”j¶)�”}”(hjeh]”hŒranges”…”�”}”(hjgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jµhjcubah}”(h]”h ]”h"]”h$]”h&]”uh1j¯h³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´K�hj_ubjÌ)�”}”(hhh]”jZ)�”}”(hŒ7Array with the frequency ranges supported by the tuner.”h]”hŒ7Array with the frequency ranges supported by the tuner.”…”�”}”(hj~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³jzh´K�hj{ubah}”(h]”h ]”h"]”h$]”h&]”uh1jËhj_ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j©h³jzh´K�hjb ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¤hj ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j~hhÊh²hh³Nh´NubhÞ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(hêŒtunertype (C struct)”Œ c.tunertype”hNt”auh1hÝhhÊh²hh³Nh´Nubhï)�”}”(hhh]”(hô)�”}”(hŒ tunertype”h]”hú)�”}”(hŒstruct tunertype”h]”(j)�”}”(hjxh]”hŒstruct”…”�”}”(hj¾h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hÿhjºh²hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´K–ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÌh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjºh²hh³jËh´K–ubj#)�”}”(hŒ tunertype”h]”j))�”}”(hj¸h]”hŒ tunertype”…”�”}”(hjÞh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j(hjÚubah}”(h]”h ]”(j;j<eh"]”h$]”h&]”hÅhÆuh1j"hjºh²hh³jËh´K–ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjFˆuh1hùjGjHhj¶h²hh³jËh´K–ubah}”(h]”j±ah ]”(jLjMeh"]”h$]”h&]”jQˆjR)jShuh1hóh³jËh´K–hj³h²hubjU)�”}”(hhh]”jZ)�”}”(hŒdescribes the known tuners.”h]”hŒdescribes the known tuners.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´K¯hjýh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jThj³h²hh³jËh´K–ubeh}”(h]”h ]”(jsŒstruct”eh"]”h$]”h&]”jxjsjyjjzjj{‰j|‰j}‰uh1hîh²hhhÊh³Nh´Nubj)�”}”(hXB **Definition**:: struct tunertype { char *name; unsigned int count; const struct tuner_params *params; u16 min; u16 max; u32 stepsize; u8 *initdata; u8 *sleepdata; }; **Members** ``name`` string with the tuner's name. ``count`` size of :c:type:`struct tuner_params ` array. ``params`` pointer to :c:type:`struct tuner_params ` array. ``min`` minimal tuner frequency, in 62.5 kHz step. should be multiplied to 16 to convert to MHz. ``max`` minimal tuner frequency, in 62.5 kHz step. Should be multiplied to 16 to convert to MHz. ``stepsize`` frequency step, in Hz. ``initdata`` optional byte sequence to initialize the tuner. ``sleepdata`` optional byte sequence to power down the tuner.”h]”(j…)�”}”(hŒì**Definition**:: struct tunertype { char *name; unsigned int count; const struct tuner_params *params; u16 min; u16 max; u32 stepsize; u8 *initdata; u8 *sleepdata; }; ”h]”(jZ)�”}”(hŒ**Definition**::”h]”(j�)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jŽhj$ubhŒ:”…”�”}”(hj$h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´K³hj ubjû)�”}”(hŒÅstruct tunertype { char *name; unsigned int count; const struct tuner_params *params; u16 min; u16 max; u32 stepsize; u8 *initdata; u8 *sleepdata; };”h]”hŒÅstruct tunertype { char *name; unsigned int count; const struct tuner_params *params; u16 min; u16 max; u32 stepsize; u8 *initdata; u8 *sleepdata; };”…”�”}”hjAsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1júh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´Kµhj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j„h³j@h´K³hjubjZ)�”}”(hŒ **Members**”h]”j�)�”}”(hjXh]”hŒMembers”…”�”}”(hjZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jŽhjVubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´KÀhjubj¥)�”}”(hhh]”(jª)�”}”(hŒ'``name`` string with the tuner's name. ”h]”(j°)�”}”(hŒ``name``”h]”j¶)�”}”(hjwh]”hŒname”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jµhjuubah}”(h]”h ]”h"]”h$]”h&]”uh1j¯h³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´K²hjqubjÌ)�”}”(hhh]”jZ)�”}”(hŒstring with the tuner's name.”h]”hŒstring with the tuner’s name.”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³jŒh´K²hj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jËhjqubeh}”(h]”h ]”h"]”h$]”h&]”uh1j©h³jŒh´K²hjnubjª)�”}”(hŒF``count`` size of :c:type:`struct tuner_params ` array. ”h]”(j°)�”}”(hŒ ``count``”h]”j¶)�”}”(hj°h]”hŒcount”…”�”}”(hj²h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jµhj®ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¯h³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´K³hjªubjÌ)�”}”(hhh]”jZ)�”}”(hŒ;size of :c:type:`struct tuner_params ` array.”h]”(hŒsize of ”…”�”}”(hjÉh²hh³Nh´Nubh)�”}”(hŒ,:c:type:`struct tuner_params `”h]”j¶)�”}”(hjÓh]”hŒstruct tuner_params”…”�”}”(hjÕh²hh³Nh´Nubah}”(h]”h ]”(Œxref”jsŒc-type”eh"]”h$]”h&]”uh1jµhjÑubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”Œdriver-api/media/v4l2-tuner”Œ refdomain”jsŒreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰Œ c:parent_key”Œsphinx.domains.c”Œ LookupKey”“”)�”}”Œdata”]”sbŒ reftarget”Œ tuner_params”uh1hh³jÅh´K³hjÉubhŒ array.”…”�”}”(hjÉh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jYh³jÅh´K³hjÆubah}”(h]”h ]”h"]”h$]”h&]”uh1jËhjªubeh}”(h]”h ]”h"]”h$]”h&]”uh1j©h³jÅh´K³hjnubjª)�”}”(hŒJ``params`` pointer to :c:type:`struct tuner_params ` array. ”h]”(j°)�”}”(hŒ ``params``”h]”j¶)�”}”(hjh]”hŒparams”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jµhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j¯h³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´K´hjubjÌ)�”}”(hhh]”jZ)�”}”(hŒ>pointer to :c:type:`struct tuner_params ` array.”h]”(hŒ pointer to ”…”�”}”(hj0h²hh³Nh´Nubh)�”}”(hŒ,:c:type:`struct tuner_params `”h]”j¶)�”}”(hj:h]”hŒstruct tuner_params”…”�”}”(hj<h²hh³Nh´Nubah}”(h]”h ]”(jßjsŒc-type”eh"]”h$]”h&]”uh1jµhj8ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jëŒ refdomain”jsŒreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰jñjõjùŒ tuner_params”uh1hh³j,h´K´hj0ubhŒ array.”…”�”}”(hj0h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jYh³j,h´K´hj-ubah}”(h]”h ]”h"]”h$]”h&]”uh1jËhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j©h³j,h´K´hjnubjª)�”}”(hŒa``min`` minimal tuner frequency, in 62.5 kHz step. should be multiplied to 16 to convert to MHz. ”h]”(j°)�”}”(hŒ``min``”h]”j¶)�”}”(hjsh]”hŒmin”…”�”}”(hjuh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jµhjqubah}”(h]”h ]”h"]”h$]”h&]”uh1j¯h³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´K·hjmubjÌ)�”}”(hhh]”jZ)�”}”(hŒXminimal tuner frequency, in 62.5 kHz step. should be multiplied to 16 to convert to MHz.”h]”hŒXminimal tuner frequency, in 62.5 kHz step. should be multiplied to 16 to convert to MHz.”…”�”}”(hjŒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´K¶hj‰ubah}”(h]”h ]”h"]”h$]”h&]”uh1jËhjmubeh}”(h]”h ]”h"]”h$]”h&]”uh1j©h³jˆh´K·hjnubjª)�”}”(hŒa``max`` minimal tuner frequency, in 62.5 kHz step. Should be multiplied to 16 to convert to MHz. ”h]”(j°)�”}”(hŒ``max``”h]”j¶)�”}”(hj­h]”hŒmax”…”�”}”(hj¯h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jµhj«ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¯h³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´K¹hj§ubjÌ)�”}”(hhh]”jZ)�”}”(hŒXminimal tuner frequency, in 62.5 kHz step. Should be multiplied to 16 to convert to MHz.”h]”hŒXminimal tuner frequency, in 62.5 kHz step. Should be multiplied to 16 to convert to MHz.”…”�”}”(hjÆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´K¸hjÃubah}”(h]”h ]”h"]”h$]”h&]”uh1jËhj§ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j©h³jÂh´K¹hjnubjª)�”}”(hŒ$``stepsize`` frequency step, in Hz. ”h]”(j°)�”}”(hŒ ``stepsize``”h]”j¶)�”}”(hjçh]”hŒstepsize”…”�”}”(hjéh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jµhjåubah}”(h]”h ]”h"]”h$]”h&]”uh1j¯h³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´KºhjáubjÌ)�”}”(hhh]”jZ)�”}”(hŒfrequency step, in Hz.”h]”hŒfrequency step, in Hz.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³jüh´Kºhjýubah}”(h]”h ]”h"]”h$]”h&]”uh1jËhjáubeh}”(h]”h ]”h"]”h$]”h&]”uh1j©h³jüh´Kºhjnubjª)�”}”(hŒ=``initdata`` optional byte sequence to initialize the tuner. ”h]”(j°)�”}”(hŒ ``initdata``”h]”j¶)�”}”(hj h]”hŒinitdata”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jµhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j¯h³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´K»hjubjÌ)�”}”(hhh]”jZ)�”}”(hŒ/optional byte sequence to initialize the tuner.”h]”hŒ/optional byte sequence to initialize the tuner.”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³j5h´K»hj6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jËhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j©h³j5h´K»hjnubjª)�”}”(hŒ=``sleepdata`` optional byte sequence to power down the tuner.”h]”(j°)�”}”(hŒ ``sleepdata``”h]”j¶)�”}”(hjYh]”hŒ sleepdata”…”�”}”(hj[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jµhjWubah}”(h]”h ]”h"]”h$]”h&]”uh1j¯h³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´K»hjSubjÌ)�”}”(hhh]”jZ)�”}”(hŒ/optional byte sequence to power down the tuner.”h]”hŒ/optional byte sequence to power down the tuner.”…”�”}”(hjrh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-tuner:8: ./include/media/tuner-types.h”h´K¼hjoubah}”(h]”h ]”h"]”h$]”h&]”uh1jËhjSubeh}”(h]”h ]”h"]”h$]”h&]”uh1j©h³jnh´K»hjnubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¤hjubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j~hhÊh²hh³Nh´Nubeh}”(h]”Œ#tuner-functions-and-data-structures”ah ]”h"]”Œ#tuner functions and data structures”ah$]”h&]”uh1hÈhhh²hh³hÇh´Kubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”hÇuh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)�”}”(hÍNŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”Œentry”Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”jÅŒerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”hÇŒ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”Œnameids”}”jŸjœsŒ nametypes”}”jŸ‰sh}”(jœhÊhìhõjijnj«j°jljqj¥jªj±j¶uŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”…”R”Œparse_messages”]”Œtransform_messages”]”Œ transformer”NŒ include_log”]”Œ decoration”Nh²hub.