Psphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget!/translations/zh_CN/hwmon/pcf8591modnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget!/translations/zh_TW/hwmon/pcf8591modnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget!/translations/it_IT/hwmon/pcf8591modnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget!/translations/ja_JP/hwmon/pcf8591modnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget!/translations/ko_KR/hwmon/pcf8591modnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget!/translations/sp_SP/hwmon/pcf8591modnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhsection)}(hhh](htitle)}(hKernel driver pcf8591h]hKernel driver pcf8591}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhh;/var/lib/git/docbuild/linux/Documentation/hwmon/pcf8591.rsthKubh paragraph)}(hSupported chips:h]hSupported chips:}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh block_quote)}(h* Philips/NXP PCF8591 Prefix: 'pcf8591' Addresses scanned: none Datasheet: Publicly available at the NXP website http://www.nxp.com/pip/PCF8591_6.html h]h bullet_list)}(hhh]h list_item)}(hPhilips/NXP PCF8591 Prefix: 'pcf8591' Addresses scanned: none Datasheet: Publicly available at the NXP website http://www.nxp.com/pip/PCF8591_6.html h](h)}(hPhilips/NXP PCF8591h]hPhilips/NXP PCF8591}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhubh)}(hPrefix: 'pcf8591'h]hPrefix: ‘pcf8591’}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhubh)}(hAddresses scanned: noneh]hAddresses scanned: none}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hhubh)}(h0Datasheet: Publicly available at the NXP websiteh]h0Datasheet: Publicly available at the NXP website}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hhubh)}(h&http://www.nxp.com/pip/PCF8591_6.html h]h)}(h%http://www.nxp.com/pip/PCF8591_6.htmlh]h reference)}(hjh]h%http://www.nxp.com/pip/PCF8591_6.html}(hjhhhNhNubah}(h]h ]h"]h$]h&]refurijuh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhhhKhhubeh}(h]h ]h"]h$]h&]uh1hhhubah}(h]h ]h"]h$]h&]bullet*uh1hhhhKhhubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubhdefinition_list)}(hhh]hdefinition_list_item)}(hAuthors: - Aurelien Jarno - valuable contributions by Jan M. Sendler , - Jean Delvare h](hterm)}(hAuthors:h]hAuthors:}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1jShhhKhjOubh definition)}(hhh]h)}(hhh](h)}(h%Aurelien Jarno h]h)}(hjmh](hAurelien Jarno <}(hjohhhNhNubj)}(haurelien@aurel32.neth]haurelien@aurel32.net}(hjvhhhNhNubah}(h]h ]h"]h$]h&]refurimailto:aurelien@aurel32.netuh1jhjoubh>}(hjohhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjkubah}(h]h ]h"]h$]h&]uh1hhjhubh)}(h>valuable contributions by Jan M. Sendler ,h]h)}(hjh](h*valuable contributions by Jan M. Sendler <}(hjhhhNhNubj)}(hsendler@sendler.deh]hsendler@sendler.de}(hjhhhNhNubah}(h]h ]h"]h$]h&]refurimailto:sendler@sendler.deuh1jhjubh>,}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhjhubh)}(h!Jean Delvare h]h)}(hJean Delvare h](hJean Delvare <}(hjhhhNhNubj)}(hjdelvare@suse.deh]hjdelvare@suse.de}(hjhhhNhNubah}(h]h ]h"]h$]h&]refurimailto:jdelvare@suse.deuh1jhjubh>}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhjhubeh}(h]h ]h"]h$]h&]j@-uh1hhhhKhjeubah}(h]h ]h"]h$]h&]uh1jchjOubeh}(h]h ]h"]h$]h&]uh1jMhhhKhjJubah}(h]h ]h"]h$]h&]uh1jHhhhhhNhNubh)}(hhh](h)}(h Descriptionh]h Description}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubh)}(hThe PCF8591 is an 8-bit A/D and D/A converter (4 analog inputs and one analog output) for the I2C bus produced by Philips Semiconductors (now NXP). It is designed to provide a byte I2C interface to up to 4 separate devices.h]hThe PCF8591 is an 8-bit A/D and D/A converter (4 analog inputs and one analog output) for the I2C bus produced by Philips Semiconductors (now NXP). It is designed to provide a byte I2C interface to up to 4 separate devices.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hTThe PCF8591 has 4 analog inputs programmable as single-ended or differential inputs:h]hTThe PCF8591 has 4 analog inputs programmable as single-ended or differential inputs:}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hhh](h)}(hfmode 0 : four single ended inputs Pins AIN0 to AIN3 are single ended inputs for channels 0 to 3 h]jI)}(hhh]jN)}(h`mode 0 : four single ended inputs Pins AIN0 to AIN3 are single ended inputs for channels 0 to 3 h](jT)}(hmode 0h]hmode 0}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1jShhhK!hj=ubh classifier)}(hfour single ended inputsh]hfour single ended inputs}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1jOhj=hhubjd)}(hhh]h)}(h=Pins AIN0 to AIN3 are single ended inputs for channels 0 to 3h]h=Pins AIN0 to AIN3 are single ended inputs for channels 0 to 3}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK!hj_ubah}(h]h ]h"]h$]h&]uh1jchj=ubeh}(h]h ]h"]h$]h&]uh1jMhhhK!hj:ubah}(h]h ]h"]h$]h&]uh1jHhj6ubah}(h]h ]h"]h$]h&]uh1hhj3hhhNhNubh)}(hmode 1 : three differential inputs Pins AIN3 is the common negative differential input Pins AIN0 to AIN2 are positive differential inputs for channels 0 to 2 h]jI)}(hhh]jN)}(hmode 1 : three differential inputs Pins AIN3 is the common negative differential input Pins AIN0 to AIN2 are positive differential inputs for channels 0 to 2 h](jT)}(hmode 1h]hmode 1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jShhhK%hjubjP)}(hthree differential inputsh]hthree differential inputs}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jOhjhhubjd)}(hhh]h)}(hzPins AIN3 is the common negative differential input Pins AIN0 to AIN2 are positive differential inputs for channels 0 to 2h]hzPins AIN3 is the common negative differential input Pins AIN0 to AIN2 are positive differential inputs for channels 0 to 2}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK$hjubah}(h]h ]h"]h$]h&]uh1jchjubeh}(h]h ]h"]h$]h&]uh1jMhhhK%hjubah}(h]h ]h"]h$]h&]uh1jHhjubah}(h]h ]h"]h$]h&]uh1hhj3hhhNhNubh)}(hmode 2 : single ended and differential mixed Pins AIN0 and AIN1 are single ended inputs for channels 0 and 1 Pins AIN2 is the positive differential input for channel 3 Pins AIN3 is the negative differential input for channel 3 h]jI)}(hhh]jN)}(hmode 2 : single ended and differential mixed Pins AIN0 and AIN1 are single ended inputs for channels 0 and 1 Pins AIN2 is the positive differential input for channel 3 Pins AIN3 is the negative differential input for channel 3 h](jT)}(hmode 2h]hmode 2}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jShhhK*hjubjP)}(h#single ended and differential mixedh]h#single ended and differential mixed}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jOhjhhubjd)}(hhh]h)}(hPins AIN0 and AIN1 are single ended inputs for channels 0 and 1 Pins AIN2 is the positive differential input for channel 3 Pins AIN3 is the negative differential input for channel 3h]hPins AIN0 and AIN1 are single ended inputs for channels 0 and 1 Pins AIN2 is the positive differential input for channel 3 Pins AIN3 is the negative differential input for channel 3}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK(hjubah}(h]h ]h"]h$]h&]uh1jchjubeh}(h]h ]h"]h$]h&]uh1jMhhhK*hjubah}(h]h ]h"]h$]h&]uh1jHhjubah}(h]h ]h"]h$]h&]uh1hhj3hhhNhNubh)}(hX%mode 3 : two differential inputs Pins AIN0 is the positive differential input for channel 0 Pins AIN1 is the negative differential input for channel 0 Pins AIN2 is the positive differential input for channel 1 Pins AIN3 is the negative differential input for channel 1 h]jI)}(hhh]jN)}(hX mode 3 : two differential inputs Pins AIN0 is the positive differential input for channel 0 Pins AIN1 is the negative differential input for channel 0 Pins AIN2 is the positive differential input for channel 1 Pins AIN3 is the negative differential input for channel 1 h](jT)}(hmode 3h]hmode 3}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1jShhhK0hj/ubjP)}(htwo differential inputsh]htwo differential inputs}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1jOhj/hhubjd)}(hhh]h)}(hPins AIN0 is the positive differential input for channel 0 Pins AIN1 is the negative differential input for channel 0 Pins AIN2 is the positive differential input for channel 1 Pins AIN3 is the negative differential input for channel 1h]hPins AIN0 is the positive differential input for channel 0 Pins AIN1 is the negative differential input for channel 0 Pins AIN2 is the positive differential input for channel 1 Pins AIN3 is the negative differential input for channel 1}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK-hjOubah}(h]h ]h"]h$]h&]uh1jchj/ubeh}(h]h ]h"]h$]h&]uh1jMhhhK0hj,ubah}(h]h ]h"]h$]h&]uh1jHhj(ubah}(h]h ]h"]h$]h&]uh1hhj3hhhNhNubeh}(h]h ]h"]h$]h&]j@juh1hhhhK hjhhubh)}(hSee the datasheet for details.h]hSee the datasheet for details.}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK2hjhhubeh}(h] descriptionah ]h"] descriptionah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hModule parametersh]hModule parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK5ubh)}(hhh]h)}(hinput_mode int Analog input mode: - 0 = four single ended inputs - 1 = three differential inputs - 2 = single ended and differential mixed - 3 = two differential inputs h](h)}(hinput_mode inth]hinput_mode int}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK7hjubh)}(hAnalog input mode: - 0 = four single ended inputs - 1 = three differential inputs - 2 = single ended and differential mixed - 3 = two differential inputs h](h)}(hAnalog input mode:h]hAnalog input mode:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK9hjubh)}(h- 0 = four single ended inputs - 1 = three differential inputs - 2 = single ended and differential mixed - 3 = two differential inputs h]h)}(hhh](h)}(h0 = four single ended inputsh]h)}(hjh]h0 = four single ended inputs}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK;hjubah}(h]h ]h"]h$]h&]uh1hhjubh)}(h1 = three differential inputsh]h)}(hjh]h1 = three differential inputs}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhjubeh}(h]h ]h"]h$]h&]j@juh1hhhhK;hjubah}(h]h ]h"]h$]h&]uh1hhhhK;hjubeh}(h]h ]h"]h$]h&]uh1hhhhK9hjubeh}(h]h ]h"]h$]h&]uh1hhjhhhhhNubah}(h]h ]h"]h$]h&]j@jAuh1hhhhK7hjhhubeh}(h]module-parametersah ]h"]module parametersah$]h&]uh1hhhhhhhhK5ubh)}(hhh](h)}(h$Accessing PCF8591 via /sys interfaceh]h$Accessing PCF8591 via /sys interface}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjVhhhhhKBubh)}(hX*The PCF8591 is plainly impossible to detect! Thus the driver won't even try. You have to explicitly instantiate the device at the relevant address (in the interval [0x48..0x4f]) either through platform data, or using the sysfs interface. See Documentation/i2c/instantiating-devices.rst for details.h]hX,The PCF8591 is plainly impossible to detect! Thus the driver won’t even try. You have to explicitly instantiate the device at the relevant address (in the interval [0x48..0x4f]) either through platform data, or using the sysfs interface. See Documentation/i2c/instantiating-devices.rst for details.}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKDhjVhhubh)}(h-<1>/ where <0> is the bus the chip is connected to (e. g. i2c-0) and <1> the chip address ([48..4f]) h](jT)}(h/sys/bus/i2c/devices/<0>-<1>/h]h/sys/bus/i2c/devices/<0>-<1>/}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jShhhKNhjubjd)}(hhh]h)}(h_where <0> is the bus the chip is connected to (e. g. i2c-0) and <1> the chip address ([48..4f])h]h_where <0> is the bus the chip is connected to (e. g. i2c-0) and <1> the chip address ([48..4f])}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKMhjubah}(h]h ]h"]h$]h&]uh1jchjubeh}(h]h ]h"]h$]h&]uh1jMhhhKNhjubah}(h]h ]h"]h$]h&]uh1jHhjVhhhhhNubh)}(h/Inside these directories, there are such files:h]h/Inside these directories, there are such files:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKPhjVhhubh)}(hKin0_input, in1_input, in2_input, in3_input, out0_enable, out0_output, name h]h)}(hJin0_input, in1_input, in2_input, in3_input, out0_enable, out0_output, nameh]hJin0_input, in1_input, in2_input, in3_input, out0_enable, out0_output, name}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKRhjubah}(h]h ]h"]h$]h&]uh1hhhhKRhjVhhubh)}(hName contains chip name.h]hName contains chip name.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKThjVhhubh)}(hXAThe in0_input, in1_input, in2_input and in3_input files are RO. Reading gives the value of the corresponding channel. Depending on the current analog inputs configuration, files in2_input and in3_input may not exist. Values range from 0 to 255 for single ended inputs and -128 to +127 for differential inputs (8-bit ADC).h]hXAThe in0_input, in1_input, in2_input and in3_input files are RO. Reading gives the value of the corresponding channel. Depending on the current analog inputs configuration, files in2_input and in3_input may not exist. Values range from 0 to 255 for single ended inputs and -128 to +127 for differential inputs (8-bit ADC).}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKVhjVhhubh)}(hThe out0_enable file is RW. Reading gives "1" for analog output enabled and "0" for analog output disabled. Writing accepts "0" and "1" accordingly.h]hThe out0_enable file is RW. Reading gives “1” for analog output enabled and “0” for analog output disabled. Writing accepts “0” and “1” accordingly.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK\hjVhhubh)}(hThe out0_output file is RW. Writing a number between 0 and 255 (8-bit DAC), send the value to the digital-to-analog converter. Note that a voltage will only appears on AOUT pin if aout0_enable equals 1. Reading returns the last value written.h]hThe out0_output file is RW. Writing a number between 0 and 255 (8-bit DAC), send the value to the digital-to-analog converter. Note that a voltage will only appears on AOUT pin if aout0_enable equals 1. Reading returns the last value written.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK_hjVhhubeh}(h]#accessing-pcf8591-via-sys-interfaceah ]h"]$accessing pcf8591 via /sys interfaceah$]h&]uh1hhhhhhhhKBubeh}(h]kernel-driver-pcf8591ah ]h"]kernel driver pcf8591ah$]h&]uh1hhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksentryfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerjLerror_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}refids}nameids}(j&j#jjjSjPjju nametypes}(j&jjSjuh}(j#hjjjPjjjVu 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.