Ysphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget/translations/zh_CN/iio/ad4000modnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget/translations/zh_TW/iio/ad4000modnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget/translations/it_IT/iio/ad4000modnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget/translations/ja_JP/iio/ad4000modnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget/translations/ko_KR/iio/ad4000modnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget/translations/sp_SP/iio/ad4000modnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhcomment)}(h%SPDX-License-Identifier: GPL-2.0-onlyh]h%SPDX-License-Identifier: GPL-2.0-only}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhh8/var/lib/git/docbuild/linux/Documentation/iio/ad4000.rsthKubhsection)}(hhh](htitle)}(h AD4000 driverh]h AD4000 driver}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh paragraph)}(hPDevice driver for Analog Devices Inc. AD4000 series of ADCs and similar devices.h]hPDevice driver for Analog Devices Inc. AD4000 series of ADCs and similar devices.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hhh](h)}(hSupported devicesh]hSupported devices}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhK ubh bullet_list)}(hhh](h list_item)}(h)`AD4000 `_h]h)}(hhh](h reference)}(hhh]hAD4000}(hhhhhNhNubah}(h]h ]h"]h$]h&]nameAD4000refurihttps://www.analog.com/AD4000uh1hhhubhtarget)}(h h]h}(h]ad4000ah ]h"]ad4000ah$]h&]refurij uh1j  referencedKhhubeh}(h]h ]h"]h$]h&]uh1hhhhK hhubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh)}(h)`AD4001 `_h]h)}(hj)h](h)}(hj)h]hAD4001}(hj.hhhNhNubah}(h]h ]h"]h$]h&]nameAD4001j https://www.analog.com/AD4001uh1hhj+ubj )}(h h]h}(h]ad4001ah ]h"]ad4001ah$]h&]refurij=uh1j jKhj+ubeh}(h]h ]h"]h$]h&]uh1hhhhK hj'ubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh)}(h)`AD4002 `_h]h)}(hjYh](h)}(hjYh]hAD4002}(hj^hhhNhNubah}(h]h ]h"]h$]h&]nameAD4002j https://www.analog.com/AD4002uh1hhj[ubj )}(h h]h}(h]ad4002ah ]h"]ad4002ah$]h&]refurijmuh1j jKhj[ubeh}(h]h ]h"]h$]h&]uh1hhhhKhjWubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh)}(h)`AD4003 `_h]h)}(hjh](h)}(hjh]hAD4003}(hjhhhNhNubah}(h]h ]h"]h$]h&]nameAD4003j https://www.analog.com/AD4003uh1hhjubj )}(h h]h}(h]ad4003ah ]h"]ad4003ah$]h&]refurijuh1j jKhjubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh)}(h)`AD4004 `_h]h)}(hjh](h)}(hjh]hAD4004}(hjhhhNhNubah}(h]h ]h"]h$]h&]nameAD4004j https://www.analog.com/AD4004uh1hhjubj )}(h h]h}(h]ad4004ah ]h"]ad4004ah$]h&]refurijuh1j jKhjubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh)}(h)`AD4005 `_h]h)}(hjh](h)}(hjh]hAD4005}(hjhhhNhNubah}(h]h ]h"]h$]h&]nameAD4005j https://www.analog.com/AD4005uh1hhjubj )}(h h]h}(h]ad4005ah ]h"]ad4005ah$]h&]refurijuh1j jKhjubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh)}(h)`AD4006 `_h]h)}(hjh](h)}(hjh]hAD4006}(hjhhhNhNubah}(h]h ]h"]h$]h&]nameAD4006j https://www.analog.com/AD4006uh1hhjubj )}(h h]h}(h]ad4006ah ]h"]ad4006ah$]h&]refurij-uh1j jKhjubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh)}(h)`AD4007 `_h]h)}(hjIh](h)}(hjIh]hAD4007}(hjNhhhNhNubah}(h]h ]h"]h$]h&]nameAD4007j https://www.analog.com/AD4007uh1hhjKubj )}(h h]h}(h]ad4007ah ]h"]ad4007ah$]h&]refurij]uh1j jKhjKubeh}(h]h ]h"]h$]h&]uh1hhhhKhjGubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh)}(h)`AD4008 `_h]h)}(hjyh](h)}(hjyh]hAD4008}(hj~hhhNhNubah}(h]h ]h"]h$]h&]nameAD4008j https://www.analog.com/AD4008uh1hhj{ubj )}(h h]h}(h]ad4008ah ]h"]ad4008ah$]h&]refurijuh1j jKhj{ubeh}(h]h ]h"]h$]h&]uh1hhhhKhjwubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh)}(h)`AD4010 `_h]h)}(hjh](h)}(hjh]hAD4010}(hjhhhNhNubah}(h]h ]h"]h$]h&]nameAD4010j https://www.analog.com/AD4010uh1hhjubj )}(h h]h}(h]ad4010ah ]h"]ad4010ah$]h&]refurijuh1j jKhjubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh)}(h)`AD4011 `_h]h)}(hjh](h)}(hjh]hAD4011}(hjhhhNhNubah}(h]h ]h"]h$]h&]nameAD4011j https://www.analog.com/AD4011uh1hhjubj )}(h h]h}(h]ad4011ah ]h"]ad4011ah$]h&]refurijuh1j jKhjubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh)}(h)`AD4020 `_h]h)}(hj h](h)}(hj h]hAD4020}(hjhhhNhNubah}(h]h ]h"]h$]h&]nameAD4020j https://www.analog.com/AD4020uh1hhj ubj )}(h h]h}(h]ad4020ah ]h"]ad4020ah$]h&]refurijuh1j jKhj ubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh)}(h)`AD4021 `_h]h)}(hj9h](h)}(hj9h]hAD4021}(hj>hhhNhNubah}(h]h ]h"]h$]h&]nameAD4021j https://www.analog.com/AD4021uh1hhj;ubj )}(h h]h}(h]ad4021ah ]h"]ad4021ah$]h&]refurijMuh1j jKhj;ubeh}(h]h ]h"]h$]h&]uh1hhhhKhj7ubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh)}(h)`AD4022 `_h]h)}(hjih](h)}(hjih]hAD4022}(hjnhhhNhNubah}(h]h ]h"]h$]h&]nameAD4022j https://www.analog.com/AD4022uh1hhjkubj )}(h h]h}(h]ad4022ah ]h"]ad4022ah$]h&]refurij}uh1j jKhjkubeh}(h]h ]h"]h$]h&]uh1hhhhKhjgubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh)}(h-`ADAQ4001 `_h]h)}(hjh](h)}(hjh]hADAQ4001}(hjhhhNhNubah}(h]h ]h"]h$]h&]nameADAQ4001j https://www.analog.com/ADAQ4001uh1hhjubj )}(h" h]h}(h]adaq4001ah ]h"]adaq4001ah$]h&]refurijuh1j jKhjubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh)}(h-`ADAQ4003 `_h]h)}(hjh](h)}(hjh]hADAQ4003}(hjhhhNhNubah}(h]h ]h"]h$]h&]nameADAQ4003j https://www.analog.com/ADAQ4003uh1hhjubj )}(h" h]h}(h]adaq4003ah ]h"]adaq4003ah$]h&]refurijuh1j jKhjubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh)}(h)`AD7685 `_h]h)}(hjh](h)}(hjh]hAD7685}(hjhhhNhNubah}(h]h ]h"]h$]h&]nameAD7685j https://www.analog.com/AD7685uh1hhjubj )}(h h]h}(h]ad7685ah ]h"]ad7685ah$]h&]refurij uh1j jKhjubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh)}(h)`AD7686 `_h]h)}(hj)h](h)}(hj)h]hAD7686}(hj.hhhNhNubah}(h]h ]h"]h$]h&]nameAD7686j https://www.analog.com/AD7686uh1hhj+ubj )}(h h]h}(h]ad7686ah ]h"]ad7686ah$]h&]refurij=uh1j jKhj+ubeh}(h]h ]h"]h$]h&]uh1hhhhKhj'ubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh)}(h)`AD7687 `_h]h)}(hjYh](h)}(hjYh]hAD7687}(hj^hhhNhNubah}(h]h ]h"]h$]h&]nameAD7687j https://www.analog.com/AD7687uh1hhj[ubj )}(h h]h}(h]ad7687ah ]h"]ad7687ah$]h&]refurijmuh1j jKhj[ubeh}(h]h ]h"]h$]h&]uh1hhhhKhjWubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh)}(h)`AD7688 `_h]h)}(hjh](h)}(hjh]hAD7688}(hjhhhNhNubah}(h]h ]h"]h$]h&]nameAD7688j https://www.analog.com/AD7688uh1hhjubj )}(h h]h}(h]ad7688ah ]h"]ad7688ah$]h&]refurijuh1j jKhjubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh)}(h)`AD7690 `_h]h)}(hjh](h)}(hjh]hAD7690}(hjhhhNhNubah}(h]h ]h"]h$]h&]nameAD7690j https://www.analog.com/AD7690uh1hhjubj )}(h h]h}(h]ad7690ah ]h"]ad7690ah$]h&]refurijuh1j jKhjubeh}(h]h ]h"]h$]h&]uh1hhhhK hjubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh)}(h)`AD7691 `_h]h)}(hjh](h)}(hjh]hAD7691}(hjhhhNhNubah}(h]h ]h"]h$]h&]nameAD7691j https://www.analog.com/AD7691uh1hhjubj )}(h h]h}(h]ad7691ah ]h"]ad7691ah$]h&]refurijuh1j jKhjubeh}(h]h ]h"]h$]h&]uh1hhhhK!hjubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh)}(h)`AD7693 `_h]h)}(hjh](h)}(hjh]hAD7693}(hjhhhNhNubah}(h]h ]h"]h$]h&]nameAD7693j https://www.analog.com/AD7693uh1hhjubj )}(h h]h}(h]ad7693ah ]h"]ad7693ah$]h&]refurij-uh1j jKhjubeh}(h]h ]h"]h$]h&]uh1hhhhK"hjubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh)}(h)`AD7942 `_h]h)}(hjIh](h)}(hjIh]hAD7942}(hjNhhhNhNubah}(h]h ]h"]h$]h&]nameAD7942j https://www.analog.com/AD7942uh1hhjKubj )}(h h]h}(h]ad7942ah ]h"]ad7942ah$]h&]refurij]uh1j jKhjKubeh}(h]h ]h"]h$]h&]uh1hhhhK#hjGubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh)}(h)`AD7946 `_h]h)}(hjyh](h)}(hjyh]hAD7946}(hj~hhhNhNubah}(h]h ]h"]h$]h&]nameAD7946j https://www.analog.com/AD7946uh1hhj{ubj )}(h h]h}(h]ad7946ah ]h"]ad7946ah$]h&]refurijuh1j jKhj{ubeh}(h]h ]h"]h$]h&]uh1hhhhK$hjwubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh)}(h)`AD7980 `_h]h)}(hjh](h)}(hjh]hAD7980}(hjhhhNhNubah}(h]h ]h"]h$]h&]nameAD7980j https://www.analog.com/AD7980uh1hhjubj )}(h h]h}(h]ad7980ah ]h"]ad7980ah$]h&]refurijuh1j jKhjubeh}(h]h ]h"]h$]h&]uh1hhhhK%hjubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh)}(h)`AD7982 `_h]h)}(hjh](h)}(hjh]hAD7982}(hjhhhNhNubah}(h]h ]h"]h$]h&]nameAD7982j https://www.analog.com/AD7982uh1hhjubj )}(h h]h}(h]ad7982ah ]h"]ad7982ah$]h&]refurijuh1j jKhjubeh}(h]h ]h"]h$]h&]uh1hhhhK&hjubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh)}(h)`AD7983 `_h]h)}(hj h](h)}(hj h]hAD7983}(hjhhhNhNubah}(h]h ]h"]h$]h&]nameAD7983j https://www.analog.com/AD7983uh1hhj ubj )}(h h]h}(h]ad7983ah ]h"]ad7983ah$]h&]refurijuh1j jKhj ubeh}(h]h ]h"]h$]h&]uh1hhhhK'hjubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh)}(h)`AD7984 `_h]h)}(hj9h](h)}(hj9h]hAD7984}(hj>hhhNhNubah}(h]h ]h"]h$]h&]nameAD7984j https://www.analog.com/AD7984uh1hhj;ubj )}(h h]h}(h]ad7984ah ]h"]ad7984ah$]h&]refurijMuh1j jKhj;ubeh}(h]h ]h"]h$]h&]uh1hhhhK(hj7ubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh)}(h-`AD7988-1 `_h]h)}(hjih](h)}(hjih]hAD7988-1}(hjnhhhNhNubah}(h]h ]h"]h$]h&]nameAD7988-1j https://www.analog.com/AD7988-1uh1hhjkubj )}(h" h]h}(h]ad7988-1ah ]h"]ad7988-1ah$]h&]refurij}uh1j jKhjkubeh}(h]h ]h"]h$]h&]uh1hhhhK)hjgubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh)}(h.`AD7988-5 `_ h]h)}(h-`AD7988-5 `_h](h)}(hjh]hAD7988-5}(hjhhhNhNubah}(h]h ]h"]h$]h&]nameAD7988-5j https://www.analog.com/AD7988-5uh1hhjubj )}(h" h]h}(h]ad7988-5ah ]h"]ad7988-5ah$]h&]refurijuh1j jKhjubeh}(h]h ]h"]h$]h&]uh1hhhhK*hjubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubeh}(h]h ]h"]h$]h&]bullet*uh1hhhhK hhhhubh)}(hhh](h)}(hWiring connectionsh]hWiring connections}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK-ubh)}(hbDevices of the AD4000 series can be connected to the SPI host controller in a few different modes.h]hbDevices of the AD4000 series can be connected to the SPI host controller in a few different modes.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK/hjhhubh)}(hhh](h)}(hCS mode, 3-wire turbo modeh]hCS mode, 3-wire turbo mode}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK3ubh)}(hX/Datasheet "3-wire" mode is what most resembles standard SPI connection which, for these devices, comprises of connecting the controller CS line to device CNV pin and other SPI lines as usual. This configuration is (misleadingly) called "CS Mode, 3-Wire Turbo Mode" connection in datasheets. NOTE: The datasheet definition of 3-wire mode for the AD4000 series is NOT the same of standard spi-3wire mode. This is the only connection mode that allows configuration register access but it requires the SPI controller to support the ``SPI_MOSI_IDLE_HIGH`` feature.h](hXDatasheet “3-wire” mode is what most resembles standard SPI connection which, for these devices, comprises of connecting the controller CS line to device CNV pin and other SPI lines as usual. This configuration is (misleadingly) called “CS Mode, 3-Wire Turbo Mode” connection in datasheets. NOTE: The datasheet definition of 3-wire mode for the AD4000 series is NOT the same of standard spi-3wire mode. This is the only connection mode that allows configuration register access but it requires the SPI controller to support the }(hjhhhNhNubhliteral)}(h``SPI_MOSI_IDLE_HIGH``h]hSPI_MOSI_IDLE_HIGH}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh feature.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK5hjhhubh)}(hEOmit the ``adi,sdi-pin`` property in device tree to select this mode.h](h Omit the }(hj"hhhNhNubj )}(h``adi,sdi-pin``h]h adi,sdi-pin}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj"ubh- property in device tree to select this mode.}(hj"hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK>hjhhubh literal_block)}(hX +-------------+ + ----------------------------------| SDO | | | | | +-------------------| CS | | v | | | +--------------------+ | HOST | | | CNV | | | +--->| SDI AD4000 SDO |-------->| SDI | | SCK | | | +--------------------+ | | ^ | | +--------------------| SCLK | +-------------+h]hX +-------------+ + ----------------------------------| SDO | | | | | +-------------------| CS | | v | | | +--------------------+ | HOST | | | CNV | | | +--->| SDI AD4000 SDO |-------->| SDI | | SCK | | | +--------------------+ | | ^ | | +--------------------| SCLK | +-------------+}hjDsbah}(h]h ]h"]h$]h&]hhuh1jBhhhKBhjhhubeh}(h]cs-mode-3-wire-turbo-modeah ]h"]cs mode, 3-wire turbo modeah$]h&]uh1hhjhhhhhK3ubh)}(hhh](h)}(h'CS mode, 3-wire, without busy indicatorh]h'CS mode, 3-wire, without busy indicator}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjZhhhhhKQubh)}(hX>Another wiring configuration supported as "3-wire" mode has the SDI pin hard-wired to digital input/output interface supply (VIO). In this setup, the controller is not required to support ``SPI_MOSI_IDLE_HIGH`` but register access is not possible. This connection mode saves one wire and works with any SPI controller.h](hAnother wiring configuration supported as “3-wire” mode has the SDI pin hard-wired to digital input/output interface supply (VIO). In this setup, the controller is not required to support }(hjkhhhNhNubj )}(h``SPI_MOSI_IDLE_HIGH``h]hSPI_MOSI_IDLE_HIGH}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1jhjkubhl but register access is not possible. This connection mode saves one wire and works with any SPI controller.}(hjkhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKShjZhhubh)}(hOSet the ``adi,sdi-pin`` device tree property to ``"high"`` to select this mode.h](hSet the }(hjhhhNhNubj )}(h``adi,sdi-pin``h]h adi,sdi-pin}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh device tree property to }(hjhhhNhNubj )}(h ``"high"``h]h"high"}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh to select this mode.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKYhjZhhubjC)}(hXF +-------------+ +--------------------| CS | v | | VIO +--------------------+ | HOST | | | CNV | | | +--->| SDI AD4000 SDO |-------->| SDI | | SCK | | | +--------------------+ | | ^ | | +--------------------| SCLK | +-------------+h]hXF +-------------+ +--------------------| CS | v | | VIO +--------------------+ | HOST | | | CNV | | | +--->| SDI AD4000 SDO |-------->| SDI | | SCK | | | +--------------------+ | | ^ | | +--------------------| SCLK | +-------------+}hjsbah}(h]h ]h"]h$]h&]hhuh1jBhhhK]hjZhhubh)}(hAlternatively, a GPIO may be connected to the device CNV pin. This is similar to the previous wiring configuration but saves the use of a CS line.h]hAlternatively, a GPIO may be connected to the device CNV pin. This is similar to the previous wiring configuration but saves the use of a CS line.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKihjZhhubjC)}(hXF +-------------+ +--------------------| GPIO | v | | VIO +--------------------+ | HOST | | | CNV | | | +--->| SDI AD4000 SDO |-------->| SDI | | SCK | | | +--------------------+ | | ^ | | +--------------------| SCLK | +-------------+h]hXF +-------------+ +--------------------| GPIO | v | | VIO +--------------------+ | HOST | | | CNV | | | +--->| SDI AD4000 SDO |-------->| SDI | | SCK | | | +--------------------+ | | ^ | | +--------------------| SCLK | +-------------+}hjsbah}(h]h ]h"]h$]h&]hhuh1jBhhhKnhjZhhubeh}(h]%cs-mode-3-wire-without-busy-indicatorah ]h"]'cs mode, 3-wire, without busy indicatorah$]h&]uh1hhjhhhhhKQubh)}(hhh](h)}(h&CS mode, 4-wire without busy indicatorh]h&CS mode, 4-wire without busy indicator}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK{ubh)}(hIn datasheet "4-wire" mode, the controller CS line is connected to the ADC SDI pin and a GPIO is connected to the ADC CNV pin. This connection mode may better suit scenarios where multiple ADCs can share one CNV trigger.h]hIn datasheet “4-wire” mode, the controller CS line is connected to the ADC SDI pin and a GPIO is connected to the ADC CNV pin. This connection mode may better suit scenarios where multiple ADCs can share one CNV trigger.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK}hjhhubh)}(h4Set ``adi,sdi-pin`` to ``"cs"`` to select this mode.h](hSet }(hjhhhNhNubj )}(h``adi,sdi-pin``h]h adi,sdi-pin}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh to }(hjhhhNhNubj )}(h``"cs"``h]h"cs"}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh to select this mode.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubjC)}(hX +-------------+ + ----------------------------------| CS | | | | | +-------------------| GPIO | | v | | | +--------------------+ | HOST | | | CNV | | | +--->| SDI AD4000 SDO |-------->| SDI | | SCK | | | +--------------------+ | | ^ | | +--------------------| SCLK | +-------------+h]hX +-------------+ + ----------------------------------| CS | | | | | +-------------------| GPIO | | v | | | +--------------------+ | HOST | | | CNV | | | +--->| SDI AD4000 SDO |-------->| SDI | | SCK | | | +--------------------+ | | ^ | | +--------------------| SCLK | +-------------+}hj@sbah}(h]h ]h"]h$]h&]hhuh1jBhhhKhjhhubeh}(h]%cs-mode-4-wire-without-busy-indicatorah ]h"]&cs mode, 4-wire without busy indicatorah$]h&]uh1hhjhhhhhK{ubeh}(h]wiring-connectionsah ]h"]wiring connectionsah$]h&]uh1hhhhhhhhK-ubeh}(h]supported-devicesah ]h"]supported devicesah$]h&]uh1hhhhhhhhK ubh)}(hhh](h)}(hIIO Device characteristicsh]hIIO Device characteristics}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhjfhhhhhKubh)}(hLThe AD4000 series driver supports differential and pseudo-differential ADCs.h]hLThe AD4000 series driver supports differential and pseudo-differential ADCs.}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjfhhubh)}(hXThe span compression feature available in AD4000 series devices can be enabled/disabled by changing the ``_scale_available`` attribute of the voltage channel. Note that span compression configuration requires writing to AD4000 configuration register, which is only possible when the ADC is wired in 3-wire turbo mode, and the SPI controller is ``SPI_MOSI_IDLE_HIGH`` capable. If those conditions are not met, no ``_scale_available`` attribute is provided.h](hhThe span compression feature available in AD4000 series devices can be enabled/disabled by changing the }(hjhhhNhNubj )}(h``_scale_available``h]h_scale_available}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh attribute of the voltage channel. Note that span compression configuration requires writing to AD4000 configuration register, which is only possible when the ADC is wired in 3-wire turbo mode, and the SPI controller is }(hjhhhNhNubj )}(h``SPI_MOSI_IDLE_HIGH``h]hSPI_MOSI_IDLE_HIGH}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh. capable. If those conditions are not met, no }(hjhhhNhNubj )}(h``_scale_available``h]h_scale_available}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh attribute is provided.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjfhhubh)}(hpBesides that, differential and pseudo-differential voltage channels present slightly different sysfs interfaces.h]hpBesides that, differential and pseudo-differential voltage channels present slightly different sysfs interfaces.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjfhhubh)}(hhh](h)}(hPseudo-differential ADCsh]hPseudo-differential ADCs}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubh)}(hQTypical voltage channel attributes of a pseudo-differential AD4000 series device:h]hQTypical voltage channel attributes of a pseudo-differential AD4000 series device:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubhtable)}(hhh]htgroup)}(hhh](hcolspec)}(hhh]h}(h]h ]h"]h$]h&]colwidthK+uh1j hjubj )}(hhh]h}(h]h ]h"]h$]h&]colwidthK*uh1j hjubhthead)}(hhh]hrow)}(hhh](hentry)}(hhh]h)}(hVoltage Channel Attributesh]hVoltage Channel Attributes}(hj% hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj" ubah}(h]h ]h"]h$]h&]uh1j hj ubj! )}(hhh]h)}(h Descriptionh]h Description}(hj< hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj9 ubah}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j hjubhtbody)}(hhh](j )}(hhh](j! )}(hhh]h)}(h``in_voltage0_raw``h]j )}(hji h]hin_voltage0_raw}(hjk hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjg ubah}(h]h ]h"]h$]h&]uh1hhhhKhjd ubah}(h]h ]h"]h$]h&]uh1j hja ubj! )}(hhh]h)}(hRaw ADC output code.h]hRaw ADC output code.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j hja ubeh}(h]h ]h"]h$]h&]uh1j hj^ ubj )}(hhh](j! )}(hhh]h)}(h``in_voltage0_offset``h]j )}(hj h]hin_voltage0_offset}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j hj ubj! )}(hhh]h)}(h"Offset to convert raw value to mV.h]h"Offset to convert raw value to mV.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]uh1j hj^ ubj )}(hhh](j! )}(hhh]h)}(h``in_voltage0_scale``h]j )}(hj h]hin_voltage0_scale}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j hj ubj! )}(hhh]h)}(h(Scale factor to convert raw value to mV.h]h(Scale factor to convert raw value to mV.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]uh1j hj^ ubj )}(hhh](j! )}(hhh]h)}(h``in_voltage0_scale_available``h]j )}(hj) h]hin_voltage0_scale_available}(hj+ hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj' ubah}(h]h ]h"]h$]h&]uh1hhhhKhj$ ubah}(h]h ]h"]h$]h&]uh1j hj! ubj! )}(hhh]h)}(hToggles input span compressionh]hToggles input span compression}(hjG hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjD ubah}(h]h ]h"]h$]h&]uh1j hj! ubeh}(h]h ]h"]h$]h&]uh1j hj^ ubeh}(h]h ]h"]h$]h&]uh1j\ hjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubeh}(h]pseudo-differential-adcsah ]h"]pseudo-differential adcsah$]h&]uh1hhjfhhhhhKubh)}(hhh](h)}(hDifferential ADCsh]hDifferential ADCs}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj| hhhhhKubh)}(hJTypical voltage channel attributes of a differential AD4000 series device:h]hJTypical voltage channel attributes of a differential AD4000 series device:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj| hhubj)}(hhh]j)}(hhh](j )}(hhh]h}(h]h ]h"]h$]h&]colwidthK+uh1j hj ubj )}(hhh]h}(h]h ]h"]h$]h&]colwidthK*uh1j hj ubj )}(hhh]j )}(hhh](j! )}(hhh]h)}(hVoltage Channel Attributesh]hVoltage Channel Attributes}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j hj ubj! )}(hhh]h)}(h Descriptionh]h Description}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j hj ubj] )}(hhh](j )}(hhh](j! )}(hhh]h)}(h``in_voltage0-voltage1_raw``h]j )}(hj h]hin_voltage0-voltage1_raw}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j hj ubj! )}(hhh]h)}(hRaw ADC output code.h]hRaw ADC output code.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh](j! )}(hhh]h)}(h``in_voltage0-voltage1_scale``h]j )}(hj@ h]hin_voltage0-voltage1_scale}(hjB hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj> ubah}(h]h ]h"]h$]h&]uh1hhhhKhj; ubah}(h]h ]h"]h$]h&]uh1j hj8 ubj! )}(hhh]h)}(h(Scale factor to convert raw value to mV.h]h(Scale factor to convert raw value to mV.}(hj^ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj[ ubah}(h]h ]h"]h$]h&]uh1j hj8 ubeh}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh](j! )}(hhh]h)}(h(``in_voltage0-voltage1_scale_available``h]j )}(hj h]h$in_voltage0-voltage1_scale_available}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj~ ubah}(h]h ]h"]h$]h&]uh1hhhhKhj{ ubah}(h]h ]h"]h$]h&]uh1j hjx ubj! )}(hhh]h)}(hToggles input span compressionh]hToggles input span compression}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j hjx ubeh}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]uh1j\ hj ubeh}(h]h ]h"]h$]h&]colsKuh1jhj ubah}(h]h ]h"]h$]h&]uh1jhj| hhhhhNubeh}(h]differential-adcsah ]h"]differential adcsah$]h&]uh1hhjfhhhhhKubh)}(hhh](h)}(hSPI offload supporth]hSPI offload support}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhhhKubh)}(hTo be able to achieve the maximum sample rate, the driver can be used with SPI offload engines such as the one usually present in `AXI SPI Engine`_, to provide SPI offload support.h](hTo be able to achieve the maximum sample rate, the driver can be used with SPI offload engines such as the one usually present in }(hj hhhNhNubh)}(h`AXI SPI Engine`_h]hAXI SPI Engine}(hj hhhNhNubah}(h]h ]h"]h$]h&]nameAXI SPI Enginej Dhttp://analogdevicesinc.github.io/hdl/projects/pulsar_adc/index.htmluh1hhj resolvedKubh!, to provide SPI offload support.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj hhubj )}(hX.. _AXI SPI Engine: http://analogdevicesinc.github.io/hdl/projects/pulsar_adc/index.htmlh]h}(h]axi-spi-engineah ]h"]axi spi engineah$]h&]j j uh1j hKhj hhhhjKubh)}(hTo keep up with SPI offloading transfer speeds, the ADC must be connected either in 3-wire turbo mode or in 3-wire without busy indicator mode and have SPI controller CS line connected to the CNV pin.h]hTo keep up with SPI offloading transfer speeds, the ADC must be connected either in 3-wire turbo mode or in 3-wire without busy indicator mode and have SPI controller CS line connected to the CNV pin.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj hhubh)}(hSWhen set for SPI offload support, the IIO device will provide different interfaces.h]hSWhen set for SPI offload support, the IIO device will provide different interfaces.}(hj" hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj hhubh)}(hhh](h)}(hEither ``in_voltage0_sampling_frequency`` or ``in_voltage0-voltage1_sampling_frequency`` file is provided to allow setting the sample rate.h]h)}(hEither ``in_voltage0_sampling_frequency`` or ``in_voltage0-voltage1_sampling_frequency`` file is provided to allow setting the sample rate.h](hEither }(hj7 hhhNhNubj )}(h"``in_voltage0_sampling_frequency``h]hin_voltage0_sampling_frequency}(hj? hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj7 ubh or }(hj7 hhhNhNubj )}(h+``in_voltage0-voltage1_sampling_frequency``h]h'in_voltage0-voltage1_sampling_frequency}(hjQ hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj7 ubh3 file is provided to allow setting the sample rate.}(hj7 hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj3 ubah}(h]h ]h"]h$]h&]uh1hhj0 hhhhhNubh)}(h>IIO trigger device is not provided (no ``trigger`` directory).h]h)}(hjq h](h'IIO trigger device is not provided (no }(hjs hhhNhNubj )}(h ``trigger``h]htrigger}(hjz hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjs ubh directory).}(hjs hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjo ubah}(h]h ]h"]h$]h&]uh1hhj0 hhhhhNubh)}(h'``timestamp`` channel is not provided. h]h)}(h&``timestamp`` channel is not provided.h](j )}(h ``timestamp``h]h timestamp}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh channel is not provided.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1hhj0 hhhhhNubeh}(h]h ]h"]h$]h&]jjuh1hhhhKhj hhubh)}(hXAlso, because the ADC output has a one sample latency (delay) when the device is wired in "3-wire" mode and only one transfer per sample is done when using SPI offloading, the first data sample in the buffer is not valid because it contains the output of an earlier conversion result.h]hX Also, because the ADC output has a one sample latency (delay) when the device is wired in “3-wire” mode and only one transfer per sample is done when using SPI offloading, the first data sample in the buffer is not valid because it contains the output of an earlier conversion result.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj hhubeh}(h]spi-offload-supportah ]h"]spi offload supportah$]h&]uh1hhjfhhhhhKubeh}(h]iio-device-characteristicsah ]h"]iio device characteristicsah$]h&]uh1hhhhhhhhKubeh}(h] ad4000-driverah ]h"] ad4000 driverah$]h&]uh1hhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksj footnote_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_handlerj error_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh _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}substitution_names}refnames}axi spi engine]j asrefids}nameids}(j j jcj`jjjGjDjwjtjjjjjjj7j4jgjdjjjjjjj'j$jWjTjjjjjjjjjGjDjwjtjjjjjjj7j4jgjdjjjjjjj'j$jWjTjjjjj[jXjWjTjjjSjPj j jy jv j j j j j j u nametypes}(j jcjjGjwjjjj7jgjjjj'jWjjjjjGjwjjjj7jgjjjj'jWjjj[jWjjSj jy j j j uh}(j hj`hjj jDj>jtjnjjjjjjj4j.jdj^jjjjjjj$jjTjNjj~jjjjjjjDj>jtjnjjjjjjj4j.jdj^jjjjjjj$jjTjNjj~jjjXjjTjjjZjPjj jfjv jj j| j j j j u footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages]transform_messages] transformerN include_log] decorationNhhub.