sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget4/translations/zh_CN/driver-api/media/drivers/ccs/ccsmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget4/translations/zh_TW/driver-api/media/drivers/ccs/ccsmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget4/translations/it_IT/driver-api/media/drivers/ccs/ccsmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget4/translations/ja_JP/driver-api/media/drivers/ccs/ccsmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget4/translations/ko_KR/driver-api/media/drivers/ccs/ccsmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hPortuguese (Brazilian)}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget4/translations/pt_BR/driver-api/media/drivers/ccs/ccsmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget4/translations/sp_SP/driver-api/media/drivers/ccs/ccsmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhcomment)}(h5SPDX-License-Identifier: GPL-2.0-only OR BSD-3-Clauseh]h5SPDX-License-Identifier: GPL-2.0-only OR BSD-3-Clause}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhhN/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs.rsthKubh)}(h4This data file has been placed in the public domain.h]h4This data file has been placed in the public domain.}hhsbah}(h]h ]h"]h$]h&]hhuh1hhhhhho/srv/docbuild/lib/venvs/build-kernel-docs/lib64/python3.9/site-packages/docutils/parsers/rst/include/isonum.txthKubh)}(hDerived from the Unicode character mappings available from . Processed by unicode2rstsubs.py, part of Docutils: .h]hDerived from the Unicode character mappings available from . Processed by unicode2rstsubs.py, part of Docutils: .}hhsbah}(h]h ]h"]h$]h&]hhuh1hhhhhhhhKubhsubstitution_definition)}(h*.. |amp| unicode:: U+00026 .. AMPERSANDh]h&}hhsbah}(h]h ]h"]ampah$]h&]uh1hhhhKhhhhubh)}(h+.. |apos| unicode:: U+00027 .. APOSTROPHEh]h'}hhsbah}(h]h ]h"]aposah$]h&]uh1hhhhKhhhhubh)}(h).. |ast| unicode:: U+0002A .. ASTERISKh]h*}hjsbah}(h]h ]h"]astah$]h&]uh1hhhhK hhhhubh)}(h+.. |brvbar| unicode:: U+000A6 .. BROKEN BARh]h¦}hjsbah}(h]h ]h"]brvbarah$]h&]uh1hhhhK hhhhubh)}(h0.. |bsol| unicode:: U+0005C .. REVERSE SOLIDUSh]h\}hj#sbah}(h]h ]h"]bsolah$]h&]uh1hhhhK hhhhubh)}(h*.. |cent| unicode:: U+000A2 .. CENT SIGNh]h¢}hj2sbah}(h]h ]h"]centah$]h&]uh1hhhhK hhhhubh)}(h&.. |colon| unicode:: U+0003A .. COLONh]h:}hjAsbah}(h]h ]h"]colonah$]h&]uh1hhhhK hhhhubh)}(h&.. |comma| unicode:: U+0002C .. COMMAh]h,}hjPsbah}(h]h ]h"]commaah$]h&]uh1hhhhKhhhhubh)}(h... |commat| unicode:: U+00040 .. COMMERCIAL ATh]h@}hj_sbah}(h]h ]h"]commatah$]h&]uh1hhhhKhhhhubh)}(h/.. |copy| unicode:: U+000A9 .. COPYRIGHT SIGNh]h©}hjnsbah}(h]h ]h"]copyah$]h&]uh1hhhhKhhhhubh)}(h... |curren| unicode:: U+000A4 .. CURRENCY SIGNh]h¤}hj}sbah}(h]h ]h"]currenah$]h&]uh1hhhhKhhhhubh)}(h0.. |darr| unicode:: U+02193 .. DOWNWARDS ARROWh]h↓}hjsbah}(h]h ]h"]darrah$]h&]uh1hhhhKhhhhubh)}(h,.. |deg| unicode:: U+000B0 .. DEGREE SIGNh]h°}hjsbah}(h]h ]h"]degah$]h&]uh1hhhhKhhhhubh)}(h... |divide| unicode:: U+000F7 .. DIVISION SIGNh]h÷}hjsbah}(h]h ]h"]divideah$]h&]uh1hhhhKhhhhubh)}(h,.. |dollar| unicode:: U+00024 .. DOLLAR SIGNh]h$}hjsbah}(h]h ]h"]dollarah$]h&]uh1hhhhKhhhhubh)}(h,.. |equals| unicode:: U+0003D .. EQUALS SIGNh]h=}hjsbah}(h]h ]h"]equalsah$]h&]uh1hhhhKhhhhubh)}(h1.. |excl| unicode:: U+00021 .. EXCLAMATION MARKh]h!}hjsbah}(h]h ]h"]exclah$]h&]uh1hhhhKhhhhubh)}(h9.. |frac12| unicode:: U+000BD .. VULGAR FRACTION ONE HALFh]h½}hjsbah}(h]h ]h"]frac12ah$]h&]uh1hhhhKhhhhubh)}(h<.. |frac14| unicode:: U+000BC .. VULGAR FRACTION ONE QUARTERh]h¼}hjsbah}(h]h ]h"]frac14ah$]h&]uh1hhhhKhhhhubh)}(h;.. |frac18| unicode:: U+0215B .. VULGAR FRACTION ONE EIGHTHh]h⅛}hjsbah}(h]h ]h"]frac18ah$]h&]uh1hhhhKhhhhubh)}(h?.. |frac34| unicode:: U+000BE .. VULGAR FRACTION THREE QUARTERSh]h¾}hjsbah}(h]h ]h"]frac34ah$]h&]uh1hhhhKhhhhubh)}(h>.. |frac38| unicode:: U+0215C .. VULGAR FRACTION THREE EIGHTHSh]h⅜}hj"sbah}(h]h ]h"]frac38ah$]h&]uh1hhhhKhhhhubh)}(h=.. |frac58| unicode:: U+0215D .. VULGAR FRACTION FIVE EIGHTHSh]h⅝}hj1sbah}(h]h ]h"]frac58ah$]h&]uh1hhhhKhhhhubh)}(h>.. |frac78| unicode:: U+0215E .. VULGAR FRACTION SEVEN EIGHTHSh]h⅞}hj@sbah}(h]h ]h"]frac78ah$]h&]uh1hhhhKhhhhubh)}(h2.. |gt| unicode:: U+0003E .. GREATER-THAN SIGNh]h>}hjOsbah}(h]h ]h"]gtah$]h&]uh1hhhhKhhhhubh)}(h9.. |half| unicode:: U+000BD .. VULGAR FRACTION ONE HALFh]h½}hj^sbah}(h]h ]h"]halfah$]h&]uh1hhhhK hhhhubh)}(h/.. |horbar| unicode:: U+02015 .. HORIZONTAL BARh]h―}hjmsbah}(h]h ]h"]horbarah$]h&]uh1hhhhK!hhhhubh)}(h'.. |hyphen| unicode:: U+02010 .. HYPHENh]h‐}hj|sbah}(h]h ]h"]hyphenah$]h&]uh1hhhhK"hhhhubh)}(h:.. |iexcl| unicode:: U+000A1 .. INVERTED EXCLAMATION MARKh]h¡}hjsbah}(h]h ]h"]iexclah$]h&]uh1hhhhK#hhhhubh)}(h7.. |iquest| unicode:: U+000BF .. INVERTED QUESTION MARKh]h¿}hjsbah}(h]h ]h"]iquestah$]h&]uh1hhhhK$hhhhubh)}(hJ.. |laquo| unicode:: U+000AB .. LEFT-POINTING DOUBLE ANGLE QUOTATION MARKh]h«}hjsbah}(h]h ]h"]laquoah$]h&]uh1hhhhK%hhhhubh)}(h0.. |larr| unicode:: U+02190 .. LEFTWARDS ARROWh]h←}hjsbah}(h]h ]h"]larrah$]h&]uh1hhhhK&hhhhubh)}(h3.. |lcub| unicode:: U+0007B .. LEFT CURLY BRACKETh]h{}hjsbah}(h]h ]h"]lcubah$]h&]uh1hhhhK'hhhhubh)}(h;.. |ldquo| unicode:: U+0201C .. LEFT DOUBLE QUOTATION MARKh]h“}hjsbah}(h]h ]h"]ldquoah$]h&]uh1hhhhK(hhhhubh)}(h).. |lowbar| unicode:: U+0005F .. LOW LINEh]h_}hjsbah}(h]h ]h"]lowbarah$]h&]uh1hhhhK)hhhhubh)}(h1.. |lpar| unicode:: U+00028 .. LEFT PARENTHESISh]h(}hjsbah}(h]h ]h"]lparah$]h&]uh1hhhhK*hhhhubh)}(h4.. |lsqb| unicode:: U+0005B .. LEFT SQUARE BRACKETh]h[}hjsbah}(h]h ]h"]lsqbah$]h&]uh1hhhhK+hhhhubh)}(h;.. |lsquo| unicode:: U+02018 .. LEFT SINGLE QUOTATION MARKh]h‘}hjsbah}(h]h ]h"]lsquoah$]h&]uh1hhhhK,hhhhubh)}(h/.. |lt| unicode:: U+0003C .. LESS-THAN SIGNh]h<}hj!sbah}(h]h ]h"]ltah$]h&]uh1hhhhK-hhhhubh)}(h+.. |micro| unicode:: U+000B5 .. MICRO SIGNh]hµ}hj0sbah}(h]h ]h"]microah$]h&]uh1hhhhK.hhhhubh)}(h+.. |middot| unicode:: U+000B7 .. MIDDLE DOTh]h·}hj?sbah}(h]h ]h"]middotah$]h&]uh1hhhhK/hhhhubh)}(h/.. |nbsp| unicode:: U+000A0 .. NO-BREAK SPACEh]h }hjNsbah}(h]h ]h"]nbspah$]h&]uh1hhhhK0hhhhubh)}(h).. |not| unicode:: U+000AC .. NOT SIGNh]h¬}hj]sbah}(h]h ]h"]notah$]h&]uh1hhhhK1hhhhubh)}(h,.. |num| unicode:: U+00023 .. NUMBER SIGNh]h#}hjlsbah}(h]h ]h"]numah$]h&]uh1hhhhK2hhhhubh)}(h).. |ohm| unicode:: U+02126 .. OHM SIGNh]hΩ}hj{sbah}(h]h ]h"]ohmah$]h&]uh1hhhhK3hhhhubh)}(h;.. |ordf| unicode:: U+000AA .. FEMININE ORDINAL INDICATORh]hª}hjsbah}(h]h ]h"]ordfah$]h&]uh1hhhhK4hhhhubh)}(h<.. |ordm| unicode:: U+000BA .. MASCULINE ORDINAL INDICATORh]hº}hjsbah}(h]h ]h"]ordmah$]h&]uh1hhhhK5hhhhubh)}(h-.. |para| unicode:: U+000B6 .. PILCROW SIGNh]h¶}hjsbah}(h]h ]h"]paraah$]h&]uh1hhhhK6hhhhubh)}(h-.. |percnt| unicode:: U+00025 .. PERCENT SIGNh]h%}hjsbah}(h]h ]h"]percntah$]h&]uh1hhhhK7hhhhubh)}(h*.. |period| unicode:: U+0002E .. FULL STOPh]h.}hjsbah}(h]h ]h"]periodah$]h&]uh1hhhhK8hhhhubh)}(h*.. |plus| unicode:: U+0002B .. PLUS SIGNh]h+}hjsbah}(h]h ]h"]plusah$]h&]uh1hhhhK9hhhhubh)}(h0.. |plusmn| unicode:: U+000B1 .. PLUS-MINUS SIGNh]h±}hjsbah}(h]h ]h"]plusmnah$]h&]uh1hhhhK:hhhhubh)}(h+.. |pound| unicode:: U+000A3 .. POUND SIGNh]h£}hjsbah}(h]h ]h"]poundah$]h&]uh1hhhhK;hhhhubh)}(h... |quest| unicode:: U+0003F .. QUESTION MARKh]h?}hjsbah}(h]h ]h"]questah$]h&]uh1hhhhKhhhhubh)}(h1.. |rarr| unicode:: U+02192 .. RIGHTWARDS ARROWh]h→}hj/sbah}(h]h ]h"]rarrah$]h&]uh1hhhhK?hhhhubh)}(h4.. |rcub| unicode:: U+0007D .. RIGHT CURLY BRACKETh]h}}hj>sbah}(h]h ]h"]rcubah$]h&]uh1hhhhK@hhhhubh)}(h<.. |rdquo| unicode:: U+0201D .. RIGHT DOUBLE QUOTATION MARKh]h”}hjMsbah}(h]h ]h"]rdquoah$]h&]uh1hhhhKAhhhhubh)}(h0.. |reg| unicode:: U+000AE .. REGISTERED SIGNh]h®}hj\sbah}(h]h ]h"]regah$]h&]uh1hhhhKBhhhhubh)}(h2.. |rpar| unicode:: U+00029 .. RIGHT PARENTHESISh]h)}hjksbah}(h]h ]h"]rparah$]h&]uh1hhhhKChhhhubh)}(h5.. |rsqb| unicode:: U+0005D .. RIGHT SQUARE BRACKETh]h]}hjzsbah}(h]h ]h"]rsqbah$]h&]uh1hhhhKDhhhhubh)}(h<.. |rsquo| unicode:: U+02019 .. RIGHT SINGLE QUOTATION MARKh]h’}hjsbah}(h]h ]h"]rsquoah$]h&]uh1hhhhKEhhhhubh)}(h-.. |sect| unicode:: U+000A7 .. SECTION SIGNh]h§}hjsbah}(h]h ]h"]sectah$]h&]uh1hhhhKFhhhhubh)}(h*.. |semi| unicode:: U+0003B .. SEMICOLONh]h;}hjsbah}(h]h ]h"]semiah$]h&]uh1hhhhKGhhhhubh)}(h,.. |shy| unicode:: U+000AD .. SOFT HYPHENh]h­}hjsbah}(h]h ]h"]shyah$]h&]uh1hhhhKHhhhhubh)}(h(.. |sol| unicode:: U+0002F .. SOLIDUSh]h/}hjsbah}(h]h ]h"]solah$]h&]uh1hhhhKIhhhhubh)}(h,.. |sung| unicode:: U+0266A .. EIGHTH NOTEh]h♪}hjsbah}(h]h ]h"]sungah$]h&]uh1hhhhKJhhhhubh)}(h0.. |sup1| unicode:: U+000B9 .. SUPERSCRIPT ONEh]h¹}hjsbah}(h]h ]h"]sup1ah$]h&]uh1hhhhKKhhhhubh)}(h0.. |sup2| unicode:: U+000B2 .. SUPERSCRIPT TWOh]h²}hjsbah}(h]h ]h"]sup2ah$]h&]uh1hhhhKLhhhhubh)}(h2.. |sup3| unicode:: U+000B3 .. SUPERSCRIPT THREEh]h³}hjsbah}(h]h ]h"]sup3ah$]h&]uh1hhhhKMhhhhubh)}(h4.. |times| unicode:: U+000D7 .. MULTIPLICATION SIGNh]h×}hjsbah}(h]h ]h"]timesah$]h&]uh1hhhhKNhhhhubh)}(h0.. |trade| unicode:: U+02122 .. TRADE MARK SIGNh]h™}hjsbah}(h]h ]h"]tradeah$]h&]uh1hhhhKOhhhhubh)}(h... |uarr| unicode:: U+02191 .. UPWARDS ARROWh]h↑}hj.sbah}(h]h ]h"]uarrah$]h&]uh1hhhhKPhhhhubh)}(h... |verbar| unicode:: U+0007C .. VERTICAL LINEh]h|}hj=sbah}(h]h ]h"]verbarah$]h&]uh1hhhhKQhhhhubh)}(h*.. |yen| unicode:: U+000A5 .. YEN SIGN h]h¥}hjLsbah}(h]h ]h"]yenah$]h&]uh1hhhhKRhhhhubhtarget)}(h.. _media-ccs-driver:h]h}(h]h ]h"]h$]h&]refidmedia-ccs-driveruh1j[hK[hhhhhhubhsection)}(hhh](htitle)}(hMIPI CCS camera sensor driverh]hMIPI CCS camera sensor driver}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1jnhjkhhhhhKubh paragraph)}(hThe MIPI CCS camera sensor driver is a generic driver for `MIPI CCS `_ compliant camera sensors.h](h:The MIPI CCS camera sensor driver is a generic driver for }(hjhhhNhNubh reference)}(hD`MIPI CCS `_h]hMIPI CCS}(hjhhhNhNubah}(h]h ]h"]h$]h&]nameMIPI CCSrefuri6https://www.mipi.org/specifications/camera-command-setuh1jhjubj\)}(h9 h]h}(h]mipi-ccsah ]h"]mipi ccsah$]h&]refurijuh1j[ referencedKhjubh compliant camera sensors.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1j~hhhK hjkhhubj)}(hCAlso see :ref:`the CCS driver UAPI documentation `.h](h Also see }(hjhhhNhNubh)}(h9:ref:`the CCS driver UAPI documentation `h]hinline)}(hjh]h!the CCS driver UAPI documentation}(hjhhhNhNubah}(h]h ](xrefstdstd-refeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdoc driver-api/media/drivers/ccs/ccs refdomainjreftyperef refexplicitrefwarn reftargetmedia-ccs-uapiuh1hhhhKhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1j~hhhKhjkhhubjj)}(hhh](jo)}(hCCS static datah]hCCS static data}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jnhjhhhhhKubj)}(hThe MIPI CCS driver supports CCS static data for all compliant devices, including not just those compliant with CCS 1.1 but also CCS 1.0 and SMIA(++). For CCS the file names are formed ash]hThe MIPI CCS driver supports CCS static data for all compliant devices, including not just those compliant with CCS 1.1 but also CCS 1.0 and SMIA(++). For CCS the file names are formed as}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j~hhhKhjhhubh block_quote)}(hYccs/ccs-sensor-vvvv-mmmm-rrrr.fw (sensor) and ccs/ccs-module-vvvv-mmmm-rrrr.fw (module). h]j)}(hXccs/ccs-sensor-vvvv-mmmm-rrrr.fw (sensor) and ccs/ccs-module-vvvv-mmmm-rrrr.fw (module).h]hXccs/ccs-sensor-vvvv-mmmm-rrrr.fw (sensor) and ccs/ccs-module-vvvv-mmmm-rrrr.fw (module).}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j~hhhKhj ubah}(h]h ]h"]h$]h&]uh1j hhhKhjhhubj)}(h=For SMIA++ compliant devices the corresponding file names areh]h=For SMIA++ compliant devices the corresponding file names are}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1j~hhhKhjhhubj )}(hYccs/smiapp-sensor-vv-mmmm-rr.fw (sensor) and ccs/smiapp-module-vv-mmmm-rrrr.fw (module). h]j)}(hXccs/smiapp-sensor-vv-mmmm-rr.fw (sensor) and ccs/smiapp-module-vv-mmmm-rrrr.fw (module).h]hXccs/smiapp-sensor-vv-mmmm-rr.fw (sensor) and ccs/smiapp-module-vv-mmmm-rrrr.fw (module).}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1j~hhhKhj2ubah}(h]h ]h"]h$]h&]uh1j hhhKhjhhubj)}(h@For SMIA (non-++) compliant devices the static data file name ish]h@For SMIA (non-++) compliant devices the static data file name is}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1j~hhhKhjhhubj )}(h(ccs/smia-sensor-vv-mmmm-rr.fw (sensor). h]j)}(h'ccs/smia-sensor-vv-mmmm-rr.fw (sensor).h]h'ccs/smia-sensor-vv-mmmm-rr.fw (sensor).}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1j~hhhK!hjXubah}(h]h ]h"]h$]h&]uh1j hhhK!hjhhubj)}(hmvvvv or vv denotes MIPI and SMIA manufacturer IDs respectively, mmmm model ID and rrrr or rr revision number.h]hmvvvv or vv denotes MIPI and SMIA manufacturer IDs respectively, mmmm model ID and rrrr or rr revision number.}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1j~hhhK#hjhhubjj)}(hhh](jo)}(h CCS toolsh]h CCS tools}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jnhj~hhhhhK'ubj)}(h`CCS tools `_ is a set of tools for working with CCS static data files. CCS tools includes a definition of the human-readable CCS static data YAML format and includes a program to convert it to a binary.h](j)}(h:`CCS tools `_h]h CCS tools}(hjhhhNhNubah}(h]h ]h"]h$]h&]name CCS toolsj+https://github.com/MIPI-Alliance/ccs-tools/uh1jhjubj\)}(h. h]h}(h]id1ah ]h"] ccs toolsah$]h&]refurijuh1j[jKhjubh is a set of tools for working with CCS static data files. CCS tools includes a definition of the human-readable CCS static data YAML format and includes a program to convert it to a binary.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1j~hhhK)hj~hhubeh}(h] ccs-toolsah ]h"]h$]jah&]uh1jihjhhhhhK'jKubeh}(h]ccs-static-dataah ]h"]ccs static dataah$]h&]uh1jihjkhhhhhKubjj)}(hhh](jo)}(hRegister definition generatorh]hRegister definition generator}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jnhjhhhhhK/ubj)}(hXaThe ccs-regs.asc file contains MIPI CCS register definitions that are used to produce C source code files for definitions that can be better used by programs written in C language. As there are many dependencies between the produced files, please do not modify them manually as it's error-prone and in vain, but instead change the script producing them.h]hXcThe ccs-regs.asc file contains MIPI CCS register definitions that are used to produce C source code files for definitions that can be better used by programs written in C language. As there are many dependencies between the produced files, please do not modify them manually as it’s error-prone and in vain, but instead change the script producing them.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j~hhhK1hjhhubjj)}(hhh](jo)}(hUsageh]hUsage}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jnhjhhhhhK8ubj)}(hRConventionally the script is called this way to update the CCS driver definitions:h]hRConventionally the script is called this way to update the CCS driver definitions:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j~hhhK:hjhhubh literal_block)}(hX$ Documentation/driver-api/media/drivers/ccs/mk-ccs-regs -k \ -e drivers/media/i2c/ccs/ccs-regs.h \ -L drivers/media/i2c/ccs/ccs-limits.h \ -l drivers/media/i2c/ccs/ccs-limits.c \ -c Documentation/driver-api/media/drivers/ccs/ccs-regs.asch]hX$ Documentation/driver-api/media/drivers/ccs/mk-ccs-regs -k \ -e drivers/media/i2c/ccs/ccs-regs.h \ -L drivers/media/i2c/ccs/ccs-limits.h \ -l drivers/media/i2c/ccs/ccs-limits.c \ -c Documentation/driver-api/media/drivers/ccs/ccs-regs.asc}hj sbah}(h]h ]h"]h$]h&]hhƌforcelanguagenonehighlight_args}uh1jhhhK=hjhhubeh}(h]usageah ]h"]usageah$]h&]uh1jihjhhhhhK8ubeh}(h]register-definition-generatorah ]h"]register definition generatorah$]h&]uh1jihjkhhhhhK/ubeh}(h](mipi-ccs-camera-sensor-driverjheh ]h"](mipi ccs camera sensor drivermedia-ccs-drivereh$]h&]uh1jihhhhhhhKexpect_referenced_by_name}j3j]sexpect_referenced_by_id}jhj]subjj)}(hhh](jo)}(hCCS PLL calculatorh]hCCS PLL calculator}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1jnhj:hhhhhKFubj)}(hXGThe CCS PLL calculator is used to compute the PLL configuration, given sensor's capabilities as well as board configuration and user specified configuration. As the configuration space that encompasses all these configurations is vast, the PLL calculator isn't entirely trivial. Yet it is relatively simple to use for a driver.h]hXKThe CCS PLL calculator is used to compute the PLL configuration, given sensor’s capabilities as well as board configuration and user specified configuration. As the configuration space that encompasses all these configurations is vast, the PLL calculator isn’t entirely trivial. Yet it is relatively simple to use for a driver.}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1j~hhhKHhj:hhubj)}(hLThe PLL model implemented by the PLL calculator corresponds to MIPI CCS 1.1.h]hLThe PLL model implemented by the PLL calculator corresponds to MIPI CCS 1.1.}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1j~hhhKNhj:hhubhindex)}(hhh]h}(h]h ]h"]h$]h&]entries](singleccs_pll_branch_fr (C struct)c.ccs_pll_branch_frhNtauh1jghj:hhhNhNubhdesc)}(hhh](hdesc_signature)}(hccs_pll_branch_frh]hdesc_signature_line)}(hstruct ccs_pll_branch_frh](hdesc_sig_keyword)}(hstructh]hstruct}(hjhhhNhNubah}(h]h ]kah"]h$]h&]uh1jhjhhhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKubhdesc_sig_space)}(h h]h }(hjhhhNhNubah}(h]h ]wah"]h$]h&]uh1jhjhhhjhKubh desc_name)}(hccs_pll_branch_frh]h desc_sig_name)}(hjh]hccs_pll_branch_fr}(hjhhhNhNubah}(h]h ]nah"]h$]h&]uh1jhjubah}(h]h ](sig-namedescnameeh"]h$]h&]hhuh1jhjhhhjhKubeh}(h]h ]h"]h$]h&]hhƌ add_permalinkuh1jsphinx_line_type declaratorhjhhhjhKubah}(h]jvah ](sig sig-objecteh"]h$]h&] is_multiline _toc_parts) _toc_namehuh1j}hjhKhjzhhubh desc_content)}(hhh]j)}(hCCS PLL configuration (front)h]hCCS PLL configuration (front)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j~hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhK:hjhhubah}(h]h ]h"]h$]h&]uh1jhjzhhhjhKubeh}(h]h ](cstructeh"]h$]h&]domainjobjtypejdesctypejnoindex noindexentrynocontentsentryuh1jxhhhj:hNhNubh container)}(hXl**Definition**:: struct ccs_pll_branch_fr { u16 pre_pll_clk_div; u16 pll_multiplier; u32 pll_ip_clk_freq_hz; u32 pll_op_clk_freq_hz; }; **Members** ``pre_pll_clk_div`` Pre-PLL clock divisor ``pll_multiplier`` PLL multiplier ``pll_ip_clk_freq_hz`` PLL input clock frequency ``pll_op_clk_freq_hz`` PLL output clock frequencyh](j)}(h**Definition**::h](hstrong)}(h**Definition**h]h Definition}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh:}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1j~hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhK>hjubj )}(hstruct ccs_pll_branch_fr { u16 pre_pll_clk_div; u16 pll_multiplier; u32 pll_ip_clk_freq_hz; u32 pll_op_clk_freq_hz; };h]hstruct ccs_pll_branch_fr { u16 pre_pll_clk_div; u16 pll_multiplier; u32 pll_ip_clk_freq_hz; u32 pll_op_clk_freq_hz; };}hj+sbah}(h]h ]h"]h$]h&]hhuh1jhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhK@hjubj)}(h **Members**h]j)}(hj<h]hMembers}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj:ubah}(h]h ]h"]h$]h&]uh1j~hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKGhjubhdefinition_list)}(hhh](hdefinition_list_item)}(h*``pre_pll_clk_div`` Pre-PLL clock divisor h](hterm)}(h``pre_pll_clk_div``h]hliteral)}(hjah]hpre_pll_clk_div}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1jchj_ubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhK?hjYubh definition)}(hhh]j)}(hPre-PLL clock divisorh]hPre-PLL clock divisor}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1j~hjxhK?hj{ubah}(h]h ]h"]h$]h&]uh1jyhjYubeh}(h]h ]h"]h$]h&]uh1jWhjxhK?hjTubjX)}(h"``pll_multiplier`` PLL multiplier h](j^)}(h``pll_multiplier``h]jd)}(hjh]hpll_multiplier}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jchjubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhK@hjubjz)}(hhh]j)}(hPLL multiplierh]hPLL multiplier}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j~hjhK@hjubah}(h]h ]h"]h$]h&]uh1jyhjubeh}(h]h ]h"]h$]h&]uh1jWhjhK@hjTubjX)}(h1``pll_ip_clk_freq_hz`` PLL input clock frequency h](j^)}(h``pll_ip_clk_freq_hz``h]jd)}(hjh]hpll_ip_clk_freq_hz}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jchjubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKAhjubjz)}(hhh]j)}(hPLL input clock frequencyh]hPLL input clock frequency}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j~hjhKAhjubah}(h]h ]h"]h$]h&]uh1jyhjubeh}(h]h ]h"]h$]h&]uh1jWhjhKAhjTubjX)}(h1``pll_op_clk_freq_hz`` PLL output clock frequencyh](j^)}(h``pll_op_clk_freq_hz``h]jd)}(hj h]hpll_op_clk_freq_hz}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jchj ubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKAhj ubjz)}(hhh]j)}(hPLL output clock frequencyh]hPLL output clock frequency}(hj) hhhNhNubah}(h]h ]h"]h$]h&]uh1j~hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKBhj& ubah}(h]h ]h"]h$]h&]uh1jyhj ubeh}(h]h ]h"]h$]h&]uh1jWhj% hKAhjTubeh}(h]h ]h"]h$]h&]uh1jRhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj:hhhNhNubj)}(h**Description**h]j)}(hjS h]h Description}(hjU hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjQ ubah}(h]h ]h"]h$]h&]uh1j~hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKEhj:hhubj)}(h.A single branch front-end of the CCS PLL tree.h]h.A single branch front-end of the CCS PLL tree.}(hji hhhNhNubah}(h]h ]h"]h$]h&]uh1j~hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhK;hj:hhubjh)}(hhh]h}(h]h ]h"]h$]h&]entries](jtccs_pll_branch_bk (C struct)c.ccs_pll_branch_bkhNtauh1jghj:hhhNhNubjy)}(hhh](j~)}(hccs_pll_branch_bkh]j)}(hstruct ccs_pll_branch_bkh](j)}(hjh]hstruct}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj hhhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhK@ubj)}(h h]h }(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj hhhj hK@ubj)}(hccs_pll_branch_bkh]j)}(hj h]hccs_pll_branch_bk}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubah}(h]h ](jjeh"]h$]h&]hhuh1jhj hhhj hK@ubeh}(h]h ]h"]h$]h&]hhjuh1jjjhj hhhj hK@ubah}(h]j ah ](jjeh"]h$]h&]jj)jhuh1j}hj hK@hj hhubj)}(hhh]j)}(hCCS PLL configuration (back)h]hCCS PLL configuration (back)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j~hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKKhj hhubah}(h]h ]h"]h$]h&]uh1jhj hhhj hK@ubeh}(h]h ](jstructeh"]h$]h&]jjjj jj jjjuh1jxhhhj:hNhNubj)}(hXN**Definition**:: struct ccs_pll_branch_bk { u16 sys_clk_div; u16 pix_clk_div; u32 sys_clk_freq_hz; u32 pix_clk_freq_hz; }; **Members** ``sys_clk_div`` System clock divider ``pix_clk_div`` Pixel clock divider ``sys_clk_freq_hz`` System clock frequency ``pix_clk_freq_hz`` Pixel clock frequencyh](j)}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh:}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1j~hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKOhj ubj )}(hystruct ccs_pll_branch_bk { u16 sys_clk_div; u16 pix_clk_div; u32 sys_clk_freq_hz; u32 pix_clk_freq_hz; };h]hystruct ccs_pll_branch_bk { u16 sys_clk_div; u16 pix_clk_div; u32 sys_clk_freq_hz; u32 pix_clk_freq_hz; };}hj sbah}(h]h ]h"]h$]h&]hhuh1jhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKQhj ubj)}(h **Members**h]j)}(hj! h]hMembers}(hj# hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1j~hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKXhj ubjS)}(hhh](jX)}(h%``sys_clk_div`` System clock divider h](j^)}(h``sys_clk_div``h]jd)}(hj@ h]h sys_clk_div}(hjB hhhNhNubah}(h]h ]h"]h$]h&]uh1jchj> ubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKPhj: ubjz)}(hhh]j)}(hSystem clock dividerh]hSystem clock divider}(hjY hhhNhNubah}(h]h ]h"]h$]h&]uh1j~hjU hKPhjV ubah}(h]h ]h"]h$]h&]uh1jyhj: ubeh}(h]h ]h"]h$]h&]uh1jWhjU hKPhj7 ubjX)}(h$``pix_clk_div`` Pixel clock divider h](j^)}(h``pix_clk_div``h]jd)}(hjy h]h pix_clk_div}(hj{ hhhNhNubah}(h]h ]h"]h$]h&]uh1jchjw ubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKQhjs ubjz)}(hhh]j)}(hPixel clock dividerh]hPixel clock divider}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j~hj hKQhj ubah}(h]h ]h"]h$]h&]uh1jyhjs ubeh}(h]h ]h"]h$]h&]uh1jWhj hKQhj7 ubjX)}(h+``sys_clk_freq_hz`` System clock frequency h](j^)}(h``sys_clk_freq_hz``h]jd)}(hj h]hsys_clk_freq_hz}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jchj ubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKRhj ubjz)}(hhh]j)}(hSystem clock frequencyh]hSystem clock frequency}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j~hj hKRhj ubah}(h]h ]h"]h$]h&]uh1jyhj ubeh}(h]h ]h"]h$]h&]uh1jWhj hKRhj7 ubjX)}(h)``pix_clk_freq_hz`` Pixel clock frequencyh](j^)}(h``pix_clk_freq_hz``h]jd)}(hj h]hpix_clk_freq_hz}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jchj ubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKRhj ubjz)}(hhh]j)}(hPixel clock frequencyh]hPixel clock frequency}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j~hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKShj ubah}(h]h ]h"]h$]h&]uh1jyhj ubeh}(h]h ]h"]h$]h&]uh1jWhj hKRhj7 ubeh}(h]h ]h"]h$]h&]uh1jRhj ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj:hhhNhNubj)}(h**Description**h]j)}(hj. h]h Description}(hj0 hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj, ubah}(h]h ]h"]h$]h&]uh1j~hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKVhj:hhubj)}(h-A single branch back-end of the CCS PLL tree.h]h-A single branch back-end of the CCS PLL tree.}(hjD hhhNhNubah}(h]h ]h"]h$]h&]uh1j~hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKLhj:hhubjh)}(hhh]h}(h]h ]h"]h$]h&]entries](jtccs_pll (C struct) c.ccs_pllhNtauh1jghj:hhhNhNubjy)}(hhh](j~)}(hccs_pllh]j)}(hstruct ccs_pllh](j)}(hjh]hstruct}(hjl hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjh hhhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKQubj)}(h h]h }(hjz hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjh hhhjy hKQubj)}(hccs_pllh]j)}(hjf h]hccs_pll}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubah}(h]h ](jjeh"]h$]h&]hhuh1jhjh hhhjy hKQubeh}(h]h ]h"]h$]h&]hhjuh1jjjhjd hhhjy hKQubah}(h]j_ ah ](jjeh"]h$]h&]jj)jhuh1j}hjy hKQhja hhubj)}(hhh]j)}(hFull CCS PLL configurationh]hFull CCS PLL configuration}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j~hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhK\hj hhubah}(h]h ]h"]h$]h&]uh1jhja hhhjy hKQubeh}(h]h ](jstructeh"]h$]h&]jjjj jj jjjuh1jxhhhj:hNhNubj)}(hX**Definition**:: struct ccs_pll { u8 bus_type; u8 op_lanes; u8 vt_lanes; struct { u8 lanes; } csi2; u8 binning_horizontal; u8 binning_vertical; u8 scale_m; u8 scale_n; u8 bits_per_pixel; u8 op_bits_per_lane; u16 flags; u32 link_freq; u32 ext_clk_freq_hz; struct ccs_pll_branch_fr vt_fr; struct ccs_pll_branch_bk vt_bk; struct ccs_pll_branch_fr op_fr; struct ccs_pll_branch_bk op_bk; u32 pixel_rate_csi; u32 pixel_rate_pixel_array; }; **Members** ``bus_type`` Type of the data bus, CCS_PLL_BUS_TYPE_* (input) ``op_lanes`` Number of operational lanes (input) ``vt_lanes`` Number of video timing lanes (input) ``csi2`` CSI-2 related parameters ``csi2.lanes`` The number of the CSI-2 data lanes (input) ``binning_horizontal`` Horizontal binning factor (input) ``binning_vertical`` Vertical binning factor (input) ``scale_m`` Downscaling factor, M component, [16, max] (input) ``scale_n`` Downscaling factor, N component, typically 16 (input) ``bits_per_pixel`` Bits per pixel on the output data bus (input) ``op_bits_per_lane`` Number of bits per OP lane (input) ``flags`` CCS_PLL_FLAG_* (input) ``link_freq`` Chosen link frequency (input) ``ext_clk_freq_hz`` External clock frequency, i.e. the sensor's input clock (input) ``vt_fr`` Video timing front-end configuration (output) ``vt_bk`` Video timing back-end configuration (output) ``op_fr`` Operational timing front-end configuration (output) ``op_bk`` Operational timing back-end configuration (output) ``pixel_rate_csi`` Pixel rate on the output data bus (output) ``pixel_rate_pixel_array`` Nominal pixel rate in the sensor's pixel array (output)h](j)}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh:}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1j~hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhK`hj ubj )}(hXstruct ccs_pll { u8 bus_type; u8 op_lanes; u8 vt_lanes; struct { u8 lanes; } csi2; u8 binning_horizontal; u8 binning_vertical; u8 scale_m; u8 scale_n; u8 bits_per_pixel; u8 op_bits_per_lane; u16 flags; u32 link_freq; u32 ext_clk_freq_hz; struct ccs_pll_branch_fr vt_fr; struct ccs_pll_branch_bk vt_bk; struct ccs_pll_branch_fr op_fr; struct ccs_pll_branch_bk op_bk; u32 pixel_rate_csi; u32 pixel_rate_pixel_array; };h]hXstruct ccs_pll { u8 bus_type; u8 op_lanes; u8 vt_lanes; struct { u8 lanes; } csi2; u8 binning_horizontal; u8 binning_vertical; u8 scale_m; u8 scale_n; u8 bits_per_pixel; u8 op_bits_per_lane; u16 flags; u32 link_freq; u32 ext_clk_freq_hz; struct ccs_pll_branch_fr vt_fr; struct ccs_pll_branch_bk vt_bk; struct ccs_pll_branch_fr op_fr; struct ccs_pll_branch_bk op_bk; u32 pixel_rate_csi; u32 pixel_rate_pixel_array; };}hj sbah}(h]h ]h"]h$]h&]hhuh1jhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKbhj ubj)}(h **Members**h]j)}(hj h]hMembers}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1j~hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKzhj ubjS)}(hhh](jX)}(h>``bus_type`` Type of the data bus, CCS_PLL_BUS_TYPE_* (input) h](j^)}(h ``bus_type``h]jd)}(hj h]hbus_type}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jchj ubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKahj ubjz)}(hhh]j)}(h0Type of the data bus, CCS_PLL_BUS_TYPE_* (input)h]h0Type of the data bus, CCS_PLL_BUS_TYPE_* (input)}(hj4 hhhNhNubah}(h]h ]h"]h$]h&]uh1j~hj0 hKahj1 ubah}(h]h ]h"]h$]h&]uh1jyhj ubeh}(h]h ]h"]h$]h&]uh1jWhj0 hKahj ubjX)}(h1``op_lanes`` Number of operational lanes (input) h](j^)}(h ``op_lanes``h]jd)}(hjT h]hop_lanes}(hjV hhhNhNubah}(h]h ]h"]h$]h&]uh1jchjR ubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKbhjN ubjz)}(hhh]j)}(h#Number of operational lanes (input)h]h#Number of operational lanes (input)}(hjm hhhNhNubah}(h]h ]h"]h$]h&]uh1j~hji hKbhjj ubah}(h]h ]h"]h$]h&]uh1jyhjN ubeh}(h]h ]h"]h$]h&]uh1jWhji hKbhj ubjX)}(h2``vt_lanes`` Number of video timing lanes (input) h](j^)}(h ``vt_lanes``h]jd)}(hj h]hvt_lanes}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jchj ubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKchj ubjz)}(hhh]j)}(h$Number of video timing lanes (input)h]h$Number of video timing lanes (input)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j~hj hKchj ubah}(h]h ]h"]h$]h&]uh1jyhj ubeh}(h]h ]h"]h$]h&]uh1jWhj hKchj ubjX)}(h"``csi2`` CSI-2 related parameters h](j^)}(h``csi2``h]jd)}(hj h]hcsi2}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jchj ubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKdhj ubjz)}(hhh]j)}(hCSI-2 related parametersh]hCSI-2 related parameters}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j~hj hKdhj ubah}(h]h ]h"]h$]h&]uh1jyhj ubeh}(h]h ]h"]h$]h&]uh1jWhj hKdhj ubjX)}(h:``csi2.lanes`` The number of the CSI-2 data lanes (input) h](j^)}(h``csi2.lanes``h]jd)}(hj h]h csi2.lanes}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jchj ubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKehj ubjz)}(hhh]j)}(h*The number of the CSI-2 data lanes (input)h]h*The number of the CSI-2 data lanes (input)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j~hj hKehj ubah}(h]h ]h"]h$]h&]uh1jyhj ubeh}(h]h ]h"]h$]h&]uh1jWhj hKehj ubjX)}(h9``binning_horizontal`` Horizontal binning factor (input) h](j^)}(h``binning_horizontal``h]jd)}(hj8 h]hbinning_horizontal}(hj: hhhNhNubah}(h]h ]h"]h$]h&]uh1jchj6 ubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKghj2 ubjz)}(hhh]j)}(h!Horizontal binning factor (input)h]h!Horizontal binning factor (input)}(hjQ hhhNhNubah}(h]h ]h"]h$]h&]uh1j~hjM hKghjN ubah}(h]h ]h"]h$]h&]uh1jyhj2 ubeh}(h]h ]h"]h$]h&]uh1jWhjM hKghj ubjX)}(h5``binning_vertical`` Vertical binning factor (input) h](j^)}(h``binning_vertical``h]jd)}(hjq h]hbinning_vertical}(hjs hhhNhNubah}(h]h ]h"]h$]h&]uh1jchjo ubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKfhjk ubjz)}(hhh]j)}(hVertical binning factor (input)h]hVertical binning factor (input)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j~hj hKfhj ubah}(h]h ]h"]h$]h&]uh1jyhjk ubeh}(h]h ]h"]h$]h&]uh1jWhj hKfhj ubjX)}(h?``scale_m`` Downscaling factor, M component, [16, max] (input) h](j^)}(h ``scale_m``h]jd)}(hj h]hscale_m}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jchj ubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKhhj ubjz)}(hhh]j)}(h2Downscaling factor, M component, [16, max] (input)h]h2Downscaling factor, M component, [16, max] (input)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j~hj hKhhj ubah}(h]h ]h"]h$]h&]uh1jyhj ubeh}(h]h ]h"]h$]h&]uh1jWhj hKhhj ubjX)}(hB``scale_n`` Downscaling factor, N component, typically 16 (input) h](j^)}(h ``scale_n``h]jd)}(hj h]hscale_n}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jchj ubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKihj ubjz)}(hhh]j)}(h5Downscaling factor, N component, typically 16 (input)h]h5Downscaling factor, N component, typically 16 (input)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j~hj hKihj ubah}(h]h ]h"]h$]h&]uh1jyhj ubeh}(h]h ]h"]h$]h&]uh1jWhj hKihj ubjX)}(hA``bits_per_pixel`` Bits per pixel on the output data bus (input) h](j^)}(h``bits_per_pixel``h]jd)}(hjh]hbits_per_pixel}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jchjubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKjhjubjz)}(hhh]j)}(h-Bits per pixel on the output data bus (input)h]h-Bits per pixel on the output data bus (input)}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1j~hj1hKjhj2ubah}(h]h ]h"]h$]h&]uh1jyhjubeh}(h]h ]h"]h$]h&]uh1jWhj1hKjhj ubjX)}(h8``op_bits_per_lane`` Number of bits per OP lane (input) h](j^)}(h``op_bits_per_lane``h]jd)}(hjUh]hop_bits_per_lane}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1jchjSubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKkhjOubjz)}(hhh]j)}(h"Number of bits per OP lane (input)h]h"Number of bits per OP lane (input)}(hjnhhhNhNubah}(h]h ]h"]h$]h&]uh1j~hjjhKkhjkubah}(h]h ]h"]h$]h&]uh1jyhjOubeh}(h]h ]h"]h$]h&]uh1jWhjjhKkhj ubjX)}(h!``flags`` CCS_PLL_FLAG_* (input) h](j^)}(h ``flags``h]jd)}(hjh]hflags}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jchjubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKlhjubjz)}(hhh]j)}(hCCS_PLL_FLAG_* (input)h]hCCS_PLL_FLAG_* (input)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j~hjhKlhjubah}(h]h ]h"]h$]h&]uh1jyhjubeh}(h]h ]h"]h$]h&]uh1jWhjhKlhj ubjX)}(h,``link_freq`` Chosen link frequency (input) h](j^)}(h ``link_freq``h]jd)}(hjh]h link_freq}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jchjubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKmhjubjz)}(hhh]j)}(hChosen link frequency (input)h]hChosen link frequency (input)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j~hjhKmhjubah}(h]h ]h"]h$]h&]uh1jyhjubeh}(h]h ]h"]h$]h&]uh1jWhjhKmhj ubjX)}(hT``ext_clk_freq_hz`` External clock frequency, i.e. the sensor's input clock (input) h](j^)}(h``ext_clk_freq_hz``h]jd)}(hjh]hext_clk_freq_hz}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jchjubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKohjubjz)}(hhh]j)}(h?External clock frequency, i.e. the sensor's input clock (input)h]hAExternal clock frequency, i.e. the sensor’s input clock (input)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j~hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKnhjubah}(h]h ]h"]h$]h&]uh1jyhjubeh}(h]h ]h"]h$]h&]uh1jWhjhKohj ubjX)}(h8``vt_fr`` Video timing front-end configuration (output) h](j^)}(h ``vt_fr``h]jd)}(hj:h]hvt_fr}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1jchj8ubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKphj4ubjz)}(hhh]j)}(h-Video timing front-end configuration (output)h]h-Video timing front-end configuration (output)}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1j~hjOhKphjPubah}(h]h ]h"]h$]h&]uh1jyhj4ubeh}(h]h ]h"]h$]h&]uh1jWhjOhKphj ubjX)}(h7``vt_bk`` Video timing back-end configuration (output) h](j^)}(h ``vt_bk``h]jd)}(hjsh]hvt_bk}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1jchjqubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKqhjmubjz)}(hhh]j)}(h,Video timing back-end configuration (output)h]h,Video timing back-end configuration (output)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j~hjhKqhjubah}(h]h ]h"]h$]h&]uh1jyhjmubeh}(h]h ]h"]h$]h&]uh1jWhjhKqhj ubjX)}(h>``op_fr`` Operational timing front-end configuration (output) h](j^)}(h ``op_fr``h]jd)}(hjh]hop_fr}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jchjubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKrhjubjz)}(hhh]j)}(h3Operational timing front-end configuration (output)h]h3Operational timing front-end configuration (output)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j~hjhKrhjubah}(h]h ]h"]h$]h&]uh1jyhjubeh}(h]h ]h"]h$]h&]uh1jWhjhKrhj ubjX)}(h=``op_bk`` Operational timing back-end configuration (output) h](j^)}(h ``op_bk``h]jd)}(hjh]hop_bk}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jchjubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKshjubjz)}(hhh]j)}(h2Operational timing back-end configuration (output)h]h2Operational timing back-end configuration (output)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j~hjhKshjubah}(h]h ]h"]h$]h&]uh1jyhjubeh}(h]h ]h"]h$]h&]uh1jWhjhKshj ubjX)}(h>``pixel_rate_csi`` Pixel rate on the output data bus (output) h](j^)}(h``pixel_rate_csi``h]jd)}(hjh]hpixel_rate_csi}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jchjubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKthjubjz)}(hhh]j)}(h*Pixel rate on the output data bus (output)h]h*Pixel rate on the output data bus (output)}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1j~hj3hKthj4ubah}(h]h ]h"]h$]h&]uh1jyhjubeh}(h]h ]h"]h$]h&]uh1jWhj3hKthj ubjX)}(hR``pixel_rate_pixel_array`` Nominal pixel rate in the sensor's pixel array (output)h](j^)}(h``pixel_rate_pixel_array``h]jd)}(hjWh]hpixel_rate_pixel_array}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1jchjUubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKuhjQubjz)}(hhh]j)}(h7Nominal pixel rate in the sensor's pixel array (output)h]h9Nominal pixel rate in the sensor’s pixel array (output)}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1j~hjlhKuhjmubah}(h]h ]h"]h$]h&]uh1jyhjQubeh}(h]h ]h"]h$]h&]uh1jWhjlhKuhj ubeh}(h]h ]h"]h$]h&]uh1jRhj ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj:hhhNhNubj)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1j~hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKyhj:hhubj)}(h``min_pll_op_clk_freq_hz`` Minimum PLL output clock frequency h](j^)}(h``min_pll_op_clk_freq_hz``h]jd)}(hjh]hmin_pll_op_clk_freq_hz}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jchjubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKhjubjz)}(hhh]j)}(h"Minimum PLL output clock frequencyh]h"Minimum PLL output clock frequency}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j~hjhKhjubah}(h]h ]h"]h$]h&]uh1jyhjubeh}(h]h ]h"]h$]h&]uh1jWhjhKhj}ubjX)}(h=``max_pll_op_clk_freq_hz`` Maximum PLL output clock frequencyh](j^)}(h``max_pll_op_clk_freq_hz``h]jd)}(hjh]hmax_pll_op_clk_freq_hz}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jchjubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKhjubjz)}(hhh]j)}(h"Maximum PLL output clock frequencyh]h"Maximum PLL output clock frequency}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1j~hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKhj+ubah}(h]h ]h"]h$]h&]uh1jyhjubeh}(h]h ]h"]h$]h&]uh1jWhj*hKhj}ubeh}(h]h ]h"]h$]h&]uh1jRhj5ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj:hhhNhNubjh)}(hhh]h}(h]h ]h"]h$]h&]entries](jt#ccs_pll_branch_limits_bk (C struct)c.ccs_pll_branch_limits_bkhNtauh1jg}hj:hhhNhNubjy)}(hhh](j~)}(hccs_pll_branch_limits_bkh]j)}(hstruct ccs_pll_branch_limits_bkh](j)}(hjh]hstruct}(hjohhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjkhhhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKubj)}(h h]h }(hj}hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjkhhhj|hKubj)}(hccs_pll_branch_limits_bkh]j)}(hjih]hccs_pll_branch_limits_bk}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](jjeh"]h$]h&]hhuh1jhjkhhhj|hKubeh}(h]h ]h"]h$]h&]hhjuh1jjjhjghhhj|hKubah}(h]jbah ](jjeh"]h$]h&]jj)jhuh1j}hj|hKhjdhhubj)}(hhh]j)}(hCCS PLL back-end limitsh]hCCS PLL back-end limits}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j~hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKhjhhubah}(h]h ]h"]h$]h&]uh1jhjdhhhj|hKubeh}(h]h ](jstructeh"]h$]h&]jjjjjjjjjuh1jxhhhj:hNhNubj)}(hX**Definition**:: struct ccs_pll_branch_limits_bk { u16 min_sys_clk_div; u16 max_sys_clk_div; u32 min_sys_clk_freq_hz; u32 max_sys_clk_freq_hz; u16 min_pix_clk_div; u16 max_pix_clk_div; u32 min_pix_clk_freq_hz; u32 max_pix_clk_freq_hz; }; **Members** ``min_sys_clk_div`` Minimum system clock divider ``max_sys_clk_div`` Maximum system clock divider ``min_sys_clk_freq_hz`` Minimum system clock frequency ``max_sys_clk_freq_hz`` Maximum system clock frequency ``min_pix_clk_div`` Minimum pixel clock divider ``max_pix_clk_div`` Maximum pixel clock divider ``min_pix_clk_freq_hz`` Minimum pixel clock frequency ``max_pix_clk_freq_hz`` Maximum pixel clock frequencyh](j)}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1j~hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKhjubj )}(hstruct ccs_pll_branch_limits_bk { u16 min_sys_clk_div; u16 max_sys_clk_div; u32 min_sys_clk_freq_hz; u32 max_sys_clk_freq_hz; u16 min_pix_clk_div; u16 max_pix_clk_div; u32 min_pix_clk_freq_hz; u32 max_pix_clk_freq_hz; };h]hstruct ccs_pll_branch_limits_bk { u16 min_sys_clk_div; u16 max_sys_clk_div; u32 min_sys_clk_freq_hz; u32 max_sys_clk_freq_hz; u16 min_pix_clk_div; u16 max_pix_clk_div; u32 min_pix_clk_freq_hz; u32 max_pix_clk_freq_hz; };}hjsbah}(h]h ]h"]h$]h&]hhuh1jhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKhjubj)}(h **Members**h]j)}(hjh]hMembers}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1j~hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKhjubjS)}(hhh](jX)}(h1``min_sys_clk_div`` Minimum system clock divider h](j^)}(h``min_sys_clk_div``h]jd)}(hjh]hmin_sys_clk_div}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jchjubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKhjubjz)}(hhh]j)}(hMinimum system clock dividerh]hMinimum system clock divider}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1j~hj3hKhj4ubah}(h]h ]h"]h$]h&]uh1jyhjubeh}(h]h ]h"]h$]h&]uh1jWhj3hKhjubjX)}(h1``max_sys_clk_div`` Maximum system clock divider h](j^)}(h``max_sys_clk_div``h]jd)}(hjWh]hmax_sys_clk_div}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1jchjUubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKhjQubjz)}(hhh]j)}(hMaximum system clock dividerh]hMaximum system clock divider}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1j~hjlhKhjmubah}(h]h ]h"]h$]h&]uh1jyhjQubeh}(h]h ]h"]h$]h&]uh1jWhjlhKhjubjX)}(h7``min_sys_clk_freq_hz`` Minimum system clock frequency h](j^)}(h``min_sys_clk_freq_hz``h]jd)}(hjh]hmin_sys_clk_freq_hz}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jchjubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKhjubjz)}(hhh]j)}(hMinimum system clock frequencyh]hMinimum system clock frequency}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j~hjhKhjubah}(h]h ]h"]h$]h&]uh1jyhjubeh}(h]h ]h"]h$]h&]uh1jWhjhKhjubjX)}(h7``max_sys_clk_freq_hz`` Maximum system clock frequency h](j^)}(h``max_sys_clk_freq_hz``h]jd)}(hjh]hmax_sys_clk_freq_hz}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jchjubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKhjubjz)}(hhh]j)}(hMaximum system clock frequencyh]hMaximum system clock frequency}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j~hjhKhjubah}(h]h ]h"]h$]h&]uh1jyhjubeh}(h]h ]h"]h$]h&]uh1jWhjhKhjubjX)}(h0``min_pix_clk_div`` Minimum pixel clock divider h](j^)}(h``min_pix_clk_div``h]jd)}(hjh]hmin_pix_clk_div}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jchjubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKhjubjz)}(hhh]j)}(hMinimum pixel clock dividerh]hMinimum pixel clock divider}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j~hjhKhjubah}(h]h ]h"]h$]h&]uh1jyhjubeh}(h]h ]h"]h$]h&]uh1jWhjhKhjubjX)}(h0``max_pix_clk_div`` Maximum pixel clock divider h](j^)}(h``max_pix_clk_div``h]jd)}(hj;h]hmax_pix_clk_div}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1jchj9ubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKhj5ubjz)}(hhh]j)}(hMaximum pixel clock dividerh]hMaximum pixel clock divider}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1j~hjPhKhjQubah}(h]h ]h"]h$]h&]uh1jyhj5ubeh}(h]h ]h"]h$]h&]uh1jWhjPhKhjubjX)}(h6``min_pix_clk_freq_hz`` Minimum pixel clock frequency h](j^)}(h``min_pix_clk_freq_hz``h]jd)}(hjth]hmin_pix_clk_freq_hz}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1jchjrubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKhjnubjz)}(hhh]j)}(hMinimum pixel clock frequencyh]hMinimum pixel clock frequency}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j~hjhKhjubah}(h]h ]h"]h$]h&]uh1jyhjnubeh}(h]h ]h"]h$]h&]uh1jWhjhKhjubjX)}(h5``max_pix_clk_freq_hz`` Maximum pixel clock frequencyh](j^)}(h``max_pix_clk_freq_hz``h]jd)}(hjh]hmax_pix_clk_freq_hz}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jchjubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKhjubjz)}(hhh]j)}(hMaximum pixel clock frequencyh]hMaximum pixel clock frequency}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j~hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKhjubah}(h]h ]h"]h$]h&]uh1jyhjubeh}(h]h ]h"]h$]h&]uh1jWhjhKhjubeh}(h]h ]h"]h$]h&]uh1jRhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj:hhhNhNubjh)}(hhh]h}(h]h ]h"]h$]h&]entries](jtccs_pll_limits (C struct)c.ccs_pll_limitshNtauh1jghj:hhhNhNubjy)}(hhh](j~)}(hccs_pll_limitsh]j)}(hstruct ccs_pll_limitsh](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhjhKubj)}(hccs_pll_limitsh]j)}(hjh]hccs_pll_limits}(hj'hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj#ubah}(h]h ](jjeh"]h$]h&]hhuh1jhjhhhjhKubeh}(h]h ]h"]h$]h&]hhjuh1jjjhjhhhjhKubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1j}hjhKhjhhubj)}(hhh]j)}(hCCS PLL limitsh]hCCS PLL limits}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1j~hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKhjFhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhKubeh}(h]h ](jstructeh"]h$]h&]jjjjajjajjjuh1jxhhhj:hNhNubj)}(hX3**Definition**:: struct ccs_pll_limits { u32 min_ext_clk_freq_hz; u32 max_ext_clk_freq_hz; struct ccs_pll_branch_limits_fr vt_fr; struct ccs_pll_branch_limits_bk vt_bk; struct ccs_pll_branch_limits_fr op_fr; struct ccs_pll_branch_limits_bk op_bk; u32 min_line_length_pck_bin; u32 min_line_length_pck; }; **Members** ``min_ext_clk_freq_hz`` Minimum external clock frequency ``max_ext_clk_freq_hz`` Maximum external clock frequency ``vt_fr`` Video timing front-end limits ``vt_bk`` Video timing back-end limits ``op_fr`` Operational timing front-end limits ``op_bk`` Operational timing back-end limits ``min_line_length_pck_bin`` Minimum line length in pixels, with binning ``min_line_length_pck`` Minimum line length in pixels without binningh](j)}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjiubh:}(hjihhhNhNubeh}(h]h ]h"]h$]h&]uh1j~hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKhjeubj )}(hX>struct ccs_pll_limits { u32 min_ext_clk_freq_hz; u32 max_ext_clk_freq_hz; struct ccs_pll_branch_limits_fr vt_fr; struct ccs_pll_branch_limits_bk vt_bk; struct ccs_pll_branch_limits_fr op_fr; struct ccs_pll_branch_limits_bk op_bk; u32 min_line_length_pck_bin; u32 min_line_length_pck; };h]hX>struct ccs_pll_limits { u32 min_ext_clk_freq_hz; u32 max_ext_clk_freq_hz; struct ccs_pll_branch_limits_fr vt_fr; struct ccs_pll_branch_limits_bk vt_bk; struct ccs_pll_branch_limits_fr op_fr; struct ccs_pll_branch_limits_bk op_bk; u32 min_line_length_pck_bin; u32 min_line_length_pck; };}hjsbah}(h]h ]h"]h$]h&]hhuh1jhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKhjeubj)}(h **Members**h]j)}(hjh]hMembers}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1j~hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKhjeubjS)}(hhh](jX)}(h9``min_ext_clk_freq_hz`` Minimum external clock frequency h](j^)}(h``min_ext_clk_freq_hz``h]jd)}(hjh]hmin_ext_clk_freq_hz}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jchjubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKhjubjz)}(hhh]j)}(h Minimum external clock frequencyh]h Minimum external clock frequency}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j~hjhKhjubah}(h]h ]h"]h$]h&]uh1jyhjubeh}(h]h ]h"]h$]h&]uh1jWhjhKhjubjX)}(h9``max_ext_clk_freq_hz`` Maximum external clock frequency h](j^)}(h``max_ext_clk_freq_hz``h]jd)}(hjh]hmax_ext_clk_freq_hz}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jchjubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKhjubjz)}(hhh]j)}(h Maximum external clock frequencyh]h Maximum external clock frequency}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j~hjhKhjubah}(h]h ]h"]h$]h&]uh1jyhjubeh}(h]h ]h"]h$]h&]uh1jWhjhKhjubjX)}(h(``vt_fr`` Video timing front-end limits h](j^)}(h ``vt_fr``h]jd)}(hj(h]hvt_fr}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1jchj&ubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKhj"ubjz)}(hhh]j)}(hVideo timing front-end limitsh]hVideo timing front-end limits}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1j~hj=hKhj>ubah}(h]h ]h"]h$]h&]uh1jyhj"ubeh}(h]h ]h"]h$]h&]uh1jWhj=hKhjubjX)}(h'``vt_bk`` Video timing back-end limits h](j^)}(h ``vt_bk``h]jd)}(hjah]hvt_bk}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1jchj_ubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKhj[ubjz)}(hhh]j)}(hVideo timing back-end limitsh]hVideo timing back-end limits}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1j~hjvhKhjwubah}(h]h ]h"]h$]h&]uh1jyhj[ubeh}(h]h ]h"]h$]h&]uh1jWhjvhKhjubjX)}(h.``op_fr`` Operational timing front-end limits h](j^)}(h ``op_fr``h]jd)}(hjh]hop_fr}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jchjubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKhjubjz)}(hhh]j)}(h#Operational timing front-end limitsh]h#Operational timing front-end limits}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j~hjhKhjubah}(h]h ]h"]h$]h&]uh1jyhjubeh}(h]h ]h"]h$]h&]uh1jWhjhKhjubjX)}(h-``op_bk`` Operational timing back-end limits h](j^)}(h ``op_bk``h]jd)}(hjh]hop_bk}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jchjubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKhjubjz)}(hhh]j)}(h"Operational timing back-end limitsh]h"Operational timing back-end limits}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j~hjhKhjubah}(h]h ]h"]h$]h&]uh1jyhjubeh}(h]h ]h"]h$]h&]uh1jWhjhKhjubjX)}(hH``min_line_length_pck_bin`` Minimum line length in pixels, with binning h](j^)}(h``min_line_length_pck_bin``h]jd)}(hj h]hmin_line_length_pck_bin}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jchj ubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKhjubjz)}(hhh]j)}(h+Minimum line length in pixels, with binningh]h+Minimum line length in pixels, with binning}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1j~hj!hKhj"ubah}(h]h ]h"]h$]h&]uh1jyhjubeh}(h]h ]h"]h$]h&]uh1jWhj!hKhjubjX)}(hE``min_line_length_pck`` Minimum line length in pixels without binningh](j^)}(h``min_line_length_pck``h]jd)}(hjEh]hmin_line_length_pck}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1jchjCubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKhj?ubjz)}(hhh]j)}(h-Minimum line length in pixels without binningh]h-Minimum line length in pixels without binning}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1j~hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKhj[ubah}(h]h ]h"]h$]h&]uh1jyhj?ubeh}(h]h ]h"]h$]h&]uh1jWhjZhKhjubeh}(h]h ]h"]h$]h&]uh1jRhjeubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj:hhhNhNubjh)}(hhh]h}(h]h ]h"]h$]h&]entries](jtccs_pll_calculate (C function)c.ccs_pll_calculatehNtauh1jghj:hhhNhNubjy)}(hhh](j~)}(hdint ccs_pll_calculate (struct device *dev, const struct ccs_pll_limits *limits, struct ccs_pll *pll)h]j)}(hcint ccs_pll_calculate(struct device *dev, const struct ccs_pll_limits *limits, struct ccs_pll *pll)h](hdesc_sig_keyword_type)}(hinth]hint}(hjhhhNhNubah}(h]h ]ktah"]h$]h&]uh1jhjhhhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhjhKubj)}(hccs_pll_calculateh]j)}(hccs_pll_calculateh]hccs_pll_calculate}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](jjeh"]h$]h&]hhuh1jhjhhhjhKubhdesc_parameterlist)}(hN(struct device *dev, const struct ccs_pll_limits *limits, struct ccs_pll *pll)h](hdesc_parameter)}(hstruct device *devh](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubh)}(hhh]j)}(hdeviceh]hdevice}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainjreftype identifier reftargetjmodnameN classnameN c:parent_keysphinx.domains.c LookupKey)}data]j ASTIdentifier)}jjsbc.ccs_pll_calculateasbuh1hhjubj)}(h h]h }(hj)hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubhdesc_sig_punctuation)}(h*h]h*}(hj9hhhNhNubah}(h]h ]pah"]h$]h&]uh1j7hjubj)}(hdevh]hdev}(hjHhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubj)}(h#const struct ccs_pll_limits *limitsh](j)}(hconsth]hconst}(hjahhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj]ubj)}(h h]h }(hjohhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj]ubj)}(hjh]hstruct}(hj}hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj]ubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj]ubh)}(hhh]j)}(hccs_pll_limitsh]hccs_pll_limits}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j!]j%c.ccs_pll_calculateasbuh1hhj]ubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj]ubj8)}(hj;h]h*}(hjhhhNhNubah}(h]h ]jDah"]h$]h&]uh1j7hj]ubj)}(hlimitsh]hlimits}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj]ubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubj)}(hstruct ccs_pll *pllh](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubh)}(hhh]j)}(hccs_pllh]hccs_pll}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj modnameN classnameNjj)}j!]j%c.ccs_pll_calculateasbuh1hhjubj)}(h h]h }(hj)hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj8)}(hj;h]h*}(hj7hhhNhNubah}(h]h ]jDah"]h$]h&]uh1j7hjubj)}(hpllh]hpll}(hjDhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubeh}(h]h ]h"]h$]h&]hhuh1jhjhhhjhKubeh}(h]h ]h"]h$]h&]hhjuh1jjjhjhhhjhKubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1j}hjhKhjhhubj)}(hhh]j)}(h9Calculate CCS PLL configuration based on input parametersh]h9Calculate CCS PLL configuration based on input parameters}(hjnhhhNhNubah}(h]h ]h"]h$]h&]uh1j~hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKhjkhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhKubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjjjuh1jxhhhj:hNhNubj)}(hXj**Parameters** ``struct device *dev`` Device pointer, used for printing messages ``const struct ccs_pll_limits *limits`` Limits specific to the sensor ``struct ccs_pll *pll`` Given PLL configuration **Description** Calculate the CCS PLL configuration based on the limits as well as given device specific, system specific or user configured input data.h](j)}(h**Parameters**h]j)}(hjh]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1j~hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKhjubjS)}(hhh](jX)}(hB``struct device *dev`` Device pointer, used for printing messages h](j^)}(h``struct device *dev``h]jd)}(hjh]hstruct device *dev}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jchjubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKhjubjz)}(hhh]j)}(h*Device pointer, used for printing messagesh]h*Device pointer, used for printing messages}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j~hjhKhjubah}(h]h ]h"]h$]h&]uh1jyhjubeh}(h]h ]h"]h$]h&]uh1jWhjhKhjubjX)}(hF``const struct ccs_pll_limits *limits`` Limits specific to the sensor h](j^)}(h'``const struct ccs_pll_limits *limits``h]jd)}(hjh]h#const struct ccs_pll_limits *limits}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jchjubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKhjubjz)}(hhh]j)}(hLimits specific to the sensorh]hLimits specific to the sensor}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j~hjhKhjubah}(h]h ]h"]h$]h&]uh1jyhjubeh}(h]h ]h"]h$]h&]uh1jWhjhKhjubjX)}(h0``struct ccs_pll *pll`` Given PLL configuration h](j^)}(h``struct ccs_pll *pll``h]jd)}(hj!h]hstruct ccs_pll *pll}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1jchjubah}(h]h ]h"]h$]h&]uh1j]hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKhjubjz)}(hhh]j)}(hGiven PLL configurationh]hGiven PLL configuration}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1j~hj6hKhj7ubah}(h]h ]h"]h$]h&]uh1jyhjubeh}(h]h ]h"]h$]h&]uh1jWhj6hKhjubeh}(h]h ]h"]h$]h&]uh1jRhjubj)}(h**Description**h]j)}(hj\h]h Description}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjZubah}(h]h ]h"]h$]h&]uh1j~hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKhjubj)}(hCalculate the CCS PLL configuration based on the limits as well as given device specific, system specific or user configured input data.h]hCalculate the CCS PLL configuration based on the limits as well as given device specific, system specific or user configured input data.}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1j~hm/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/ccs/ccs:166: ./drivers/media/i2c/ccs-pll.hhKhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj:hhhNhNubj)}(h+**Copyright** |copy| 2020 Intel Corporationh](j)}(h **Copyright**h]h Copyright}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh }(hjhhhNhNubh©}(hjhhhNhNubh 2020 Intel Corporation}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1j~hhhKRhj:hhubeh}(h]ccs-pll-calculatorah ]h"]ccs pll calculatorah$]h&]uh1jihhhhhhhKFubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(jnN generatorN datestampN source_linkN source_urlN toc_backlinksentryfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerjerror_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourcehnj _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}(hhjhjjj jj/j#j>j2jMjAj\jPjkj_jzjnjj}jjjjjjjjjjjjjjjjjjjjj.j"j=j1jLj@j[jOjjj^jyjmjj|jjjjjjjjjjjjjjjjjjjjj-j!j<j0jKj?jZjNjij]jxjljj{jjjjjjjjjjjjjjjjjjjjj,j j;j/jJj>jYjMjhj\jwjkjjzjjjjjjjjjjjjjjjjj jjjj+jj:j.jIj=jXjLusubstitution_names}(amphaposjastjbrvbarj bsolj/centj>colonjMcommaj\commatjkcopyjzcurrenjdarrjdegjdividejdollarjequalsjexcljfrac12jfrac14jfrac18jfrac34jfrac38j.frac58j=frac78jLgtj[halfjjhorbarjyhyphenjiexcljiquestjlaquojlarrjlcubjldquojlowbarjlparjlsqbjlsquojltj-microj<middotjKnbspjZnotjinumjxohmjordfjordmjparajpercntjperiodjplusjplusmnjpoundjquestjquotjraquoj,rarrj;rcubjJrdquojYregjhrparjwrsqbjrsquojsectjsemijshyjsoljsungjsup1jsup2jsup3j timesjtradej+uarrj:verbarjIyenjXurefnames}refids}jh]j]asnameids}(j3jhj2j/jjjj ccs toolsjj*j'j"jjju nametypes}(j3j2jjjhj*j"juh}(jhjkj/jkjjjjjj~jjj'jjjjj:jvjj j j_ jd jjjbjgjjjju footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}jKsRparse_messages]hsystem_message)}(hhh]j)}(h,Duplicate implicit target name: "ccs tools".h]h0Duplicate implicit target name: “ccs tools”.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j~hjubah}(h]h ]h"]h$]h&]jalevelKtypeINFOsourcehnjlineKuh1jhj~hhhhhK,ubatransform_messages]j)}(hhh]j)}(hhh]h6Hyperlink target "media-ccs-driver" is not referenced.}hjsbah}(h]h ]h"]h$]h&]uh1j~hjubah}(h]h ]h"]h$]h&]levelKtypejsourcehnjlineK[uh1juba transformerN include_log]2Documentation/driver-api/media/drivers/ccs/ccs.rst(NNNNta decorationNhhub.