€•ø¦Œ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/iio/ad4695”Œ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/iio/ad4695”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒItalian”…”�”}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ/translations/it_IT/iio/ad4695”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒJapanese”…”�”}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ/translations/ja_JP/iio/ad4695”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒKorean”…”�”}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ/translations/ko_KR/iio/ad4695”Œ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/iio/ad4695”Œ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/iio/ad4695”Œ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-only”h]”hŒ%SPDX-License-Identifier: GPL-2.0-only”…”�”}”hh·sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1hµhhh²hh³Œ8/var/lib/git/docbuild/linux/Documentation/iio/ad4695.rst”h´KubhŒsection”“”)�”}”(hhh]”(hŒtitle”“”)�”}”(hŒ AD4695 driver”h]”hŒ AD4695 driver”…”�”}”(hhÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhhÊh²hh³hÇh´KubhŒ paragraph”“”)�”}”(hŒ]ADC driver for Analog Devices Inc. AD4695 and similar devices. The module name is ``ad4695``.”h]”(hŒRADC driver for Analog Devices Inc. AD4695 and similar devices. The module name is ”…”�”}”(hhßh²hh³Nh´NubhŒliteral”“”)�”}”(hŒ ``ad4695``”h]”hŒad4695”…”�”}”(hhéh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhhßubhŒ.”…”�”}”(hhßh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KhhÊh²hubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒSupported devices”h]”hŒSupported devices”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjh²hh³hÇh´K ubhÞ)�”}”(hŒ1The following chips are supported by this driver:”h]”hŒ1The following chips are supported by this driver:”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Khjh²hubhŒ bullet_list”“”)�”}”(hhh]”(hŒ list_item”“”)�”}”(hŒ)`AD4695 `_”h]”hÞ)�”}”(hj)h]”(hŒ reference”“”)�”}”(hj)h]”hŒAD4695”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œname”ŒAD4695”Œrefuri”Œhttps://www.analog.com/AD4695”uh1j.hj+ubhŒtarget”“”)�”}”(hŒ ”h]”h}”(h]”Œad4695”ah ]”h"]”Œad4695”ah$]”h&]”Œrefuri”j@uh1jAŒ referenced”Khj+ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Khj'ubah}”(h]”h ]”h"]”h$]”h&]”uh1j%hj"h²hh³hÇh´Nubj&)�”}”(hŒ)`AD4696 `_”h]”hÞ)�”}”(hj_h]”(j/)�”}”(hj_h]”hŒAD4696”…”�”}”(hjdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œname”ŒAD4696”j?Œhttps://www.analog.com/AD4696”uh1j.hjaubjB)�”}”(hŒ ”h]”h}”(h]”Œad4696”ah ]”h"]”Œad4696”ah$]”h&]”Œrefuri”jsuh1jAjPKhjaubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Khj]ubah}”(h]”h ]”h"]”h$]”h&]”uh1j%hj"h²hh³hÇh´Nubj&)�”}”(hŒ)`AD4697 `_”h]”hÞ)�”}”(hj�h]”(j/)�”}”(hj�h]”hŒAD4697”…”�”}”(hj”h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œname”ŒAD4697”j?Œhttps://www.analog.com/AD4697”uh1j.hj‘ubjB)�”}”(hŒ ”h]”h}”(h]”Œad4697”ah ]”h"]”Œad4697”ah$]”h&]”Œrefuri”j£uh1jAjPKhj‘ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Khj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j%hj"h²hh³hÇh´Nubj&)�”}”(hŒ+`AD4698 `_ ”h]”hÞ)�”}”(hŒ)`AD4698 `_”h]”(j/)�”}”(hjÃh]”hŒAD4698”…”�”}”(hjÅh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œname”ŒAD4698”j?Œhttps://www.analog.com/AD4698”uh1j.hjÁubjB)�”}”(hŒ ”h]”h}”(h]”Œad4698”ah ]”h"]”Œad4698”ah$]”h&]”Œrefuri”jÔuh1jAjPKhjÁubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Khj½ubah}”(h]”h ]”h"]”h$]”h&]”uh1j%hj"h²hh³hÇh´Nubeh}”(h]”h ]”h"]”h$]”h&]”Œbullet”Œ*”uh1j h³hÇh´Khjh²hubeh}”(h]”Œsupported-devices”ah ]”h"]”Œsupported devices”ah$]”h&]”uh1hÈhhÊh²hh³hÇh´K ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒSupported features”h]”hŒSupported features”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjþh²hh³hÇh´KubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒSPI wiring modes”h]”hŒSPI wiring modes”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjh²hh³hÇh´KubhÞ)�”}”(hŒEThe driver currently supports the following SPI wiring configuration:”h]”hŒEThe driver currently supports the following SPI wiring configuration:”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Khjh²hubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ 4-wire mode”h]”hŒ 4-wire mode”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj.h²hh³hÇh´KubhÞ)�”}”(hŒJIn this mode, CNV and CS are tied together and there is a single SDO line.”h]”hŒJIn this mode, CNV and CS are tied together and there is a single SDO line.”…”�”}”(hj?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K!hj.h²hubhŒ literal_block”“”)�”}”(hXg+-------------+ +-------------+ | CS |<-+------| CS | | CNV |<-+ | | | ADC | | HOST | | | | | | SDI |<--------| SDO | | SDO |-------->| SDI | | SCLK |<--------| SCLK | +-------------+ +-------------+”h]”hXg+-------------+ +-------------+ | CS |<-+------| CS | | CNV |<-+ | | | ADC | | HOST | | | | | | SDI |<--------| SDO | | SDO |-------->| SDI | | SCLK |<--------| SCLK | +-------------+ +-------------+”…”�”}”hjOsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆŒforce”‰Œlanguage”Œnone”Œhighlight_args”}”uh1jMh³hÇh´K#hj.h²hubhÞ)�”}”(hŒaTo use this mode, in the device tree, omit the ``cnv-gpios`` and ``spi-rx-bus-width`` properties.”h]”(hŒ/To use this mode, in the device tree, omit the ”…”�”}”(hjbh²hh³Nh´Nubhè)�”}”(hŒ ``cnv-gpios``”h]”hŒ cnv-gpios”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjbubhŒ and ”…”�”}”(hjbh²hh³Nh´Nubhè)�”}”(hŒ``spi-rx-bus-width``”h]”hŒspi-rx-bus-width”…”�”}”(hj|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjbubhŒ properties.”…”�”}”(hjbh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K/hj.h²hubeh}”(h]”Œ wire-mode”ah ]”h"]”Œ 4-wire mode”ah$]”h&]”uh1hÈhjh²hh³hÇh´KubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒSPI offload wiring”h]”hŒSPI offload wiring”…”�”}”(hjŸh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjœh²hh³hÇh´K3ubhÞ)�”}”(hŒDWhen used with a SPI offload, the supported wiring configuration is:”h]”hŒDWhen used with a SPI offload, the supported wiring configuration is:”…”�”}”(hj­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K5hjœh²hubjN)�”}”(hX/+-------------+ +-------------+ | GP0/BUSY |-------->| TRIGGER | | CS |<--------| CS | | | | | | ADC | | SPI | | | | | | SDI |<--------| SDO | | SDO |-------->| SDI | | SCLK |<--------| SCLK | | | | | | | +-------------+ | CNV |<-----+--| PWM | | | +--| GPIO | +-------------+ +-------------+”h]”hX/+-------------+ +-------------+ | GP0/BUSY |-------->| TRIGGER | | CS |<--------| CS | | | | | | ADC | | SPI | | | | | | SDI |<--------| SDO | | SDO |-------->| SDI | | SCLK |<--------| SCLK | | | | | | | +-------------+ | CNV |<-----+--| PWM | | | +--| GPIO | +-------------+ +-------------+”…”�”}”hj»sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆj]‰j^j_j`}”uh1jMh³hÇh´K7hjœh²hubhÞ)�”}”(hXjIn this case, both the ``cnv-gpios`` and ``pwms`` properties are required. The ``#trigger-source-cells = <2>`` property is also required to connect back to the SPI offload. The SPI offload will have ``trigger-sources`` property with cells to indicate the busy signal and which GPx pin is used, e.g ``<&ad4695 AD4695_TRIGGER_EVENT_BUSY AD4695_TRIGGER_PIN_GP0>``.”h]”(hŒIn this case, both the ”…”�”}”(hjÊh²hh³Nh´Nubhè)�”}”(hŒ ``cnv-gpios``”h]”hŒ cnv-gpios”…”�”}”(hjÒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjÊubhŒ and ”…”�”}”(hjÊh²hh³Nh´Nubhè)�”}”(hŒ``pwms``”h]”hŒpwms”…”�”}”(hjäh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjÊubhŒ properties are required. The ”…”�”}”(hjÊh²hh³Nh´Nubhè)�”}”(hŒ``#trigger-source-cells = <2>``”h]”hŒ#trigger-source-cells = <2>”…”�”}”(hjöh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjÊubhŒY property is also required to connect back to the SPI offload. The SPI offload will have ”…”�”}”(hjÊh²hh³Nh´Nubhè)�”}”(hŒ``trigger-sources``”h]”hŒtrigger-sources”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjÊubhŒP property with cells to indicate the busy signal and which GPx pin is used, e.g ”…”�”}”(hjÊh²hh³Nh´Nubhè)�”}”(hŒ>``<&ad4695 AD4695_TRIGGER_EVENT_BUSY AD4695_TRIGGER_PIN_GP0>``”h]”hŒ:<&ad4695 AD4695_TRIGGER_EVENT_BUSY AD4695_TRIGGER_PIN_GP0>”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjÊubhŒ.”…”�”}”(hjÊh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KHhjœh²hubhŒseealso”“”)�”}”(hŒ`SPI offload support`_”h]”hÞ)�”}”(hj6h]”j/)�”}”(hj6h]”hŒSPI offload support”…”�”}”(hj;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œname”ŒSPI offload support”Œrefid”Œspi-offload-support”uh1j.hj8Œresolved”Kubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KNhj4ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2hjœh²hh³hÇh´Nubeh}”(h]”Œspi-offload-wiring”ah ]”h"]”Œspi offload wiring”ah$]”h&]”uh1hÈhjh²hh³hÇh´K3jPKubeh}”(h]”Œspi-wiring-modes”ah ]”h"]”Œspi wiring modes”ah$]”h&]”uh1hÈhjþh²hh³hÇh´KubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒChannel configuration”h]”hŒChannel configuration”…”�”}”(hjlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjih²hh³hÇh´KQubhÞ)�”}”(hŒœSince the chip supports multiple ways to configure each channel, this must be described in the device tree based on what is actually wired up to the inputs.”h]”hŒœSince the chip supports multiple ways to configure each channel, this must be described in the device tree based on what is actually wired up to the inputs.”…”�”}”(hjzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KShjih²hubhÞ)�”}”(hŒ'There are three typical configurations:”h]”hŒ'There are three typical configurations:”…”�”}”(hjˆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KVhjih²hubhÞ)�”}”(hŒxAn ``INx`` pin is used as the positive input with the ``REFGND``, ``COM`` or the next ``INx`` pin as the negative input.”h]”(hŒAn ”…”�”}”(hj–h²hh³Nh´Nubhè)�”}”(hŒ``INx``”h]”hŒINx”…”�”}”(hjžh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj–ubhŒ, pin is used as the positive input with the ”…”�”}”(hj–h²hh³Nh´Nubhè)�”}”(hŒ ``REFGND``”h]”hŒREFGND”…”�”}”(hj°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj–ubhŒ, ”…”�”}”(hj–h²hh³Nh´Nubhè)�”}”(hŒ``COM``”h]”hŒCOM”…”�”}”(hjÂh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj–ubhŒ or the next ”…”�”}”(hj–h²hh³Nh´Nubhè)�”}”(hŒ``INx``”h]”hŒINx”…”�”}”(hjÔh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj–ubhŒ pin as the negative input.”…”�”}”(hj–h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KXhjih²hubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒPairing with REFGND”h]”hŒPairing with REFGND”…”�”}”(hjïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjìh²hh³hÇh´K\ubhÞ)�”}”(hŒˆEach ``INx`` pin can be used as a pseudo-differential input in conjunction with the ``REFGND`` pin. The device tree will look like this:”h]”(hŒEach ”…”�”}”(hjýh²hh³Nh´Nubhè)�”}”(hŒ``INx``”h]”hŒINx”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjýubhŒH pin can be used as a pseudo-differential input in conjunction with the ”…”�”}”(hjýh²hh³Nh´Nubhè)�”}”(hŒ ``REFGND``”h]”hŒREFGND”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjýubhŒ* pin. The device tree will look like this:”…”�”}”(hjýh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K^hjìh²hubjN)�”}”(hŒ'channel@0 { reg = <0>; /* IN0 */ };”h]”hŒ'channel@0 { reg = <0>; /* IN0 */ };”…”�”}”hj/sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆj]‰j^j_j`}”uh1jMh³hÇh´Kahjìh²hubhÞ)�”}”(hŒmIf no other channel properties are needed (e.g. ``adi,no-high-z``), the channel node can be omitted entirely.”h]”(hŒ0If no other channel properties are needed (e.g. ”…”�”}”(hj>h²hh³Nh´Nubhè)�”}”(hŒ``adi,no-high-z``”h]”hŒ adi,no-high-z”…”�”}”(hjFh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj>ubhŒ,), the channel node can be omitted entirely.”…”�”}”(hj>h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Kghjìh²hubhÞ)�”}”(hŒÛThis will appear on the IIO bus as the ``voltage0`` channel. The processed value (*raw × scale*) will be the voltage present on the ``IN0`` pin relative to ``REFGND``. (Offset is always 0 when pairing with ``REFGND``.)”h]”(hŒ'This will appear on the IIO bus as the ”…”�”}”(hj^h²hh³Nh´Nubhè)�”}”(hŒ ``voltage0``”h]”hŒvoltage0”…”�”}”(hjfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj^ubhŒ channel. The processed value (”…”�”}”(hj^h²hh³Nh´NubhŒemphasis”“”)�”}”(hŒ*raw × scale*”h]”hŒ raw × scale”…”�”}”(hjzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jxhj^ubhŒ%) will be the voltage present on the ”…”�”}”(hj^h²hh³Nh´Nubhè)�”}”(hŒ``IN0``”h]”hŒIN0”…”�”}”(hjŒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj^ubhŒ pin relative to ”…”�”}”(hj^h²hh³Nh´Nubhè)�”}”(hŒ ``REFGND``”h]”hŒREFGND”…”�”}”(hjžh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj^ubhŒ(. (Offset is always 0 when pairing with ”…”�”}”(hj^h²hh³Nh´Nubhè)�”}”(hŒ ``REFGND``”h]”hŒREFGND”…”�”}”(hj°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj^ubhŒ.)”…”�”}”(hj^h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Kjhjìh²hubeh}”(h]”Œpairing-with-refgnd”ah ]”h"]”Œpairing with refgnd”ah$]”h&]”uh1hÈhjih²hh³hÇh´K\ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒPairing with COM”h]”hŒPairing with COM”…”�”}”(hjÓh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjÐh²hh³hÇh´KoubhÞ)�”}”(hŒ…Each ``INx`` pin can be used as a pseudo-differential input in conjunction with the ``COM`` pin. The device tree will look like this:”h]”(hŒEach ”…”�”}”(hjáh²hh³Nh´Nubhè)�”}”(hŒ``INx``”h]”hŒINx”…”�”}”(hjéh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjáubhŒH pin can be used as a pseudo-differential input in conjunction with the ”…”�”}”(hjáh²hh³Nh´Nubhè)�”}”(hŒ``COM``”h]”hŒCOM”…”�”}”(hjûh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjáubhŒ* pin. The device tree will look like this:”…”�”}”(hjáh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KqhjÐh²hubjN)�”}”(hŒ…com-supply = <&vref_div_2>; channel@1 { reg = <1>; /* IN1 */ common-mode-channel = ; bipolar; };”h]”hŒ…com-supply = <&vref_div_2>; channel@1 { reg = <1>; /* IN1 */ common-mode-channel = ; bipolar; };”…”�”}”hjsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆj]‰j^j_j`}”uh1jMh³hÇh´KthjÐh²hubhÞ)�”}”(hŒîThis will appear on the IIO bus as the ``voltage1`` channel. The processed value (*(raw + offset) × scale*) will be the voltage measured on the ``IN1`` pin relative to ``REFGND``. (The offset is determined by the ``com-supply`` voltage.)”h]”(hŒ'This will appear on the IIO bus as the ”…”�”}”(hj"h²hh³Nh´Nubhè)�”}”(hŒ ``voltage1``”h]”hŒvoltage1”…”�”}”(hj*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj"ubhŒ channel. The processed value (”…”�”}”(hj"h²hh³Nh´Nubjy)�”}”(hŒ*(raw + offset) × scale*”h]”hŒ(raw + offset) × scale”…”�”}”(hj<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jxhj"ubhŒ&) will be the voltage measured on the ”…”�”}”(hj"h²hh³Nh´Nubhè)�”}”(hŒ``IN1``”h]”hŒIN1”…”�”}”(hjNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj"ubhŒ pin relative to ”…”�”}”(hj"h²hh³Nh´Nubhè)�”}”(hŒ ``REFGND``”h]”hŒREFGND”…”�”}”(hj`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj"ubhŒ#. (The offset is determined by the ”…”�”}”(hj"h²hh³Nh´Nubhè)�”}”(hŒ``com-supply``”h]”hŒ com-supply”…”�”}”(hjrh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj"ubhŒ voltage.)”…”�”}”(hj"h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K~hjÐh²hubhÞ)�”}”(hŒThe macro comes from:”h]”hŒThe macro comes from:”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K‚hjÐh²hubjN)�”}”(hŒ+#include ”h]”hŒ+#include ”…”�”}”hj˜sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆj]‰j^j_j`}”uh1jMh³hÇh´K„hjÐh²hubeh}”(h]”Œpairing-with-com”ah ]”h"]”Œpairing with com”ah$]”h&]”uh1hÈhjih²hh³hÇh´KoubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒPairing two INx pins”h]”hŒPairing two INx pins”…”�”}”(hj²h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj¯h²hh³hÇh´K‰ubhÞ)�”}”(hŒâAn even-numbered ``INx`` pin and the following odd-numbered ``INx`` pin can be used as a pseudo-differential input. The device tree for using ``IN2`` as the positive input and ``IN3`` as the negative input will look like this:”h]”(hŒAn even-numbered ”…”�”}”(hjÀh²hh³Nh´Nubhè)�”}”(hŒ``INx``”h]”hŒINx”…”�”}”(hjÈh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjÀubhŒ$ pin and the following odd-numbered ”…”�”}”(hjÀh²hh³Nh´Nubhè)�”}”(hŒ``INx``”h]”hŒINx”…”�”}”(hjÚh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjÀubhŒK pin can be used as a pseudo-differential input. The device tree for using ”…”�”}”(hjÀh²hh³Nh´Nubhè)�”}”(hŒ``IN2``”h]”hŒIN2”…”�”}”(hjìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjÀubhŒ as the positive input and ”…”�”}”(hjÀh²hh³Nh´Nubhè)�”}”(hŒ``IN3``”h]”hŒIN3”…”�”}”(hjþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjÀubhŒ+ as the negative input will look like this:”…”�”}”(hjÀh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K‹hj¯h²hubjN)�”}”(hŒzin3-supply = <&vref_div_2>; channel@2 { reg = <2>; /* IN2 */ common-mode-channel = <3>; /* IN3 */ bipolar; };”h]”hŒzin3-supply = <&vref_div_2>; channel@2 { reg = <2>; /* IN2 */ common-mode-channel = <3>; /* IN3 */ bipolar; };”…”�”}”hjsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆj]‰j^j_j`}”uh1jMh³hÇh´K�hj¯h²hubhÞ)�”}”(hŒêThis will appear on the IIO bus as the ``voltage2`` channel. The processed value (*(raw + offset) × scale*) will be the voltage measured on the ``IN1`` pin relative to ``REFGND``. (Offset is determined by the ``in3-supply`` voltage.)”h]”(hŒ'This will appear on the IIO bus as the ”…”�”}”(hj%h²hh³Nh´Nubhè)�”}”(hŒ ``voltage2``”h]”hŒvoltage2”…”�”}”(hj-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj%ubhŒ channel. The processed value (”…”�”}”(hj%h²hh³Nh´Nubjy)�”}”(hŒ*(raw + offset) × scale*”h]”hŒ(raw + offset) × scale”…”�”}”(hj?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jxhj%ubhŒ&) will be the voltage measured on the ”…”�”}”(hj%h²hh³Nh´Nubhè)�”}”(hŒ``IN1``”h]”hŒIN1”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj%ubhŒ pin relative to ”…”�”}”(hj%h²hh³Nh´Nubhè)�”}”(hŒ ``REFGND``”h]”hŒREFGND”…”�”}”(hjch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj%ubhŒ. (Offset is determined by the ”…”�”}”(hj%h²hh³Nh´Nubhè)�”}”(hŒ``in3-supply``”h]”hŒ in3-supply”…”�”}”(hjuh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj%ubhŒ voltage.)”…”�”}”(hj%h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K™hj¯h²hubeh}”(h]”Œpairing-two-inx-pins”ah ]”h"]”Œpairing two inx pins”ah$]”h&]”uh1hÈhjih²hh³hÇh´K‰ubeh}”(h]”Œchannel-configuration”ah ]”h"]”Œchannel configuration”ah$]”h&]”uh1hÈhjþh²hh³hÇh´KQubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ VCC supply”h]”hŒ VCC supply”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj�h²hh³hÇh´KžubhÞ)�”}”(hXVThe chip supports being powered by an external LDO via the ``VCC`` input or an internal LDO via the ``LDO_IN`` input. The driver looks at the device tree to determine which is being used. If ``ldo-supply`` is present, then the internal LDO is used. If ``vcc-supply`` is present, then the external LDO is used and the internal LDO is disabled.”h]”(hŒ;The chip supports being powered by an external LDO via the ”…”�”}”(hj®h²hh³Nh´Nubhè)�”}”(hŒ``VCC``”h]”hŒVCC”…”�”}”(hj¶h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj®ubhŒ" input or an internal LDO via the ”…”�”}”(hj®h²hh³Nh´Nubhè)�”}”(hŒ ``LDO_IN``”h]”hŒLDO_IN”…”�”}”(hjÈh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj®ubhŒQ input. The driver looks at the device tree to determine which is being used. If ”…”�”}”(hj®h²hh³Nh´Nubhè)�”}”(hŒ``ldo-supply``”h]”hŒ ldo-supply”…”�”}”(hjÚh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj®ubhŒ/ is present, then the internal LDO is used. If ”…”�”}”(hj®h²hh³Nh´Nubhè)�”}”(hŒ``vcc-supply``”h]”hŒ vcc-supply”…”�”}”(hjìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj®ubhŒL is present, then the external LDO is used and the internal LDO is disabled.”…”�”}”(hj®h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K hj�h²hubeh}”(h]”Œ vcc-supply”ah ]”h"]”Œ vcc supply”ah$]”h&]”uh1hÈhjþh²hh³hÇh´KžubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒReference voltage”h]”hŒReference voltage”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj h²hh³hÇh´K§ubhÞ)�”}”(hX“The chip supports an external reference voltage via the ``REF`` input or an internal buffered reference voltage via the ``REFIN`` input. The driver looks at the device tree to determine which is being used. If ``ref-supply`` is present, then the external reference voltage is used and the internal buffer is disabled. If ``refin-supply`` is present, then the internal buffered reference voltage is used.”h]”(hŒ8The chip supports an external reference voltage via the ”…”�”}”(hjh²hh³Nh´Nubhè)�”}”(hŒ``REF``”h]”hŒREF”…”�”}”(hj%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjubhŒ9 input or an internal buffered reference voltage via the ”…”�”}”(hjh²hh³Nh´Nubhè)�”}”(hŒ ``REFIN``”h]”hŒREFIN”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjubhŒQ input. The driver looks at the device tree to determine which is being used. If ”…”�”}”(hjh²hh³Nh´Nubhè)�”}”(hŒ``ref-supply``”h]”hŒ ref-supply”…”�”}”(hjIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjubhŒa is present, then the external reference voltage is used and the internal buffer is disabled. If ”…”�”}”(hjh²hh³Nh´Nubhè)�”}”(hŒ``refin-supply``”h]”hŒ refin-supply”…”�”}”(hj[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjubhŒB is present, then the internal buffered reference voltage is used.”…”�”}”(hjh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K©hj h²hubeh}”(h]”Œreference-voltage”ah ]”h"]”Œreference voltage”ah$]”h&]”uh1hÈhjþh²hh³hÇh´K§ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒGain/offset calibration”h]”hŒGain/offset calibration”…”�”}”(hj~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj{h²hh³hÇh´K±ubhÞ)�”}”(hŒ�System calibration is supported using the channel gain and offset registers via the ``calibscale`` and ``calibbias`` attributes respectively.”h]”(hŒTSystem calibration is supported using the channel gain and offset registers via the ”…”�”}”(hjŒh²hh³Nh´Nubhè)�”}”(hŒ``calibscale``”h]”hŒ calibscale”…”�”}”(hj”h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjŒubhŒ and ”…”�”}”(hjŒh²hh³Nh´Nubhè)�”}”(hŒ ``calibbias``”h]”hŒ calibbias”…”�”}”(hj¦h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjŒubhŒ attributes respectively.”…”�”}”(hjŒh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K³hj{h²hubeh}”(h]”Œgain-offset-calibration”ah ]”h"]”Œgain/offset calibration”ah$]”h&]”uh1hÈhjþh²hh³hÇh´K±ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ Oversampling”h]”hŒ Oversampling”…”�”}”(hjÉh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjÆh²hh³hÇh´K·ubhÞ)�”}”(hXYThe chip supports per-channel oversampling when SPI offload is being used, with available oversampling ratios (OSR) of 1 (default), 4, 16, and 64. Enabling oversampling on a channel raises the effective number of bits of sampled data to 17 (OSR == 4), 18 (16), or 19 (64), respectively. This can be set via the ``oversampling_ratio`` attribute.”h]”(hX8The chip supports per-channel oversampling when SPI offload is being used, with available oversampling ratios (OSR) of 1 (default), 4, 16, and 64. Enabling oversampling on a channel raises the effective number of bits of sampled data to 17 (OSR == 4), 18 (16), or 19 (64), respectively. This can be set via the ”…”�”}”(hj×h²hh³Nh´Nubhè)�”}”(hŒ``oversampling_ratio``”h]”hŒoversampling_ratio”…”�”}”(hjßh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj×ubhŒ attribute.”…”�”}”(hj×h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K¹hjÆh²hubhÞ)�”}”(hXžSetting the oversampling ratio for a channel also changes the sample rate for that channel, since it requires multiple conversions per 1 sample. Specifically, the new sampling frequency is the PWM sampling frequency divided by the particular OSR. This is set automatically by the driver when setting the ``oversampling_ratio`` attribute. For example, if the device's current ``sampling_frequency`` is 10000 and an OSR of 4 is set on channel ``voltage0``, the new reported sampling rate for that channel will be 2500 (ignoring PWM API rounding), while all others will remain at 10000. Subsequently setting the sampling frequency to a higher value on that channel will adjust the CNV trigger period for all channels, e.g. if ``voltage0``'s sampling frequency is adjusted from 2500 (with an OSR of 4) to 10000, the value reported by ``in_voltage0_sampling_frequency`` will be 10000, but all other channels will now report 40000.”h]”(hX0Setting the oversampling ratio for a channel also changes the sample rate for that channel, since it requires multiple conversions per 1 sample. Specifically, the new sampling frequency is the PWM sampling frequency divided by the particular OSR. This is set automatically by the driver when setting the ”…”�”}”(hj÷h²hh³Nh´Nubhè)�”}”(hŒ``oversampling_ratio``”h]”hŒoversampling_ratio”…”�”}”(hjÿh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj÷ubhŒ3 attribute. For example, if the device’s current ”…”�”}”(hj÷h²hh³Nh´Nubhè)�”}”(hŒ``sampling_frequency``”h]”hŒsampling_frequency”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj÷ubhŒ, is 10000 and an OSR of 4 is set on channel ”…”�”}”(hj÷h²hh³Nh´Nubhè)�”}”(hŒ ``voltage0``”h]”hŒvoltage0”…”�”}”(hj#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj÷ubhX, the new reported sampling rate for that channel will be 2500 (ignoring PWM API rounding), while all others will remain at 10000. Subsequently setting the sampling frequency to a higher value on that channel will adjust the CNV trigger period for all channels, e.g. if ”…”�”}”(hj÷h²hh³Nh´Nubhè)�”}”(hŒ ``voltage0``”h]”hŒvoltage0”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj÷ubhŒa’s sampling frequency is adjusted from 2500 (with an OSR of 4) to 10000, the value reported by ”…”�”}”(hj÷h²hh³Nh´Nubhè)�”}”(hŒ"``in_voltage0_sampling_frequency``”h]”hŒin_voltage0_sampling_frequency”…”�”}”(hjGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj÷ubhŒ= will be 10000, but all other channels will now report 40000.”…”�”}”(hj÷h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K¿hjÆh²hubhÞ)�”}”(hŒ·For simplicity, the sampling frequency of the device should be set (considering the highest desired OSR value to be used) first, before configuring oversampling for specific channels.”h]”hŒ·For simplicity, the sampling frequency of the device should be set (considering the highest desired OSR value to be used) first, before configuring oversampling for specific channels.”…”�”}”(hj_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KÍhjÆh²hubeh}”(h]”Œ oversampling”ah ]”h"]”Œ oversampling”ah$]”h&]”uh1hÈhjþh²hh³hÇh´K·ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒUnimplemented features”h]”hŒUnimplemented features”…”�”}”(hjxh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjuh²hh³hÇh´KÒubj!)�”}”(hhh]”(j&)�”}”(hŒAdditional wiring modes”h]”hÞ)�”}”(hj‹h]”hŒAdditional wiring modes”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KÔhj‰ubah}”(h]”h ]”h"]”h$]”h&]”uh1j%hj†h²hh³hÇh´Nubj&)�”}”(hŒThreshold events”h]”hÞ)�”}”(hj¢h]”hŒThreshold events”…”�”}”(hj¤h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KÕhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j%hj†h²hh³hÇh´Nubj&)�”}”(hŒ GPIO support”h]”hÞ)�”}”(hj¹h]”hŒ GPIO support”…”�”}”(hj»h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KÖhj·ubah}”(h]”h ]”h"]”h$]”h&]”uh1j%hj†h²hh³hÇh´Nubj&)�”}”(hŒ CRC support ”h]”hÞ)�”}”(hŒ CRC support”h]”hŒ CRC support”…”�”}”(hjÒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K×hjÎubah}”(h]”h ]”h"]”h$]”h&]”uh1j%hj†h²hh³hÇh´Nubeh}”(h]”h ]”h"]”h$]”h&]”jôŒ-”uh1j h³hÇh´KÔhjuh²hubeh}”(h]”Œunimplemented-features”ah ]”h"]”Œunimplemented features”ah$]”h&]”uh1hÈhjþh²hh³hÇh´KÒubeh}”(h]”Œsupported-features”ah ]”h"]”Œsupported features”ah$]”h&]”uh1hÈhhÊh²hh³hÇh´KubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒSPI offload support”h]”hŒSPI offload support”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjýh²hh³hÇh´KÚubhÞ)�”}”(hŒ€To be able to achieve the maximum sample rate, the driver can be used with the `AXI SPI Engine`_ to provide SPI offload support.”h]”(hŒOTo be able to achieve the maximum sample rate, the driver can be used with the ”…”�”}”(hj h²hh³Nh´Nubj/)�”}”(hŒ`AXI SPI Engine`_”h]”hŒAXI SPI Engine”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œname”ŒAXI SPI Engine”j?ŒDhttp://analogdevicesinc.github.io/hdl/projects/ad469x_fmc/index.html”uh1j.hj jLKubhŒ to provide SPI offload support.”…”�”}”(hj h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KÜhjýh²hubjB)�”}”(hŒX.. _AXI SPI Engine: http://analogdevicesinc.github.io/hdl/projects/ad469x_fmc/index.html”h]”h}”(h]”Œaxi-spi-engine”ah ]”h"]”Œaxi spi engine”ah$]”h&]”j?j& uh1jAh´Kßhjýh²hh³hÇjPKubj3)�”}”(hŒ`SPI offload wiring`_”h]”hÞ)�”}”(hj? h]”j/)�”}”(hj? h]”hŒSPI offload wiring”…”�”}”(hjD h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œname”ŒSPI offload wiring”jJj[uh1j.hjA jLKubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Káhj= ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2hjýh²hh³hÇh´NubhÞ)�”}”(hŒBWhen SPI offload is being used, some attributes will be different.”h]”hŒBWhen SPI offload is being used, some attributes will be different.”…”�”}”(hj_ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Kãhjýh²hubj!)�”}”(hhh]”(j&)�”}”(hŒ!``trigger`` directory is removed.”h]”hÞ)�”}”(hjr h]”(hè)�”}”(hŒ ``trigger``”h]”hŒtrigger”…”�”}”(hjw h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjt ubhŒ directory is removed.”…”�”}”(hjt h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Kåhjp ubah}”(h]”h ]”h"]”h$]”h&]”uh1j%hjm h²hh³hÇh´Nubj&)�”}”(hŒT``in_voltage0_sampling_frequency`` attributes are added for setting the sample rate.”h]”hÞ)�”}”(hŒT``in_voltage0_sampling_frequency`` attributes are added for setting the sample rate.”h]”(hè)�”}”(hŒ"``in_voltage0_sampling_frequency``”h]”hŒin_voltage0_sampling_frequency”…”�”}”(hj� h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj™ ubhŒ2 attributes are added for setting the sample rate.”…”�”}”(hj™ h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Kæhj• ubah}”(h]”h ]”h"]”h$]”h&]”uh1j%hjm h²hh³hÇh´Nubj&)�”}”(hŒc``in_voltage0_sampling_frequency_available`` attributes are added for querying the max sample rate.”h]”hÞ)�”}”(hŒc``in_voltage0_sampling_frequency_available`` attributes are added for querying the max sample rate.”h]”(hè)�”}”(hŒ,``in_voltage0_sampling_frequency_available``”h]”hŒ(in_voltage0_sampling_frequency_available”…”�”}”(hjà h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj¿ ubhŒ7 attributes are added for querying the max sample rate.”…”�”}”(hj¿ h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Kèhj» ubah}”(h]”h ]”h"]”h$]”h&]”uh1j%hjm h²hh³hÇh´Nubj&)�”}”(hŒ!``timestamp`` channel is removed.”h]”hÞ)�”}”(hjã h]”(hè)�”}”(hŒ ``timestamp``”h]”hŒ timestamp”…”�”}”(hjè h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjå ubhŒ channel is removed.”…”�”}”(hjå h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Kêhjá ubah}”(h]”h ]”h"]”h$]”h&]”uh1j%hjm h²hh³hÇh´Nubj&)�”}”(hŒ{Buffer data format may be different compared to when offload is not used, e.g. the ``buffer0/in_voltage0_type`` attribute. ”h]”hÞ)�”}”(hŒzBuffer data format may be different compared to when offload is not used, e.g. the ``buffer0/in_voltage0_type`` attribute.”h]”(hŒSBuffer data format may be different compared to when offload is not used, e.g. the ”…”�”}”(hj h²hh³Nh´Nubhè)�”}”(hŒ``buffer0/in_voltage0_type``”h]”hŒbuffer0/in_voltage0_type”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj ubhŒ attribute.”…”�”}”(hj h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Këhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j%hjm h²hh³hÇh´Nubeh}”(h]”h ]”h"]”h$]”h&]”jôjõuh1j h³hÇh´Kåhjýh²hubeh}”(h]”jKah ]”h"]”Œspi offload support”ah$]”h&]”uh1hÈhhÊh²hh³hÇh´KÚjPKubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒDevice buffers”h]”hŒDevice buffers”…”�”}”(hj@ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj= h²hh³hÇh´KïubhÞ)�”}”(hŒŠThis driver supports hardware triggered buffers. This uses the "advanced sequencer" feature of the chip to trigger a burst of conversions.”h]”hŒŽThis driver supports hardware triggered buffers. This uses the “advanced sequencerâ€� feature of the chip to trigger a burst of conversions.”…”�”}”(hjN h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Kñhj= h²hubhÞ)�”}”(hŒ8Also see :doc:`iio_devbuf` for more general information.”h]”(hŒ Also see ”…”�”}”(hj\ h²hh³Nh´Nubh)�”}”(hŒ:doc:`iio_devbuf`”h]”hŒinline”“”)�”}”(hjf h]”hŒ iio_devbuf”…”�”}”(hjj h²hh³Nh´Nubah}”(h]”h ]”(Œxref”Œstd”Œstd-doc”eh"]”h$]”h&]”uh1jh hjd ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”Œ iio/ad4695”Œ refdomain”ju Œreftype”Œdoc”Œ refexplicit”‰Œrefwarn”ˆŒ reftarget”Œ iio_devbuf”uh1hh³hÇh´Kôhj\ ubhŒ for more general information.”…”�”}”(hj\ h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Kôhj= h²hubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ(Effective sample rate for buffered reads”h]”hŒ(Effective sample rate for buffered reads”…”�”}”(hj– h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj“ h²hh³hÇh´K÷ubhÞ)�”}”(hŒ¿When SPI offload is not used, the sample rate is determined by the trigger that is manually configured in userspace. All enabled channels will be read in a burst when the trigger is received.”h]”hŒ¿When SPI offload is not used, the sample rate is determined by the trigger that is manually configured in userspace. All enabled channels will be read in a burst when the trigger is received.”…”�”}”(hj¤ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Kùhj“ h²hubhÞ)�”}”(hX~When SPI offload is used, the sample rate is configured per channel. All channels will have the same rate, so only one ``in_voltageY_sampling_frequency`` attribute needs to be set. Since this rate determines the delay between each individual conversion, the effective sample rate for each sample is actually the sum of the periods of each enabled channel in a buffered read. In other words, it is the value of the ``in_voltageY_sampling_frequency`` attribute divided by the number of enabled channels. So if 4 channels are enabled, with the ``in_voltageY_sampling_frequency`` attributes set to 1 MHz, the effective sample rate is 250 kHz.”h]”(hŒwWhen SPI offload is used, the sample rate is configured per channel. All channels will have the same rate, so only one ”…”�”}”(hj² h²hh³Nh´Nubhè)�”}”(hŒ"``in_voltageY_sampling_frequency``”h]”hŒin_voltageY_sampling_frequency”…”�”}”(hjº h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj² ubhX attribute needs to be set. Since this rate determines the delay between each individual conversion, the effective sample rate for each sample is actually the sum of the periods of each enabled channel in a buffered read. In other words, it is the value of the ”…”�”}”(hj² h²hh³Nh´Nubhè)�”}”(hŒ"``in_voltageY_sampling_frequency``”h]”hŒin_voltageY_sampling_frequency”…”�”}”(hjÌ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj² ubhŒ] attribute divided by the number of enabled channels. So if 4 channels are enabled, with the ”…”�”}”(hj² h²hh³Nh´Nubhè)�”}”(hŒ"``in_voltageY_sampling_frequency``”h]”hŒin_voltageY_sampling_frequency”…”�”}”(hjÞ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj² ubhŒ? attributes set to 1 MHz, the effective sample rate is 250 kHz.”…”�”}”(hj² h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Kýhj“ h²hubhÞ)�”}”(hXþWith oversampling enabled, the effective sample rate also depends on the OSR assigned to each channel. For example, if one of the 4 channels mentioned in the previous case is configured with an OSR of 4, the effective sample rate for that channel becomes (1 MHz / 4 ) = 250 kHz. The effective sample rate for all four channels is then 1 / ( (3 / 1 MHz) + ( 1 / 250 kHz) ) ~= 142.9 kHz. Note that in this case "sample" refers to one read of all enabled channels (i.e. one full cycle through the auto-sequencer).”h]”hXWith oversampling enabled, the effective sample rate also depends on the OSR assigned to each channel. For example, if one of the 4 channels mentioned in the previous case is configured with an OSR of 4, the effective sample rate for that channel becomes (1 MHz / 4 ) = 250 kHz. The effective sample rate for all four channels is then 1 / ( (3 / 1 MHz) + ( 1 / 250 kHz) ) ~= 142.9 kHz. Note that in this case “sampleâ€� refers to one read of all enabled channels (i.e. one full cycle through the auto-sequencer).”…”�”}”(hjö h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Mhj“ h²hubeh}”(h]”Œ(effective-sample-rate-for-buffered-reads”ah ]”h"]”Œ(effective sample rate for buffered reads”ah$]”h&]”uh1hÈhj= h²hh³hÇh´K÷ubeh}”(h]”Œdevice-buffers”ah ]”h"]”Œdevice buffers”ah$]”h&]”uh1hÈhhÊh²hh³hÇh´Kïubeh}”(h]”Œ ad4695-driver”ah ]”h"]”Œ ad4695 driver”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”}”(Œspi offload support”]”j;aŒaxi spi engine”]”j aŒspi offload wiring”]”jD auŒrefids”}”Œnameids”}”(j j jûjøjLjIj}jzj­jªjÞjÛjúj÷jfjcj™j–j^j[jšj—jÍjÊj¬j©j’j�j jjxjujÃjÀjrjojòjïj: jKj: j7 j j j j uŒ nametypes”}”(j ‰jû‰jLˆj}ˆj­ˆjÞˆjú‰jf‰j™‰j^‰jš‰j͉j¬‰j’‰j ‰jx‰jÉjr‰jò‰j: ‰j: ˆj ‰j ‰uh}”(j hÊjøjjIjCjzjtjªj¤jÛjÕj÷jþjcjj–j.j[jœj—jijÊjìj©jÐj�j¯jj�juj jÀj{jojÆjïjujKjýj7 j1 j 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.