sphinx.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]hPortuguese (Brazilian)}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget/translations/pt_BR/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)}(hjh](h reference)}(hjh]hAD4000}(hjhhhNhNubah}(h]h ]h"]h$]h&]nameAD4000refurihttps://www.analog.com/AD4000uh1j hj ubhtarget)}(h h]h}(h]ad4000ah ]h"]ad4000ah$]h&]refurijuh1j referencedKhj ubeh}(h]h ]h"]h$]h&]uh1hhhhK hjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h)`AD4001 `_h]h)}(hj=h](j )}(hj=h]hAD4001}(hjBhhhNhNubah}(h]h ]h"]h$]h&]nameAD4001jhttps://www.analog.com/AD4001uh1j hj?ubj )}(h h]h}(h]ad4001ah ]h"]ad4001ah$]h&]refurijQuh1jj.Khj?ubeh}(h]h ]h"]h$]h&]uh1hhhhK hj;ubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h)`AD4002 `_h]h)}(hjmh](j )}(hjmh]hAD4002}(hjrhhhNhNubah}(h]h ]h"]h$]h&]nameAD4002jhttps://www.analog.com/AD4002uh1j hjoubj )}(h h]h}(h]ad4002ah ]h"]ad4002ah$]h&]refurijuh1jj.Khjoubeh}(h]h ]h"]h$]h&]uh1hhhhKhjkubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h)`AD4003 `_h]h)}(hjh](j )}(hjh]hAD4003}(hjhhhNhNubah}(h]h ]h"]h$]h&]nameAD4003jhttps://www.analog.com/AD4003uh1j hjubj )}(h h]h}(h]ad4003ah ]h"]ad4003ah$]h&]refurijuh1jj.Khjubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h)`AD4004 `_h]h)}(hjh](j )}(hjh]hAD4004}(hjhhhNhNubah}(h]h ]h"]h$]h&]nameAD4004jhttps://www.analog.com/AD4004uh1j hjubj )}(h h]h}(h]ad4004ah ]h"]ad4004ah$]h&]refurijuh1jj.Khjubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h)`AD4005 `_h]h)}(hjh](j )}(hjh]hAD4005}(hjhhhNhNubah}(h]h ]h"]h$]h&]nameAD4005jhttps://www.analog.com/AD4005uh1j hjubj )}(h h]h}(h]ad4005ah ]h"]ad4005ah$]h&]refurijuh1jj.Khjubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h)`AD4006 `_h]h)}(hj-h](j )}(hj-h]hAD4006}(hj2hhhNhNubah}(h]h ]h"]h$]h&]nameAD4006jhttps://www.analog.com/AD4006uh1j hj/ubj )}(h h]h}(h]ad4006ah ]h"]ad4006ah$]h&]refurijAuh1jj.Khj/ubeh}(h]h ]h"]h$]h&]uh1hhhhKhj+ubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h)`AD4007 `_h]h)}(hj]h](j )}(hj]h]hAD4007}(hjbhhhNhNubah}(h]h ]h"]h$]h&]nameAD4007jhttps://www.analog.com/AD4007uh1j hj_ubj )}(h h]h}(h]ad4007ah ]h"]ad4007ah$]h&]refurijquh1jj.Khj_ubeh}(h]h ]h"]h$]h&]uh1hhhhKhj[ubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h)`AD4008 `_h]h)}(hjh](j )}(hjh]hAD4008}(hjhhhNhNubah}(h]h ]h"]h$]h&]nameAD4008jhttps://www.analog.com/AD4008uh1j hjubj )}(h h]h}(h]ad4008ah ]h"]ad4008ah$]h&]refurijuh1jj.Khjubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h)`AD4010 `_h]h)}(hjh](j )}(hjh]hAD4010}(hjhhhNhNubah}(h]h ]h"]h$]h&]nameAD4010jhttps://www.analog.com/AD4010uh1j hjubj )}(h h]h}(h]ad4010ah ]h"]ad4010ah$]h&]refurijuh1jj.Khjubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h)`AD4011 `_h]h)}(hjh](j )}(hjh]hAD4011}(hjhhhNhNubah}(h]h ]h"]h$]h&]nameAD4011jhttps://www.analog.com/AD4011uh1j hjubj )}(h h]h}(h]ad4011ah ]h"]ad4011ah$]h&]refurijuh1jj.Khjubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h)`AD4020 `_h]h)}(hjh](j )}(hjh]hAD4020}(hj"hhhNhNubah}(h]h ]h"]h$]h&]nameAD4020jhttps://www.analog.com/AD4020uh1j hjubj )}(h h]h}(h]ad4020ah ]h"]ad4020ah$]h&]refurij1uh1jj.Khjubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h)`AD4021 `_h]h)}(hjMh](j )}(hjMh]hAD4021}(hjRhhhNhNubah}(h]h ]h"]h$]h&]nameAD4021jhttps://www.analog.com/AD4021uh1j hjOubj )}(h h]h}(h]ad4021ah ]h"]ad4021ah$]h&]refurijauh1jj.KhjOubeh}(h]h ]h"]h$]h&]uh1hhhhKhjKubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h)`AD4022 `_h]h)}(hj}h](j )}(hj}h]hAD4022}(hjhhhNhNubah}(h]h ]h"]h$]h&]nameAD4022jhttps://www.analog.com/AD4022uh1j hjubj )}(h h]h}(h]ad4022ah ]h"]ad4022ah$]h&]refurijuh1jj.Khjubeh}(h]h ]h"]h$]h&]uh1hhhhKhj{ubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h-`ADAQ4001 `_h]h)}(hjh](j )}(hjh]hADAQ4001}(hjhhhNhNubah}(h]h ]h"]h$]h&]nameADAQ4001jhttps://www.analog.com/ADAQ4001uh1j hjubj )}(h" h]h}(h]adaq4001ah ]h"]adaq4001ah$]h&]refurijuh1jj.Khjubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h-`ADAQ4003 `_h]h)}(hjh](j )}(hjh]hADAQ4003}(hjhhhNhNubah}(h]h ]h"]h$]h&]nameADAQ4003jhttps://www.analog.com/ADAQ4003uh1j hjubj )}(h" h]h}(h]adaq4003ah ]h"]adaq4003ah$]h&]refurijuh1jj.Khjubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h)`AD7685 `_h]h)}(hj h](j )}(hj h]hAD7685}(hjhhhNhNubah}(h]h ]h"]h$]h&]nameAD7685jhttps://www.analog.com/AD7685uh1j hjubj )}(h h]h}(h]ad7685ah ]h"]ad7685ah$]h&]refurij!uh1jj.Khjubeh}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h)`AD7686 `_h]h)}(hj=h](j )}(hj=h]hAD7686}(hjBhhhNhNubah}(h]h ]h"]h$]h&]nameAD7686jhttps://www.analog.com/AD7686uh1j hj?ubj )}(h h]h}(h]ad7686ah ]h"]ad7686ah$]h&]refurijQuh1jj.Khj?ubeh}(h]h ]h"]h$]h&]uh1hhhhKhj;ubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h)`AD7687 `_h]h)}(hjmh](j )}(hjmh]hAD7687}(hjrhhhNhNubah}(h]h ]h"]h$]h&]nameAD7687jhttps://www.analog.com/AD7687uh1j hjoubj )}(h h]h}(h]ad7687ah ]h"]ad7687ah$]h&]refurijuh1jj.Khjoubeh}(h]h ]h"]h$]h&]uh1hhhhKhjkubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h)`AD7688 `_h]h)}(hjh](j )}(hjh]hAD7688}(hjhhhNhNubah}(h]h ]h"]h$]h&]nameAD7688jhttps://www.analog.com/AD7688uh1j hjubj )}(h h]h}(h]ad7688ah ]h"]ad7688ah$]h&]refurijuh1jj.Khjubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h)`AD7690 `_h]h)}(hjh](j )}(hjh]hAD7690}(hjhhhNhNubah}(h]h ]h"]h$]h&]nameAD7690jhttps://www.analog.com/AD7690uh1j hjubj )}(h h]h}(h]ad7690ah ]h"]ad7690ah$]h&]refurijuh1jj.Khjubeh}(h]h ]h"]h$]h&]uh1hhhhK hjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h)`AD7691 `_h]h)}(hjh](j )}(hjh]hAD7691}(hjhhhNhNubah}(h]h ]h"]h$]h&]nameAD7691jhttps://www.analog.com/AD7691uh1j hjubj )}(h h]h}(h]ad7691ah ]h"]ad7691ah$]h&]refurijuh1jj.Khjubeh}(h]h ]h"]h$]h&]uh1hhhhK!hjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h)`AD7693 `_h]h)}(hj-h](j )}(hj-h]hAD7693}(hj2hhhNhNubah}(h]h ]h"]h$]h&]nameAD7693jhttps://www.analog.com/AD7693uh1j hj/ubj )}(h h]h}(h]ad7693ah ]h"]ad7693ah$]h&]refurijAuh1jj.Khj/ubeh}(h]h ]h"]h$]h&]uh1hhhhK"hj+ubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h)`AD7942 `_h]h)}(hj]h](j )}(hj]h]hAD7942}(hjbhhhNhNubah}(h]h ]h"]h$]h&]nameAD7942jhttps://www.analog.com/AD7942uh1j hj_ubj )}(h h]h}(h]ad7942ah ]h"]ad7942ah$]h&]refurijquh1jj.Khj_ubeh}(h]h ]h"]h$]h&]uh1hhhhK#hj[ubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h)`AD7946 `_h]h)}(hjh](j )}(hjh]hAD7946}(hjhhhNhNubah}(h]h ]h"]h$]h&]nameAD7946jhttps://www.analog.com/AD7946uh1j hjubj )}(h h]h}(h]ad7946ah ]h"]ad7946ah$]h&]refurijuh1jj.Khjubeh}(h]h ]h"]h$]h&]uh1hhhhK$hjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h)`AD7980 `_h]h)}(hjh](j )}(hjh]hAD7980}(hjhhhNhNubah}(h]h ]h"]h$]h&]nameAD7980jhttps://www.analog.com/AD7980uh1j hjubj )}(h h]h}(h]ad7980ah ]h"]ad7980ah$]h&]refurijuh1jj.Khjubeh}(h]h ]h"]h$]h&]uh1hhhhK%hjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h)`AD7982 `_h]h)}(hjh](j )}(hjh]hAD7982}(hjhhhNhNubah}(h]h ]h"]h$]h&]nameAD7982jhttps://www.analog.com/AD7982uh1j hjubj )}(h h]h}(h]ad7982ah ]h"]ad7982ah$]h&]refurijuh1jj.Khjubeh}(h]h ]h"]h$]h&]uh1hhhhK&hjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h)`AD7983 `_h]h)}(hjh](j )}(hjh]hAD7983}(hj"hhhNhNubah}(h]h ]h"]h$]h&]nameAD7983jhttps://www.analog.com/AD7983uh1j hjubj )}(h h]h}(h]ad7983ah ]h"]ad7983ah$]h&]refurij1uh1jj.Khjubeh}(h]h ]h"]h$]h&]uh1hhhhK'hjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h)`AD7984 `_h]h)}(hjMh](j )}(hjMh]hAD7984}(hjRhhhNhNubah}(h]h ]h"]h$]h&]nameAD7984jhttps://www.analog.com/AD7984uh1j hjOubj )}(h h]h}(h]ad7984ah ]h"]ad7984ah$]h&]refurijauh1jj.KhjOubeh}(h]h ]h"]h$]h&]uh1hhhhK(hjKubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h-`AD7988-1 `_h]h)}(hj}h](j )}(hj}h]hAD7988-1}(hjhhhNhNubah}(h]h ]h"]h$]h&]nameAD7988-1jhttps://www.analog.com/AD7988-1uh1j hjubj )}(h" h]h}(h]ad7988-1ah ]h"]ad7988-1ah$]h&]refurijuh1jj.Khjubeh}(h]h ]h"]h$]h&]uh1hhhhK)hj{ubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h.`AD7988-5 `_ h]h)}(h-`AD7988-5 `_h](j )}(hjh]hAD7988-5}(hjhhhNhNubah}(h]h ]h"]h$]h&]nameAD7988-5jhttps://www.analog.com/AD7988-5uh1j hjubj )}(h" h]h}(h]ad7988-5ah ]h"]ad7988-5ah$]h&]refurijuh1jj.Khjubeh}(h]h ]h"]h$]h&]uh1hhhhK*hjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubeh}(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}(hjhhhNhNubah}(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 }(hj6hhhNhNubj)}(h``adi,sdi-pin``h]h adi,sdi-pin}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj6ubh- property in device tree to select this mode.}(hj6hhhNhNubeh}(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 | +-------------+}hjXsbah}(h]h ]h"]h$]h&]hhuh1jVhhhKBhjhhubeh}(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}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjnhhhhhKQubh)}(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 }(hjhhhNhNubj)}(h``SPI_MOSI_IDLE_HIGH``h]hSPI_MOSI_IDLE_HIGH}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhl but register access is not possible. This connection mode saves one wire and works with any SPI controller.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKShjnhhubh)}(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&]uh1hhhhKYhjnhhubjW)}(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&]hhuh1jVhhhK]hjnhhubh)}(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&]uh1hhhhKihjnhhubjW)}(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&]hhuh1jVhhhKnhjnhhubeh}(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 }(hj"hhhNhNubj)}(h``adi,sdi-pin``h]h adi,sdi-pin}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj"ubh to }(hj"hhhNhNubj)}(h``"cs"``h]h"cs"}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj"ubh to select this mode.}(hj"hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubjW)}(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 | +-------------+}hjTsbah}(h]h ]h"]h$]h&]hhuh1jVhhhKhjhhubeh}(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}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjzhhhhhKubh)}(hLThe AD4000 series driver supports differential and pseudo-differential ADCs.h]hLThe AD4000 series driver supports differential and pseudo-differential ADCs.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjzhhubh)}(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&]uh1hhhhKhjzhhubh)}(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&]uh1hhhhKhjzhhubh)}(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 hj ubj )}(hhh]h}(h]h ]h"]h$]h&]colwidthK*uh1j hj ubhthead)}(hhh]hrow)}(hhh](hentry)}(hhh]h)}(hVoltage Channel Attributesh]hVoltage Channel Attributes}(hj9 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj6 ubah}(h]h ]h"]h$]h&]uh1j4 hj1 ubj5 )}(hhh]h)}(h Descriptionh]h Description}(hjP hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjM ubah}(h]h ]h"]h$]h&]uh1j4 hj1 ubeh}(h]h ]h"]h$]h&]uh1j/ hj, ubah}(h]h ]h"]h$]h&]uh1j* hj ubhtbody)}(hhh](j0 )}(hhh](j5 )}(hhh]h)}(h``in_voltage0_raw``h]j)}(hj} h]hin_voltage0_raw}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj{ ubah}(h]h ]h"]h$]h&]uh1hhhhKhjx ubah}(h]h ]h"]h$]h&]uh1j4 hju ubj5 )}(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&]uh1j4 hju ubeh}(h]h ]h"]h$]h&]uh1j/ hjr ubj0 )}(hhh](j5 )}(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&]uh1j4 hj ubj5 )}(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&]uh1j4 hj ubeh}(h]h ]h"]h$]h&]uh1j/ hjr ubj0 )}(hhh](j5 )}(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&]uh1j4 hj ubj5 )}(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&]uh1j4 hj ubeh}(h]h ]h"]h$]h&]uh1j/ hjr ubj0 )}(hhh](j5 )}(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&]uh1hhhhKhj8 ubah}(h]h ]h"]h$]h&]uh1j4 hj5 ubj5 )}(hhh]h)}(hToggles input span compressionh]hToggles input span compression}(hj[ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjX ubah}(h]h ]h"]h$]h&]uh1j4 hj5 ubeh}(h]h ]h"]h$]h&]uh1j/ hjr ubeh}(h]h ]h"]h$]h&]uh1jp hj ubeh}(h]h ]h"]h$]h&]colsKuh1j hj ubah}(h]h ]h"]h$]h&]uh1j hjhhhhhNubeh}(h]pseudo-differential-adcsah ]h"]pseudo-differential adcsah$]h&]uh1hhjzhhhhhKubh)}(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]j0 )}(hhh](j5 )}(hhh]h)}(hVoltage Channel Attributesh]hVoltage Channel Attributes}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j4 hj ubj5 )}(hhh]h)}(h Descriptionh]h Description}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j4 hj ubeh}(h]h ]h"]h$]h&]uh1j/ hj ubah}(h]h ]h"]h$]h&]uh1j* hj ubjq )}(hhh](j0 )}(hhh](j5 )}(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&]uh1j4 hj ubj5 )}(hhh]h)}(hRaw ADC output code.h]hRaw ADC output code.}(hj2 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj/ ubah}(h]h ]h"]h$]h&]uh1j4 hj ubeh}(h]h ]h"]h$]h&]uh1j/ hj ubj0 )}(hhh](j5 )}(hhh]h)}(h``in_voltage0-voltage1_scale``h]j)}(hjT h]hin_voltage0-voltage1_scale}(hjV hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjR ubah}(h]h ]h"]h$]h&]uh1hhhhKhjO ubah}(h]h ]h"]h$]h&]uh1j4 hjL ubj5 )}(hhh]h)}(h(Scale factor to convert raw value to mV.h]h(Scale factor to convert raw value to mV.}(hjr hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjo ubah}(h]h ]h"]h$]h&]uh1j4 hjL ubeh}(h]h ]h"]h$]h&]uh1j/ hj ubj0 )}(hhh](j5 )}(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&]uh1j4 hj ubj5 )}(hhh]h)}(hToggles input span compressionh]hToggles input span compression}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j4 hj ubeh}(h]h ]h"]h$]h&]uh1j/ hj ubeh}(h]h ]h"]h$]h&]uh1jp hj ubeh}(h]h ]h"]h$]h&]colsKuh1j hj ubah}(h]h ]h"]h$]h&]uh1j hj hhhhhNubeh}(h]differential-adcsah ]h"]differential adcsah$]h&]uh1hhjzhhhhhKubh)}(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 hhhNhNubj )}(h`AXI SPI Engine`_h]hAXI SPI Engine}(hj hhhNhNubah}(h]h ]h"]h$]h&]nameAXI SPI EnginejDhttp://analogdevicesinc.github.io/hdl/projects/pulsar_adc/index.htmluh1j hj 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&]jj uh1jhKhj hhhhj.Kubh)}(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.}(hj6 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj hhubh)}(hhh](j)}(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 }(hjK hhhNhNubj)}(h"``in_voltage0_sampling_frequency``h]hin_voltage0_sampling_frequency}(hjS hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjK ubh or }(hjK hhhNhNubj)}(h+``in_voltage0-voltage1_sampling_frequency``h]h'in_voltage0-voltage1_sampling_frequency}(hje hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjK ubh3 file is provided to allow setting the sample rate.}(hjK hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjG ubah}(h]h ]h"]h$]h&]uh1jhjD hhhhhNubj)}(h>IIO trigger device is not provided (no ``trigger`` directory).h]h)}(hj h](h'IIO trigger device is not provided (no }(hj hhhNhNubj)}(h ``trigger``h]htrigger}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh directory).}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhjD hhhhhNubj)}(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&]uh1jhjD 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&]uh1hhjzhhhhhKubeh}(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_backlinksj4 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_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}substitution_names}refnames}axi spi engine]j asrefids}nameids}(j j jwjtj*j'j[jXjjjjjjjjjKjHj{jxjjjjj jj;j8jkjhjjjjjjj+j(j[jXjjjjjjjjjKjHj{jxjjjjj jj;j8jkjhjjjjjojljkjhjjjgjdj j j j j j j j j% j" u nametypes}(j jwj*j[jjjjjKj{jjj j;jkjjjj+j[jjjjjKj{jjj j;jkjjjojkjjgj j j j j% uh}(j hjthj'j!jXjRjjjjjjjjjHjBjxjrjjjjjjj8j2jhjbjjjjjjj(j"jXjRjjjjjjjjjHjBjxjrjjjjjjj8j2jhjbjjjjjljjhjjjnjdjj jzj 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.