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/driver-api/gpio/pca953xmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget+/translations/zh_TW/driver-api/gpio/pca953xmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget+/translations/it_IT/driver-api/gpio/pca953xmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget+/translations/ja_JP/driver-api/gpio/pca953xmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget+/translations/ko_KR/driver-api/gpio/pca953xmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget+/translations/sp_SP/driver-api/gpio/pca953xmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhsection)}(hhh](htitle)}(h-PCA953x I²C GPIO expander compatibility listh]h-PCA953x I²C GPIO expander compatibility list}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhE/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/pca953x.rsthKubh field_list)}(hhh]hfield)}(hhh](h field_name)}(hAuthorh]hAuthor}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhKubh field_body)}(h-Levente Révész h]h paragraph)}(h,Levente Révész h](hLevente Révész <}(hhhhhNhNubh reference)}(hlevente.revesz@eilabs.comh]hlevente.revesz@eilabs.com}(hhhhhNhNubah}(h]h ]h"]h$]h&]refuri mailto:levente.revesz@eilabs.comuh1hhhubh>}(hhhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhhubah}(h]h ]h"]h$]h&]uh1hhhubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh)}(hdI went through all the datasheets and created this note listing chip functions and register layouts.h]hdI went through all the datasheets and created this note listing chip functions and register layouts.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hhh](h)}(hOverview of chipsh]hOverview of chips}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK ubh)}(hhh](h)}(h Chips with the basic 4 registersh]h Chips with the basic 4 registers}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj.hhhhhKubh)}(hThese chips have 4 register banks: input, output, invert and direction. Each of these banks contains (lines/8) registers, one for each GPIO port.h]hThese chips have 4 register banks: input, output, invert and direction. Each of these banks contains (lines/8) registers, one for each GPIO port.}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj.hhubh)}(h$Banks offset is always a power of 2:h]h$Banks offset is always a power of 2:}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj.hhubh bullet_list)}(hhh](h list_item)}(h4 lines -> bank offset is 1h]h)}(hjdh]h4 lines -> bank offset is 1}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjbubah}(h]h ]h"]h$]h&]uh1j`hj]hhhhhNubja)}(h8 lines -> bank offset is 1h]h)}(hj{h]h8 lines -> bank offset is 1}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjyubah}(h]h ]h"]h$]h&]uh1j`hj]hhhhhNubja)}(h16 lines -> bank offset is 2h]h)}(hjh]h16 lines -> bank offset is 2}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j`hj]hhhhhNubja)}(h24 lines -> bank offset is 4h]h)}(hjh]h24 lines -> bank offset is 4}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j`hj]hhhhhNubja)}(h32 lines -> bank offset is 4h]h)}(hjh]h32 lines -> bank offset is 4}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j`hj]hhhhhNubja)}(h40 lines -> bank offset is 8 h]h)}(h40 lines -> bank offset is 8h]h40 lines -> bank offset is 8}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j`hj]hhhhhNubeh}(h]h ]h"]h$]h&]bullet-uh1j[hhhKhj.hhubh)}(h ubah}(h]h ]h"]h$]h&]uh1j7hj ubj8)}(hhh]h)}(h00h]h00}(hjX hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKOhjU ubah}(h]h ]h"]h$]h&]uh1j7hj ubj8)}(hhh]h)}(h01h]h01}(hjo hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKOhjl ubah}(h]h ]h"]h$]h&]uh1j7hj ubj8)}(hhh]h)}(h02h]h02}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKOhj ubah}(h]h ]h"]h$]h&]uh1j7hj ubj8)}(hhh]h)}(h03h]h03}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKOhj ubah}(h]h ]h"]h$]h&]uh1j7hj ubeh}(h]h ]h"]h$]h&]uh1j2hjubj3)}(hhh](j8)}(hhh]h)}(hpca9554h]hpca9554}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKPhj ubah}(h]h ]h"]h$]h&]uh1j7hj ubj8)}(hhh]h)}(hj1 h]h8}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKPhj ubah}(h]h ]h"]h$]h&]uh1j7hj ubj8)}(hhh]h)}(hyesh]hyes}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKPhj ubah}(h]h ]h"]h$]h&]uh1j7hj ubj8)}(hhh]h)}(h00h]h00}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKPhj ubah}(h]h ]h"]h$]h&]uh1j7hj ubj8)}(hhh]h)}(h01h]h01}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKPhj ubah}(h]h ]h"]h$]h&]uh1j7hj ubj8)}(hhh]h)}(h02h]h02}(hj/ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKPhj, ubah}(h]h ]h"]h$]h&]uh1j7hj ubj8)}(hhh]h)}(h03h]h03}(hjF hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKPhjC ubah}(h]h ]h"]h$]h&]uh1j7hj ubeh}(h]h ]h"]h$]h&]uh1j2hjubj3)}(hhh](j8)}(hhh]h)}(htca9554h]htca9554}(hjf hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKQhjc ubah}(h]h ]h"]h$]h&]uh1j7hj` ubj8)}(hhh]h)}(hj1 h]h8}(hj} hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKQhjz ubah}(h]h ]h"]h$]h&]uh1j7hj` ubj8)}(hhh]h)}(hyesh]hyes}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKQhj ubah}(h]h ]h"]h$]h&]uh1j7hj` ubj8)}(hhh]h)}(h00h]h00}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKQhj ubah}(h]h ]h"]h$]h&]uh1j7hj` ubj8)}(hhh]h)}(h01h]h01}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKQhj ubah}(h]h ]h"]h$]h&]uh1j7hj` ubj8)}(hhh]h)}(h02h]h02}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKQhj ubah}(h]h ]h"]h$]h&]uh1j7hj` ubj8)}(hhh]h)}(h03h]h03}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKQhj ubah}(h]h ]h"]h$]h&]uh1j7hj` ubeh}(h]h ]h"]h$]h&]uh1j2hjubj3)}(hhh](j8)}(hhh]h)}(hpca9556h]hpca9556}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKRhj ubah}(h]h ]h"]h$]h&]uh1j7hj ubj8)}(hhh]h)}(hj1 h]h8}(hj& hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKRhj# ubah}(h]h ]h"]h$]h&]uh1j7hj ubj8)}(hhh]h)}(hnoh]hno}(hj< hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKRhj9 ubah}(h]h ]h"]h$]h&]uh1j7hj ubj8)}(hhh]h)}(h00h]h00}(hjS hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKRhjP ubah}(h]h ]h"]h$]h&]uh1j7hj ubj8)}(hhh]h)}(h01h]h01}(hjj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKRhjg ubah}(h]h ]h"]h$]h&]uh1j7hj ubj8)}(hhh]h)}(h02h]h02}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKRhj~ ubah}(h]h ]h"]h$]h&]uh1j7hj ubj8)}(hhh]h)}(h03h]h03}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKRhj ubah}(h]h ]h"]h$]h&]uh1j7hj ubeh}(h]h ]h"]h$]h&]uh1j2hjubj3)}(hhh](j8)}(hhh]h)}(hpca9557h]hpca9557}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKShj ubah}(h]h ]h"]h$]h&]uh1j7hj ubj8)}(hhh]h)}(hj1 h]h8}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKShj ubah}(h]h ]h"]h$]h&]uh1j7hj ubj8)}(hhh]h)}(hnoh]hno}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKShj ubah}(h]h ]h"]h$]h&]uh1j7hj ubj8)}(hhh]h)}(h00h]h00}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKShj ubah}(h]h ]h"]h$]h&]uh1j7hj ubj8)}(hhh]h)}(h01h]h01}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKShjubah}(h]h ]h"]h$]h&]uh1j7hj ubj8)}(hhh]h)}(h02h]h02}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKShj'ubah}(h]h ]h"]h$]h&]uh1j7hj ubj8)}(hhh]h)}(h03h]h03}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKShj>ubah}(h]h ]h"]h$]h&]uh1j7hj ubeh}(h]h ]h"]h$]h&]uh1j2hjubj3)}(hhh](j8)}(hhh]h)}(hpca6107h]hpca6107}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKThj^ubah}(h]h ]h"]h$]h&]uh1j7hj[ubj8)}(hhh]h)}(hj1 h]h8}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKThjuubah}(h]h ]h"]h$]h&]uh1j7hj[ubj8)}(hhh]h)}(hyesh]hyes}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKThjubah}(h]h ]h"]h$]h&]uh1j7hj[ubj8)}(hhh]h)}(h00h]h00}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKThjubah}(h]h ]h"]h$]h&]uh1j7hj[ubj8)}(hhh]h)}(h01h]h01}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKThjubah}(h]h ]h"]h$]h&]uh1j7hj[ubj8)}(hhh]h)}(h02h]h02}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKThjubah}(h]h ]h"]h$]h&]uh1j7hj[ubj8)}(hhh]h)}(h03h]h03}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKThjubah}(h]h ]h"]h$]h&]uh1j7hj[ubeh}(h]h ]h"]h$]h&]uh1j2hjubj3)}(hhh](j8)}(hhh]h)}(hpca6416h]hpca6416}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKUhjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h16h]h16}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKUhjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(hyesh]hyes}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKUhj5ubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h00h]h00}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKUhjLubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h02h]h02}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKUhjcubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h04h]h04}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKUhjzubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h06h]h06}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKUhjubah}(h]h ]h"]h$]h&]uh1j7hjubeh}(h]h ]h"]h$]h&]uh1j2hjubj3)}(hhh](j8)}(hhh]h)}(htca6416h]htca6416}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKVhjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h16h]h16}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKVhjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(hyesh]hyes}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKVhjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h00h]h00}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKVhjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h02h]h02}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKVhj ubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h04h]h04}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKVhj$ubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h06h]h06}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKVhj;ubah}(h]h ]h"]h$]h&]uh1j7hjubeh}(h]h ]h"]h$]h&]uh1j2hjubj3)}(hhh](j8)}(hhh]h)}(hpca9535h]hpca9535}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKWhj[ubah}(h]h ]h"]h$]h&]uh1j7hjXubj8)}(hhh]h)}(h16h]h16}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKWhjrubah}(h]h ]h"]h$]h&]uh1j7hjXubj8)}(hhh]h)}(hyesh]hyes}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKWhjubah}(h]h ]h"]h$]h&]uh1j7hjXubj8)}(hhh]h)}(h00h]h00}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKWhjubah}(h]h ]h"]h$]h&]uh1j7hjXubj8)}(hhh]h)}(h02h]h02}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKWhjubah}(h]h ]h"]h$]h&]uh1j7hjXubj8)}(hhh]h)}(h04h]h04}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKWhjubah}(h]h ]h"]h$]h&]uh1j7hjXubj8)}(hhh]h)}(h06h]h06}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKWhjubah}(h]h ]h"]h$]h&]uh1j7hjXubeh}(h]h ]h"]h$]h&]uh1j2hjubj3)}(hhh](j8)}(hhh]h)}(hpca9539h]hpca9539}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKXhjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h16h]h16}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKXhjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(hyesh]hyes}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKXhj3ubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h00h]h00}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKXhjJubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h02h]h02}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKXhjaubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h04h]h04}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKXhjxubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h06h]h06}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKXhjubah}(h]h ]h"]h$]h&]uh1j7hjubeh}(h]h ]h"]h$]h&]uh1j2hjubj3)}(hhh](j8)}(hhh]h)}(htca9539h]htca9539}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKYhjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h16h]h16}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKYhjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(hyesh]hyes}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKYhjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h00h]h00}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKYhjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h02h]h02}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKYhj ubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h04h]h04}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKYhj"ubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h06h]h06}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKYhj9ubah}(h]h ]h"]h$]h&]uh1j7hjubeh}(h]h ]h"]h$]h&]uh1j2hjubj3)}(hhh](j8)}(hhh]h)}(hpca9555h]hpca9555}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKZhjYubah}(h]h ]h"]h$]h&]uh1j7hjVubj8)}(hhh]h)}(h16h]h16}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKZhjpubah}(h]h ]h"]h$]h&]uh1j7hjVubj8)}(hhh]h)}(hyesh]hyes}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKZhjubah}(h]h ]h"]h$]h&]uh1j7hjVubj8)}(hhh]h)}(h00h]h00}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKZhjubah}(h]h ]h"]h$]h&]uh1j7hjVubj8)}(hhh]h)}(h02h]h02}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKZhjubah}(h]h ]h"]h$]h&]uh1j7hjVubj8)}(hhh]h)}(h04h]h04}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKZhjubah}(h]h ]h"]h$]h&]uh1j7hjVubj8)}(hhh]h)}(h06h]h06}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKZhjubah}(h]h ]h"]h$]h&]uh1j7hjVubeh}(h]h ]h"]h$]h&]uh1j2hjubj3)}(hhh](j8)}(hhh]h)}(hmax7318h]hmax7318}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK[hjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h16h]h16}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK[hjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(hyesh]hyes}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK[hj1ubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h00h]h00}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK[hjHubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h02h]h02}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK[hj_ubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h04h]h04}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK[hjvubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h06h]h06}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK[hjubah}(h]h ]h"]h$]h&]uh1j7hjubeh}(h]h ]h"]h$]h&]uh1j2hjubj3)}(hhh](j8)}(hhh]h)}(htca6424h]htca6424}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK\hjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h24h]h24}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK\hjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(hyesh]hyes}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK\hjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h00h]h00}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK\hjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h04h]h04}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK\hj ubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h08h]h08}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK\hj ubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h0Ch]h0C}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK\hj7ubah}(h]h ]h"]h$]h&]uh1j7hjubeh}(h]h ]h"]h$]h&]uh1j2hjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhj.hhhhhNubeh}(h] chips-with-the-basic-4-registersah ]h"] chips with the basic 4 registersah$]h&]uh1hhjhhhhhKubh)}(hhh](h)}(h)Chips with additional timeout_en registerh]h)Chips with additional timeout_en register}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjohhhhhK`ubh)}(hThese Maxim chips have a bus timeout function which can be enabled in the timeout_en register. This is present in only two chips. Defaults to timeout disabled.h]hThese Maxim chips have a bus timeout function which can be enabled in the timeout_en register. This is present in only two chips. Defaults to timeout disabled.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKbhjohhubj)}(hhh]j )}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1j hjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1j hjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1j hjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1j hjubj.)}(hhh]j3)}(hhh](j8)}(hhh]h)}(h compatibleh]h compatible}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKghjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(hlinesh]hlines}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKghjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h interrupth]h interrupt}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKghjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(hinputh]hinput}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKghj/ubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(houtputh]houtput}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKghjFubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(hinverth]hinvert}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKghj]ubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h directionh]h direction}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKghjtubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h timeout_enh]h timeout_en}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKghjubah}(h]h ]h"]h$]h&]uh1j7hjubeh}(h]h ]h"]h$]h&]uh1j2hjubah}(h]h ]h"]h$]h&]uh1j-hjubj)}(hhh](j3)}(hhh](j8)}(hhh]h)}(hmax7310h]hmax7310}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKihjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(hj1 h]h8}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKihjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(hnoh]hno}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKihjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h00h]h00}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKihjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h01h]h01}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKihjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h02h]h02}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKihj&ubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h03h]h03}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKihj=ubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h04h]h04}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKihjTubah}(h]h ]h"]h$]h&]uh1j7hjubeh}(h]h ]h"]h$]h&]uh1j2hjubj3)}(hhh](j8)}(hhh]h)}(hmax7312h]hmax7312}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKjhjtubah}(h]h ]h"]h$]h&]uh1j7hjqubj8)}(hhh]h)}(h16h]h16}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKjhjubah}(h]h ]h"]h$]h&]uh1j7hjqubj8)}(hhh]h)}(hyesh]hyes}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKjhjubah}(h]h ]h"]h$]h&]uh1j7hjqubj8)}(hhh]h)}(h00h]h00}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKjhjubah}(h]h ]h"]h$]h&]uh1j7hjqubj8)}(hhh]h)}(h02h]h02}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKjhjubah}(h]h ]h"]h$]h&]uh1j7hjqubj8)}(hhh]h)}(h04h]h04}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKjhjubah}(h]h ]h"]h$]h&]uh1j7hjqubj8)}(hhh]h)}(h06h]h06}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKjhjubah}(h]h ]h"]h$]h&]uh1j7hjqubj8)}(hhh]h)}(h08h]h08}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKjhjubah}(h]h ]h"]h$]h&]uh1j7hjqubeh}(h]h ]h"]h$]h&]uh1j2hjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjohhhhhNubeh}(h])chips-with-additional-timeout-en-registerah ]h"])chips with additional timeout_en registerah$]h&]uh1hhjhhhhhK`ubh)}(hhh](h)}(h'Chips with additional int_mask registerh]h'Chips with additional int_mask register}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjMhhhhhKnubh)}(hThese chips have an interrupt mask register in addition to the 4 basic registers. The interrupt masks default to all interrupts disabled. To use interrupts with these chips, the driver has to set the int_mask register.h]hThese chips have an interrupt mask register in addition to the 4 basic registers. The interrupt masks default to all interrupts disabled. To use interrupts with these chips, the driver has to set the int_mask register.}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKphjMhhubj)}(hhh]j )}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1j hjoubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hjoubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1j hjoubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hjoubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hjoubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hjoubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1j hjoubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hjoubj.)}(hhh]j3)}(hhh](j8)}(hhh]h)}(h compatibleh]h compatible}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKvhjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(hlinesh]hlines}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKvhjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h interrupth]h interrupt}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKvhjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(hinputh]hinput}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKvhj ubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(houtputh]houtput}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKvhj$ubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(hinverth]hinvert}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKvhj;ubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h directionh]h direction}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKvhjRubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(hint_maskh]hint_mask}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKvhjiubah}(h]h ]h"]h$]h&]uh1j7hjubeh}(h]h ]h"]h$]h&]uh1j2hjubah}(h]h ]h"]h$]h&]uh1j-hjoubj)}(hhh](j3)}(hhh](j8)}(hhh]h)}(hpca9505h]hpca9505}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKxhjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h40h]h40}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKxhjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(hyesh]hyes}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKxhjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h00h]h00}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKxhjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h08h]h08}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKxhjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h10h]h10}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKxhjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h18h]h18}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKxhjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h20h]h20}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKxhj3ubah}(h]h ]h"]h$]h&]uh1j7hjubeh}(h]h ]h"]h$]h&]uh1j2hjubj3)}(hhh](j8)}(hhh]h)}(hpca9506h]hpca9506}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKyhjSubah}(h]h ]h"]h$]h&]uh1j7hjPubj8)}(hhh]h)}(h40h]h40}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKyhjjubah}(h]h ]h"]h$]h&]uh1j7hjPubj8)}(hhh]h)}(hyesh]hyes}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKyhjubah}(h]h ]h"]h$]h&]uh1j7hjPubj8)}(hhh]h)}(h00h]h00}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKyhjubah}(h]h ]h"]h$]h&]uh1j7hjPubj8)}(hhh]h)}(h08h]h08}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKyhjubah}(h]h ]h"]h$]h&]uh1j7hjPubj8)}(hhh]h)}(h10h]h10}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKyhjubah}(h]h ]h"]h$]h&]uh1j7hjPubj8)}(hhh]h)}(h18h]h18}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKyhjubah}(h]h ]h"]h$]h&]uh1j7hjPubj8)}(hhh]h)}(h20h]h20}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKyhjubah}(h]h ]h"]h$]h&]uh1j7hjPubeh}(h]h ]h"]h$]h&]uh1j2hjubeh}(h]h ]h"]h$]h&]uh1jhjoubeh}(h]h ]h"]h$]h&]colsKuh1jhjlubah}(h]h ]h"]h$]h&]uh1jhjMhhhhhNubeh}(h]'chips-with-additional-int-mask-registerah ]h"]'chips with additional int_mask registerah$]h&]uh1hhjhhhhhKnubh)}(hhh](h)}(h5Chips with additional int_mask and out_conf registersh]h5Chips with additional int_mask and out_conf registers}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj,hhhhhK}ubh)}(hX This chip has an interrupt mask register, and an output port configuration register, which can select between push-pull and open-drain modes. Each bit controls two lines. Both of these registers are present in PCAL chips as well, albeit the out_conf works differently.h]hX This chip has an interrupt mask register, and an output port configuration register, which can select between push-pull and open-drain modes. Each bit controls two lines. Both of these registers are present in PCAL chips as well, albeit the out_conf works differently.}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj,hhubj)}(hhh]j )}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1j hjNubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hjNubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1j hjNubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hjNubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hjNubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hjNubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1j hjNubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hjNubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hjNubj.)}(hhh]j3)}(hhh](j8)}(hhh]h)}(h compatibleh]h compatible}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(hlinesh]hlines}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h interrupth]h interrupt}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(hinputh]hinput}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(houtputh]houtput}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(hinverth]hinvert}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj$ubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h directionh]h direction}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj;ubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(hint_maskh]hint_mask}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjRubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(hout_confh]hout_conf}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjiubah}(h]h ]h"]h$]h&]uh1j7hjubeh}(h]h ]h"]h$]h&]uh1j2hjubah}(h]h ]h"]h$]h&]uh1j-hjNubj)}(hhh]j3)}(hhh](j8)}(hhh]h)}(hpca9698h]hpca9698}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h40h]h40}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(hyesh]hyes}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h00h]h00}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h08h]h08}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h10h]h10}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h18h]h18}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h20h]h20}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj3ubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h28h]h28}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjJubah}(h]h ]h"]h$]h&]uh1j7hjubeh}(h]h ]h"]h$]h&]uh1j2hjubah}(h]h ]h"]h$]h&]uh1jhjNubeh}(h]h ]h"]h$]h&]colsK uh1jhjKubah}(h]h ]h"]h$]h&]uh1jhj,hhhhhNubh)}(hpca9698 also has a "master output" register for setting all outputs per port to the same value simultaneously, and a chip specific mode register for various additional chip settings.h]hpca9698 also has a “master output” register for setting all outputs per port to the same value simultaneously, and a chip specific mode register for various additional chip settings.}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj,hhubj)}(hhh]j )}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1j hjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1j hjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hjubj.)}(hhh]j3)}(hhh](j8)}(hhh]h)}(h compatibleh]h compatible}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h master_outputh]h master_output}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(hmodeh]hmode}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j7hjubeh}(h]h ]h"]h$]h&]uh1j2hjubah}(h]h ]h"]h$]h&]uh1j-hjubj)}(hhh]j3)}(hhh](j8)}(hhh]h)}(hpca9698h]hpca9698}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h29h]h29}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h2Ah]h2A}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj7ubah}(h]h ]h"]h$]h&]uh1j7hjubeh}(h]h ]h"]h$]h&]uh1j2hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhj,hhhhhNubeh}(h]5chips-with-additional-int-mask-and-out-conf-registersah ]h"]5chips with additional int_mask and out_conf registersah$]h&]uh1hhjhhhhhK} referencedKubh)}(hhh](h)}(h*Chips with LED blink and intensity controlh]h*Chips with LED blink and intensity control}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhjphhhhhKubh)}(h*These Maxim chips have no invert register.h]h*These Maxim chips have no invert register.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjphhubh)}(hXFThey have two sets of output registers (output0 and output1). An internal timer alternates the effective output between the values set in these registers, if blink mode is enabled in the blink register. The master_intensity register and the intensity registers together define the PWM intensity value for each pair of outputs.h]hXFThey have two sets of output registers (output0 and output1). An internal timer alternates the effective output between the values set in these registers, if blink mode is enabled in the blink register. The master_intensity register and the intensity registers together define the PWM intensity value for each pair of outputs.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjphhubh)}(hrThese chips can be used as simple GPIO expanders if the driver handles the input, output0 and direction registers.h]hrThese chips can be used as simple GPIO expanders if the driver handles the input, output0 and direction registers.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjphhubj)}(hhh]j )}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1j hjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1j hjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1j hjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1j hjubj.)}(hhh]j3)}(hhh](j8)}(hhh]h)}(h compatibleh]h compatible}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(hlinesh]hlines}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj2ubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h interrupth]h interrupt}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjIubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(hinputh]hinput}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj`ubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(houtput0h]houtput0}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjwubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h directionh]h direction}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(houtput1h]houtput1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(hmaster_intensityh]hmaster_intensity}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(hblinkh]hblink}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h intensityh]h intensity}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j7hjubeh}(h]h ]h"]h$]h&]uh1j2hjubah}(h]h ]h"]h$]h&]uh1j-hjubj)}(hhh](j3)}(hhh](j8)}(hhh]h)}(hmax7315h]hmax7315}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(hj1 h]h8}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj*ubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(hyesh]hyes}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj@ubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h00h]h00}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjWubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h01h]h01}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjnubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h03h]h03}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h09h]h09}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h0Eh]h0E}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h0Fh]h0F}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h10h]h10}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j7hjubeh}(h]h ]h"]h$]h&]uh1j2hj ubj3)}(hhh](j8)}(hhh]h)}(hmax7313h]hmax7313}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h16h]h16}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(hyesh]hyes}(hj2 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj/ ubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h00h]h00}(hjI hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjF ubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h02h]h02}(hj` hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj] ubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h06h]h06}(hjw hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjt ubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h0Ah]h0A}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h0Eh]h0E}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h0Fh]h0F}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j7hjubj8)}(hhh]h)}(h10h]h10}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j7hjubeh}(h]h ]h"]h$]h&]uh1j2hj ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsK uh1jhjubah}(h]h ]h"]h$]h&]uh1jhjphhhhhNubeh}(h]*chips-with-led-blink-and-intensity-controlah ]h"]*chips with led blink and intensity controlah$]h&]uh1hhjhhhhhKjoKubh)}(hhh](h)}(hBasic PCAL chipsh]hBasic PCAL chips}(hj !hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj!hhhhhKubj)}(hhh]j )}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1j hj!ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hj!ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1j hj!ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hj!ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hj!ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hj!ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1j hj!ubj.)}(hhh]j3)}(hhh](j8)}(hhh]h)}(h compatibleh]h compatible}(hjn!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjk!ubah}(h]h ]h"]h$]h&]uh1j7hjh!ubj8)}(hhh]h)}(hlinesh]hlines}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj!ubah}(h]h ]h"]h$]h&]uh1j7hjh!ubj8)}(hhh]h)}(h interrupth]h interrupt}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj!ubah}(h]h ]h"]h$]h&]uh1j7hjh!ubj8)}(hhh]h)}(hinputh]hinput}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj!ubah}(h]h ]h"]h$]h&]uh1j7hjh!ubj8)}(hhh]h)}(houtputh]houtput}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj!ubah}(h]h ]h"]h$]h&]uh1j7hjh!ubj8)}(hhh]h)}(hinverth]hinvert}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj!ubah}(h]h ]h"]h$]h&]uh1j7hjh!ubj8)}(hhh]h)}(h directionh]h direction}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj!ubah}(h]h ]h"]h$]h&]uh1j7hjh!ubeh}(h]h ]h"]h$]h&]uh1j2hje!ubah}(h]h ]h"]h$]h&]uh1j-hj!ubj)}(hhh](j3)}(hhh](j8)}(hhh]h)}(hpcal6408h]hpcal6408}(hj!"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj"ubah}(h]h ]h"]h$]h&]uh1j7hj"ubj8)}(hhh]h)}(hj1 h]h8}(hj8"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj5"ubah}(h]h ]h"]h$]h&]uh1j7hj"ubj8)}(hhh]h)}(hyesh]hyes}(hjN"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjK"ubah}(h]h ]h"]h$]h&]uh1j7hj"ubj8)}(hhh]h)}(h00h]h00}(hje"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjb"ubah}(h]h ]h"]h$]h&]uh1j7hj"ubj8)}(hhh]h)}(h01h]h01}(hj|"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjy"ubah}(h]h ]h"]h$]h&]uh1j7hj"ubj8)}(hhh]h)}(h02h]h02}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj"ubah}(h]h ]h"]h$]h&]uh1j7hj"ubj8)}(hhh]h)}(h03h]h03}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj"ubah}(h]h ]h"]h$]h&]uh1j7hj"ubeh}(h]h ]h"]h$]h&]uh1j2hj"ubj3)}(hhh](j8)}(hhh]h)}(h pcal9554bh]h pcal9554b}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj"ubah}(h]h ]h"]h$]h&]uh1j7hj"ubj8)}(hhh]h)}(hj1 h]h8}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj"ubah}(h]h ]h"]h$]h&]uh1j7hj"ubj8)}(hhh]h)}(hyesh]hyes}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj"ubah}(h]h ]h"]h$]h&]uh1j7hj"ubj8)}(hhh]h)}(h00h]h00}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj #ubah}(h]h ]h"]h$]h&]uh1j7hj"ubj8)}(hhh]h)}(h01h]h01}(hj%#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj"#ubah}(h]h ]h"]h$]h&]uh1j7hj"ubj8)}(hhh]h)}(h02h]h02}(hj<#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj9#ubah}(h]h ]h"]h$]h&]uh1j7hj"ubj8)}(hhh]h)}(h03h]h03}(hjS#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjP#ubah}(h]h ]h"]h$]h&]uh1j7hj"ubeh}(h]h ]h"]h$]h&]uh1j2hj"ubj3)}(hhh](j8)}(hhh]h)}(hpcal6416h]hpcal6416}(hjs#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjp#ubah}(h]h ]h"]h$]h&]uh1j7hjm#ubj8)}(hhh]h)}(h16h]h16}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj#ubah}(h]h ]h"]h$]h&]uh1j7hjm#ubj8)}(hhh]h)}(hyesh]hyes}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj#ubah}(h]h ]h"]h$]h&]uh1j7hjm#ubj8)}(hhh]h)}(h00h]h00}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj#ubah}(h]h ]h"]h$]h&]uh1j7hjm#ubj8)}(hhh]h)}(h02h]h02}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj#ubah}(h]h ]h"]h$]h&]uh1j7hjm#ubj8)}(hhh]h)}(h04h]h04}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj#ubah}(h]h ]h"]h$]h&]uh1j7hjm#ubj8)}(hhh]h)}(h06h]h06}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj#ubah}(h]h ]h"]h$]h&]uh1j7hjm#ubeh}(h]h ]h"]h$]h&]uh1j2hj"ubj3)}(hhh](j8)}(hhh]h)}(hpcal9535h]hpcal9535}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj$ubah}(h]h ]h"]h$]h&]uh1j7hj$ubj8)}(hhh]h)}(h16h]h16}(hj4$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj1$ubah}(h]h ]h"]h$]h&]uh1j7hj$ubj8)}(hhh]h)}(hyesh]hyes}(hjK$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjH$ubah}(h]h ]h"]h$]h&]uh1j7hj$ubj8)}(hhh]h)}(h00h]h00}(hjb$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj_$ubah}(h]h ]h"]h$]h&]uh1j7hj$ubj8)}(hhh]h)}(h02h]h02}(hjy$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjv$ubah}(h]h ]h"]h$]h&]uh1j7hj$ubj8)}(hhh]h)}(h04h]h04}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj$ubah}(h]h ]h"]h$]h&]uh1j7hj$ubj8)}(hhh]h)}(h06h]h06}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj$ubah}(h]h ]h"]h$]h&]uh1j7hj$ubeh}(h]h ]h"]h$]h&]uh1j2hj"ubj3)}(hhh](j8)}(hhh]h)}(h pcal9555ah]h pcal9555a}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj$ubah}(h]h ]h"]h$]h&]uh1j7hj$ubj8)}(hhh]h)}(h16h]h16}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj$ubah}(h]h ]h"]h$]h&]uh1j7hj$ubj8)}(hhh]h)}(hyesh]hyes}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj$ubah}(h]h ]h"]h$]h&]uh1j7hj$ubj8)}(hhh]h)}(h00h]h00}(hj %hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj %ubah}(h]h ]h"]h$]h&]uh1j7hj$ubj8)}(hhh]h)}(h02h]h02}(hj#%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj %ubah}(h]h ]h"]h$]h&]uh1j7hj$ubj8)}(hhh]h)}(h04h]h04}(hj:%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj7%ubah}(h]h ]h"]h$]h&]uh1j7hj$ubj8)}(hhh]h)}(h06h]h06}(hjQ%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjN%ubah}(h]h ]h"]h$]h&]uh1j7hj$ubeh}(h]h ]h"]h$]h&]uh1j2hj"ubj3)}(hhh](j8)}(hhh]h)}(htcal6408h]htcal6408}(hjq%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjn%ubah}(h]h ]h"]h$]h&]uh1j7hjk%ubj8)}(hhh]h)}(hj1 h]h8}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj%ubah}(h]h ]h"]h$]h&]uh1j7hjk%ubj8)}(hhh]h)}(hyesh]hyes}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj%ubah}(h]h ]h"]h$]h&]uh1j7hjk%ubj8)}(hhh]h)}(h00h]h00}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj%ubah}(h]h ]h"]h$]h&]uh1j7hjk%ubj8)}(hhh]h)}(h01h]h01}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj%ubah}(h]h ]h"]h$]h&]uh1j7hjk%ubj8)}(hhh]h)}(h02h]h02}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj%ubah}(h]h ]h"]h$]h&]uh1j7hjk%ubj8)}(hhh]h)}(h03h]h03}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj%ubah}(h]h ]h"]h$]h&]uh1j7hjk%ubeh}(h]h ]h"]h$]h&]uh1j2hj"ubj3)}(hhh](j8)}(hhh]h)}(htcal6416h]htcal6416}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj&ubah}(h]h ]h"]h$]h&]uh1j7hj&ubj8)}(hhh]h)}(h16h]h16}(hj1&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj.&ubah}(h]h ]h"]h$]h&]uh1j7hj&ubj8)}(hhh]h)}(hyesh]hyes}(hjH&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjE&ubah}(h]h ]h"]h$]h&]uh1j7hj&ubj8)}(hhh]h)}(h00h]h00}(hj_&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj\&ubah}(h]h ]h"]h$]h&]uh1j7hj&ubj8)}(hhh]h)}(h02h]h02}(hjv&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjs&ubah}(h]h ]h"]h$]h&]uh1j7hj&ubj8)}(hhh]h)}(h04h]h04}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj&ubah}(h]h ]h"]h$]h&]uh1j7hj&ubj8)}(hhh]h)}(h06h]h06}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj&ubah}(h]h ]h"]h$]h&]uh1j7hj&ubeh}(h]h ]h"]h$]h&]uh1j2hj"ubeh}(h]h ]h"]h$]h&]uh1jhj!ubeh}(h]h ]h"]h$]h&]colsKuh1jhj!ubah}(h]h ]h"]h$]h&]uh1jhj!hhhhhNubh)}(h-These chips have several additional features:h]h-These chips have several additional features:}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj!hhubh block_quote)}(h1. output drive strength setting (out_strength) 2. input latch (in_latch) 3. pull-up/pull-down (pull_in, pull_sel) 4. push-pull/open-drain outputs (out_conf) 5. interrupt mask and interrupt status (int_mask, int_status) h]henumerated_list)}(hhh](ja)}(h,output drive strength setting (out_strength)h]h)}(hj&h]h,output drive strength setting (out_strength)}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj&ubah}(h]h ]h"]h$]h&]uh1j`hj&ubja)}(hinput latch (in_latch)h]h)}(hj'h]hinput latch (in_latch)}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj'ubah}(h]h ]h"]h$]h&]uh1j`hj&ubja)}(h%pull-up/pull-down (pull_in, pull_sel)h]h)}(hj'h]h%pull-up/pull-down (pull_in, pull_sel)}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj'ubah}(h]h ]h"]h$]h&]uh1j`hj&ubja)}(h'push-pull/open-drain outputs (out_conf)h]h)}(hj1'h]h'push-pull/open-drain outputs (out_conf)}(hj3'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj/'ubah}(h]h ]h"]h$]h&]uh1j`hj&ubja)}(h;interrupt mask and interrupt status (int_mask, int_status) h]h)}(h:interrupt mask and interrupt status (int_mask, int_status)h]h:interrupt mask and interrupt status (int_mask, int_status)}(hjJ'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjF'ubah}(h]h ]h"]h$]h&]uh1j`hj&ubeh}(h]h ]h"]h$]h&]enumtypearabicprefixhsuffix.uh1j&hj&ubah}(h]h ]h"]h$]h&]uh1j&hhhKhj!hhubj)}(hhh]j )}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1j hjr'ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1j hjr'ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hjr'ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hjr'ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hjr'ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hjr'ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1j hjr'ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hjr'ubj.)}(hhh]j3)}(hhh](j8)}(hhh]h)}(h compatibleh]h compatible}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj'ubah}(h]h ]h"]h$]h&]uh1j7hj'ubj8)}(hhh]h)}(h out_strengthh]h out_strength}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj'ubah}(h]h ]h"]h$]h&]uh1j7hj'ubj8)}(hhh]h)}(hin_latchh]hin_latch}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj'ubah}(h]h ]h"]h$]h&]uh1j7hj'ubj8)}(hhh]h)}(hpull_enh]hpull_en}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj(ubah}(h]h ]h"]h$]h&]uh1j7hj'ubj8)}(hhh]h)}(hpull_selh]hpull_sel}(hj*(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj'(ubah}(h]h ]h"]h$]h&]uh1j7hj'ubj8)}(hhh]h)}(hint_maskh]hint_mask}(hjA(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj>(ubah}(h]h ]h"]h$]h&]uh1j7hj'ubj8)}(hhh]h)}(h int_statush]h int_status}(hjX(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjU(ubah}(h]h ]h"]h$]h&]uh1j7hj'ubj8)}(hhh]h)}(hout_confh]hout_conf}(hjo(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjl(ubah}(h]h ]h"]h$]h&]uh1j7hj'ubeh}(h]h ]h"]h$]h&]uh1j2hj'ubah}(h]h ]h"]h$]h&]uh1j-hjr'ubj)}(hhh](j3)}(hhh](j8)}(hhh]h)}(hpcal6408h]hpcal6408}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj(ubah}(h]h ]h"]h$]h&]uh1j7hj(ubj8)}(hhh]h)}(h40h]h40}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj(ubah}(h]h ]h"]h$]h&]uh1j7hj(ubj8)}(hhh]h)}(h42h]h42}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj(ubah}(h]h ]h"]h$]h&]uh1j7hj(ubj8)}(hhh]h)}(h43h]h43}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj(ubah}(h]h ]h"]h$]h&]uh1j7hj(ubj8)}(hhh]h)}(h44h]h44}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj(ubah}(h]h ]h"]h$]h&]uh1j7hj(ubj8)}(hhh]h)}(h45h]h45}(hj )hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj)ubah}(h]h ]h"]h$]h&]uh1j7hj(ubj8)}(hhh]h)}(h46h]h46}(hj")hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj)ubah}(h]h ]h"]h$]h&]uh1j7hj(ubj8)}(hhh]h)}(h4Fh]h4F}(hj9)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj6)ubah}(h]h ]h"]h$]h&]uh1j7hj(ubeh}(h]h ]h"]h$]h&]uh1j2hj(ubj3)}(hhh](j8)}(hhh]h)}(h pcal9554bh]h pcal9554b}(hjY)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjV)ubah}(h]h ]h"]h$]h&]uh1j7hjS)ubj8)}(hhh]h)}(h40h]h40}(hjp)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjm)ubah}(h]h ]h"]h$]h&]uh1j7hjS)ubj8)}(hhh]h)}(h42h]h42}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj)ubah}(h]h ]h"]h$]h&]uh1j7hjS)ubj8)}(hhh]h)}(h43h]h43}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj)ubah}(h]h ]h"]h$]h&]uh1j7hjS)ubj8)}(hhh]h)}(h44h]h44}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj)ubah}(h]h ]h"]h$]h&]uh1j7hjS)ubj8)}(hhh]h)}(h45h]h45}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj)ubah}(h]h ]h"]h$]h&]uh1j7hjS)ubj8)}(hhh]h)}(h46h]h46}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj)ubah}(h]h ]h"]h$]h&]uh1j7hjS)ubj8)}(hhh]h)}(h4Fh]h4F}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj)ubah}(h]h ]h"]h$]h&]uh1j7hjS)ubeh}(h]h ]h"]h$]h&]uh1j2hj(ubj3)}(hhh](j8)}(hhh]h)}(hpcal6416h]hpcal6416}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj*ubah}(h]h ]h"]h$]h&]uh1j7hj*ubj8)}(hhh]h)}(h40h]h40}(hj1*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj.*ubah}(h]h ]h"]h$]h&]uh1j7hj*ubj8)}(hhh]h)}(h44h]h44}(hjH*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjE*ubah}(h]h ]h"]h$]h&]uh1j7hj*ubj8)}(hhh]h)}(h46h]h46}(hj_*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj\*ubah}(h]h ]h"]h$]h&]uh1j7hj*ubj8)}(hhh]h)}(h48h]h48}(hjv*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjs*ubah}(h]h ]h"]h$]h&]uh1j7hj*ubj8)}(hhh]h)}(h4Ah]h4A}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj*ubah}(h]h ]h"]h$]h&]uh1j7hj*ubj8)}(hhh]h)}(h4Ch]h4C}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj*ubah}(h]h ]h"]h$]h&]uh1j7hj*ubj8)}(hhh]h)}(h4Fh]h4F}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj*ubah}(h]h ]h"]h$]h&]uh1j7hj*ubeh}(h]h ]h"]h$]h&]uh1j2hj(ubj3)}(hhh](j8)}(hhh]h)}(hpcal9535h]hpcal9535}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj*ubah}(h]h ]h"]h$]h&]uh1j7hj*ubj8)}(hhh]h)}(h40h]h40}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj*ubah}(h]h ]h"]h$]h&]uh1j7hj*ubj8)}(hhh]h)}(h44h]h44}(hj +hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj+ubah}(h]h ]h"]h$]h&]uh1j7hj*ubj8)}(hhh]h)}(h46h]h46}(hj +hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj+ubah}(h]h ]h"]h$]h&]uh1j7hj*ubj8)}(hhh]h)}(h48h]h48}(hj7+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj4+ubah}(h]h ]h"]h$]h&]uh1j7hj*ubj8)}(hhh]h)}(h4Ah]h4A}(hjN+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjK+ubah}(h]h ]h"]h$]h&]uh1j7hj*ubj8)}(hhh]h)}(h4Ch]h4C}(hje+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjb+ubah}(h]h ]h"]h$]h&]uh1j7hj*ubj8)}(hhh]h)}(h4Fh]h4F}(hj|+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjy+ubah}(h]h ]h"]h$]h&]uh1j7hj*ubeh}(h]h ]h"]h$]h&]uh1j2hj(ubj3)}(hhh](j8)}(hhh]h)}(h pcal9555ah]h pcal9555a}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj+ubah}(h]h ]h"]h$]h&]uh1j7hj+ubj8)}(hhh]h)}(h40h]h40}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj+ubah}(h]h ]h"]h$]h&]uh1j7hj+ubj8)}(hhh]h)}(h44h]h44}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj+ubah}(h]h ]h"]h$]h&]uh1j7hj+ubj8)}(hhh]h)}(h46h]h46}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj+ubah}(h]h ]h"]h$]h&]uh1j7hj+ubj8)}(hhh]h)}(h48h]h48}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj+ubah}(h]h ]h"]h$]h&]uh1j7hj+ubj8)}(hhh]h)}(h4Ah]h4A}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ,ubah}(h]h ]h"]h$]h&]uh1j7hj+ubj8)}(hhh]h)}(h4Ch]h4C}(hj&,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj#,ubah}(h]h ]h"]h$]h&]uh1j7hj+ubj8)}(hhh]h)}(h4Fh]h4F}(hj=,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj:,ubah}(h]h ]h"]h$]h&]uh1j7hj+ubeh}(h]h ]h"]h$]h&]uh1j2hj(ubj3)}(hhh](j8)}(hhh]h)}(htcal6408h]htcal6408}(hj],hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjZ,ubah}(h]h ]h"]h$]h&]uh1j7hjW,ubj8)}(hhh]h)}(h40h]h40}(hjt,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjq,ubah}(h]h ]h"]h$]h&]uh1j7hjW,ubj8)}(hhh]h)}(h42h]h42}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj,ubah}(h]h ]h"]h$]h&]uh1j7hjW,ubj8)}(hhh]h)}(h43h]h43}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj,ubah}(h]h ]h"]h$]h&]uh1j7hjW,ubj8)}(hhh]h)}(h44h]h44}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj,ubah}(h]h ]h"]h$]h&]uh1j7hjW,ubj8)}(hhh]h)}(h45h]h45}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj,ubah}(h]h ]h"]h$]h&]uh1j7hjW,ubj8)}(hhh]h)}(h46h]h46}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj,ubah}(h]h ]h"]h$]h&]uh1j7hjW,ubj8)}(hhh]h)}(h4Fh]h4F}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj,ubah}(h]h ]h"]h$]h&]uh1j7hjW,ubeh}(h]h ]h"]h$]h&]uh1j2hj(ubj3)}(hhh](j8)}(hhh]h)}(htcal6416h]htcal6416}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj-ubah}(h]h ]h"]h$]h&]uh1j7hj-ubj8)}(hhh]h)}(h40h]h40}(hj5-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj2-ubah}(h]h ]h"]h$]h&]uh1j7hj-ubj8)}(hhh]h)}(h44h]h44}(hjL-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjI-ubah}(h]h ]h"]h$]h&]uh1j7hj-ubj8)}(hhh]h)}(h46h]h46}(hjc-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj`-ubah}(h]h ]h"]h$]h&]uh1j7hj-ubj8)}(hhh]h)}(h48h]h48}(hjz-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjw-ubah}(h]h ]h"]h$]h&]uh1j7hj-ubj8)}(hhh]h)}(h4Ah]h4A}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj-ubah}(h]h ]h"]h$]h&]uh1j7hj-ubj8)}(hhh]h)}(h4Ch]h4C}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj-ubah}(h]h ]h"]h$]h&]uh1j7hj-ubj8)}(hhh]h)}(h4Fh]h4F}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj-ubah}(h]h ]h"]h$]h&]uh1j7hj-ubeh}(h]h ]h"]h$]h&]uh1j2hj(ubeh}(h]h ]h"]h$]h&]uh1jhjr'ubeh}(h]h ]h"]h$]h&]colsKuh1jhjo'ubah}(h]h ]h"]h$]h&]uh1jhj!hhhhhNubh)}(hxCurrently the driver has support for the input latch, pull-up/pull-down and uses int_mask and int_status for interrupts.h]hxCurrently the driver has support for the input latch, pull-up/pull-down and uses int_mask and int_status for interrupts.}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj!hhubeh}(h]basic-pcal-chipsah ]h"]basic pcal chipsah$]h&]uh1hhjhhhhhKjoKubh)}(hhh](h)}(hEPCAL chips with extended interrupt and output configuration functionsh]hEPCAL chips with extended interrupt and output configuration functions}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj.hhhhhKubj)}(hhh]j )}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1j hj.ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hj.ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1j hj.ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hj.ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hj.ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hj.ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1j hj.ubj.)}(hhh]j3)}(hhh](j8)}(hhh]h)}(h compatibleh]h compatible}(hjh.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhje.ubah}(h]h ]h"]h$]h&]uh1j7hjb.ubj8)}(hhh]h)}(hlinesh]hlines}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj|.ubah}(h]h ]h"]h$]h&]uh1j7hjb.ubj8)}(hhh]h)}(h interrupth]h interrupt}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj.ubah}(h]h ]h"]h$]h&]uh1j7hjb.ubj8)}(hhh]h)}(hinputh]hinput}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj.ubah}(h]h ]h"]h$]h&]uh1j7hjb.ubj8)}(hhh]h)}(houtputh]houtput}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj.ubah}(h]h ]h"]h$]h&]uh1j7hjb.ubj8)}(hhh]h)}(hinverth]hinvert}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj.ubah}(h]h ]h"]h$]h&]uh1j7hjb.ubj8)}(hhh]h)}(h directionh]h direction}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj.ubah}(h]h ]h"]h$]h&]uh1j7hjb.ubeh}(h]h ]h"]h$]h&]uh1j2hj_.ubah}(h]h ]h"]h$]h&]uh1j-hj.ubj)}(hhh](j3)}(hhh](j8)}(hhh]h)}(hpcal6524h]hpcal6524}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj/ubah}(h]h ]h"]h$]h&]uh1j7hj/ubj8)}(hhh]h)}(h24h]h24}(hj2/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj//ubah}(h]h ]h"]h$]h&]uh1j7hj/ubj8)}(hhh]h)}(hyesh]hyes}(hjI/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjF/ubah}(h]h ]h"]h$]h&]uh1j7hj/ubj8)}(hhh]h)}(h00h]h00}(hj`/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj]/ubah}(h]h ]h"]h$]h&]uh1j7hj/ubj8)}(hhh]h)}(h04h]h04}(hjw/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjt/ubah}(h]h ]h"]h$]h&]uh1j7hj/ubj8)}(hhh]h)}(h08h]h08}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj/ubah}(h]h ]h"]h$]h&]uh1j7hj/ubj8)}(hhh]h)}(h0Ch]h0C}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj/ubah}(h]h ]h"]h$]h&]uh1j7hj/ubeh}(h]h ]h"]h$]h&]uh1j2hj/ubj3)}(hhh](j8)}(hhh]h)}(hpcal6534h]hpcal6534}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj/ubah}(h]h ]h"]h$]h&]uh1j7hj/ubj8)}(hhh]h)}(h34h]h34}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj/ubah}(h]h ]h"]h$]h&]uh1j7hj/ubj8)}(hhh]h)}(hyesh]hyes}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj/ubah}(h]h ]h"]h$]h&]uh1j7hj/ubj8)}(hhh]h)}(h00h]h00}(hj 0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj0ubah}(h]h ]h"]h$]h&]uh1j7hj/ubj8)}(hhh]h)}(h05h]h05}(hj!0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj0ubah}(h]h ]h"]h$]h&]uh1j7hj/ubj8)}(hhh]h)}(h0Ah]h0A}(hj80hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj50ubah}(h]h ]h"]h$]h&]uh1j7hj/ubj8)}(hhh]h)}(h0Fh]h0F}(hjO0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjL0ubah}(h]h ]h"]h$]h&]uh1j7hj/ubeh}(h]h ]h"]h$]h&]uh1j2hj/ubeh}(h]h ]h"]h$]h&]uh1jhj.ubeh}(h]h ]h"]h$]h&]colsKuh1jhj.ubah}(h]h ]h"]h$]h&]uh1jhj.hhhhhNubh)}(hJThese chips have the full PCAL register set, plus the following functions:h]hJThese chips have the full PCAL register set, plus the following functions:}(hj|0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj.hhubj&)}(h1. interrupt event selection: level, rising, falling, any edge 2. clear interrupt status per line 3. read input without clearing interrupt status 4. individual output config (push-pull/open-drain) per output line 5. debounce inputs h]j&)}(hhh](ja)}(h;interrupt event selection: level, rising, falling, any edgeh]h)}(hj0h]h;interrupt event selection: level, rising, falling, any edge}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj0ubah}(h]h ]h"]h$]h&]uh1j`hj0ubja)}(hclear interrupt status per lineh]h)}(hj0h]hclear interrupt status per line}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj0ubah}(h]h ]h"]h$]h&]uh1j`hj0ubja)}(h,read input without clearing interrupt statush]h)}(hj0h]h,read input without clearing interrupt status}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj0ubah}(h]h ]h"]h$]h&]uh1j`hj0ubja)}(h?individual output config (push-pull/open-drain) per output lineh]h)}(hj0h]h?individual output config (push-pull/open-drain) per output line}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj0ubah}(h]h ]h"]h$]h&]uh1j`hj0ubja)}(hdebounce inputs h]h)}(hdebounce inputsh]hdebounce inputs}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj0ubah}(h]h ]h"]h$]h&]uh1j`hj0ubeh}(h]h ]h"]h$]h&]jd'je'jf'hjg'jh'uh1j&hj0ubah}(h]h ]h"]h$]h&]uh1j&hhhKhj.hhubj)}(hhh]j )}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1j hj1ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1j hj1ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hj1ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hj1ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hj1ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hj1ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1j hj1ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hj1ubj.)}(hhh]j3)}(hhh](j8)}(hhh]h)}(h compatibleh]h compatible}(hjp1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjm1ubah}(h]h ]h"]h$]h&]uh1j7hjj1ubj8)}(hhh]h)}(h out_strengthh]h out_strength}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj1ubah}(h]h ]h"]h$]h&]uh1j7hjj1ubj8)}(hhh]h)}(hin_latchh]hin_latch}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj1ubah}(h]h ]h"]h$]h&]uh1j7hjj1ubj8)}(hhh]h)}(hpull_enh]hpull_en}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj1ubah}(h]h ]h"]h$]h&]uh1j7hjj1ubj8)}(hhh]h)}(hpull_selh]hpull_sel}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj1ubah}(h]h ]h"]h$]h&]uh1j7hjj1ubj8)}(hhh]h)}(hint_maskh]hint_mask}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj1ubah}(h]h ]h"]h$]h&]uh1j7hjj1ubj8)}(hhh]h)}(h int_statush]h int_status}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj1ubah}(h]h ]h"]h$]h&]uh1j7hjj1ubj8)}(hhh]h)}(hout_confh]hout_conf}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj2ubah}(h]h ]h"]h$]h&]uh1j7hjj1ubeh}(h]h ]h"]h$]h&]uh1j2hjg1ubah}(h]h ]h"]h$]h&]uh1j-hj1ubj)}(hhh](j3)}(hhh](j8)}(hhh]h)}(hpcal6524h]hpcal6524}(hj:2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj72ubah}(h]h ]h"]h$]h&]uh1j7hj42ubj8)}(hhh]h)}(h40h]h40}(hjQ2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjN2ubah}(h]h ]h"]h$]h&]uh1j7hj42ubj8)}(hhh]h)}(h48h]h48}(hjh2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhje2ubah}(h]h ]h"]h$]h&]uh1j7hj42ubj8)}(hhh]h)}(h4Ch]h4C}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj|2ubah}(h]h ]h"]h$]h&]uh1j7hj42ubj8)}(hhh]h)}(h50h]h50}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj2ubah}(h]h ]h"]h$]h&]uh1j7hj42ubj8)}(hhh]h)}(h54h]h54}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj2ubah}(h]h ]h"]h$]h&]uh1j7hj42ubj8)}(hhh]h)}(h58h]h58}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj2ubah}(h]h ]h"]h$]h&]uh1j7hj42ubj8)}(hhh]h)}(h5Ch]h5C}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj2ubah}(h]h ]h"]h$]h&]uh1j7hj42ubeh}(h]h ]h"]h$]h&]uh1j2hj12ubj3)}(hhh](j8)}(hhh]h)}(hpcal6534h]hpcal6534}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj2ubah}(h]h ]h"]h$]h&]uh1j7hj2ubj8)}(hhh]h)}(h30h]h30}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj3ubah}(h]h ]h"]h$]h&]uh1j7hj2ubj8)}(hhh]h)}(h3Ah]h3A}(hj)3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj&3ubah}(h]h ]h"]h$]h&]uh1j7hj2ubj8)}(hhh]h)}(h3Fh]h3F}(hj@3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj=3ubah}(h]h ]h"]h$]h&]uh1j7hj2ubj8)}(hhh]h)}(h44h]h44}(hjW3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjT3ubah}(h]h ]h"]h$]h&]uh1j7hj2ubj8)}(hhh]h)}(h49h]h49}(hjn3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjk3ubah}(h]h ]h"]h$]h&]uh1j7hj2ubj8)}(hhh]h)}(h4Eh]h4E}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj3ubah}(h]h ]h"]h$]h&]uh1j7hj2ubj8)}(hhh]h)}(h53h]h53}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj3ubah}(h]h ]h"]h$]h&]uh1j7hj2ubeh}(h]h ]h"]h$]h&]uh1j2hj12ubeh}(h]h ]h"]h$]h&]uh1jhj1ubeh}(h]h ]h"]h$]h&]colsKuh1jhj1ubah}(h]h ]h"]h$]h&]uh1jhj.hhhhhNubj)}(hhh]j )}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1j hj3ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hj3ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1j hj3ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1j hj3ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hj3ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hj3ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hj3ubj.)}(hhh]j3)}(hhh](j8)}(hhh]h)}(h compatibleh]h compatible}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj4ubah}(h]h ]h"]h$]h&]uh1j7hj4ubj8)}(hhh]h)}(hint_edgeh]hint_edge}(hj54hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj24ubah}(h]h ]h"]h$]h&]uh1j7hj4ubj8)}(hhh]h)}(h int_clearh]h int_clear}(hjL4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjI4ubah}(h]h ]h"]h$]h&]uh1j7hj4ubj8)}(hhh]h)}(h input_statush]h input_status}(hjc4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj`4ubah}(h]h ]h"]h$]h&]uh1j7hj4ubj8)}(hhh]h)}(hindiv_out_confh]hindiv_out_conf}(hjz4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjw4ubah}(h]h ]h"]h$]h&]uh1j7hj4ubj8)}(hhh]h)}(hdebounceh]hdebounce}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj4ubah}(h]h ]h"]h$]h&]uh1j7hj4ubj8)}(hhh]h)}(hdebounce_counth]hdebounce_count}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj4ubah}(h]h ]h"]h$]h&]uh1j7hj4ubeh}(h]h ]h"]h$]h&]uh1j2hj4ubah}(h]h ]h"]h$]h&]uh1j-hj3ubj)}(hhh](j3)}(hhh](j8)}(hhh]h)}(hpcal6524h]hpcal6524}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj4ubah}(h]h ]h"]h$]h&]uh1j7hj4ubj8)}(hhh]h)}(h60h]h60}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj4ubah}(h]h ]h"]h$]h&]uh1j7hj4ubj8)}(hhh]h)}(h68h]h68}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj4ubah}(h]h ]h"]h$]h&]uh1j7hj4ubj8)}(hhh]h)}(h6Ch]h6C}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj5ubah}(h]h ]h"]h$]h&]uh1j7hj4ubj8)}(hhh]h)}(h70h]h70}(hj-5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj*5ubah}(h]h ]h"]h$]h&]uh1j7hj4ubj8)}(hhh]h)}(h74h]h74}(hjD5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjA5ubah}(h]h ]h"]h$]h&]uh1j7hj4ubj8)}(hhh]h)}(h76h]h76}(hj[5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjX5ubah}(h]h ]h"]h$]h&]uh1j7hj4ubeh}(h]h ]h"]h$]h&]uh1j2hj4ubj3)}(hhh](j8)}(hhh]h)}(hpcal6534h]hpcal6534}(hj{5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjx5ubah}(h]h ]h"]h$]h&]uh1j7hju5ubj8)}(hhh]h)}(h54h]h54}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj5ubah}(h]h ]h"]h$]h&]uh1j7hju5ubj8)}(hhh]h)}(h5Eh]h5E}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj5ubah}(h]h ]h"]h$]h&]uh1j7hju5ubj8)}(hhh]h)}(h63h]h63}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj5ubah}(h]h ]h"]h$]h&]uh1j7hju5ubj8)}(hhh]h)}(h68h]h68}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj5ubah}(h]h ]h"]h$]h&]uh1j7hju5ubj8)}(hhh]h)}(h6Dh]h6D}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj5ubah}(h]h ]h"]h$]h&]uh1j7hju5ubj8)}(hhh]h)}(h6Fh]h6F}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj6ubah}(h]h ]h"]h$]h&]uh1j7hju5ubeh}(h]h ]h"]h$]h&]uh1j2hj4ubeh}(h]h ]h"]h$]h&]uh1jhj3ubeh}(h]h ]h"]h$]h&]colsKuh1jhj3ubah}(h]h ]h"]h$]h&]uh1jhj.hhhhhNubh)}(h~As can be seen in the table above, pcal6534 does not follow the usual bank spacing rule. Its banks are closely packed instead.h]h~As can be seen in the table above, pcal6534 does not follow the usual bank spacing rule. Its banks are closely packed instead.}(hj26hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj.hhubeh}(h]Epcal-chips-with-extended-interrupt-and-output-configuration-functionsah ]h"]Epcal chips with extended interrupt and output configuration functionsah$]h&]uh1hhjhhhhhKjoKubh)}(hhh](h)}(h9PCA957X chips with a completely different register layouth]h9PCA957X chips with a completely different register layout}(hjK6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjH6hhhhhKubh)}(hAThese chips have the basic 4 registers, but at unusual addresses.h]hAThese chips have the basic 4 registers, but at unusual addresses.}(hjY6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjH6hhubh)}(hAdditionally, they have:h]hAdditionally, they have:}(hjg6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjH6hhubj&)}(h1. pull-up/pull-down (pull_sel) 2. a global pull enable, defaults to disabled (config) 3. interrupt mask, interrupt status (int_mask, int_status) h]j&)}(hhh](ja)}(hpull-up/pull-down (pull_sel)h]h)}(hj~6h]hpull-up/pull-down (pull_sel)}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj|6ubah}(h]h ]h"]h$]h&]uh1j`hjy6ubja)}(h3a global pull enable, defaults to disabled (config)h]h)}(hj6h]h3a global pull enable, defaults to disabled (config)}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj6ubah}(h]h ]h"]h$]h&]uh1j`hjy6ubja)}(h8interrupt mask, interrupt status (int_mask, int_status) h]h)}(h7interrupt mask, interrupt status (int_mask, int_status)h]h7interrupt mask, interrupt status (int_mask, int_status)}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj6ubah}(h]h ]h"]h$]h&]uh1j`hjy6ubeh}(h]h ]h"]h$]h&]jd'je'jf'hjg'jh'uh1j&hju6ubah}(h]h ]h"]h$]h&]uh1j&hhhKhjH6hhubj)}(hhh]j )}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1j hj6ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hj6ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1j hj6ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hj6ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hj6ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hj6ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hj6ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1j hj6ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hj6ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hj6ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1j hj6ubj.)}(hhh]j3)}(hhh](j8)}(hhh]h)}(h compatibleh]h compatible}(hjK7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjH7ubah}(h]h ]h"]h$]h&]uh1j7hjE7ubj8)}(hhh]h)}(hlinesh]hlines}(hjb7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj_7ubah}(h]h ]h"]h$]h&]uh1j7hjE7ubj8)}(hhh]h)}(h interrupth]h interrupt}(hjy7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjv7ubah}(h]h ]h"]h$]h&]uh1j7hjE7ubj8)}(hhh]h)}(hinputh]hinput}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj7ubah}(h]h ]h"]h$]h&]uh1j7hjE7ubj8)}(hhh]h)}(hinverth]hinvert}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj7ubah}(h]h ]h"]h$]h&]uh1j7hjE7ubj8)}(hhh]h)}(hconfigh]hconfig}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj7ubah}(h]h ]h"]h$]h&]uh1j7hjE7ubj8)}(hhh]h)}(hpull_selh]hpull_sel}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj7ubah}(h]h ]h"]h$]h&]uh1j7hjE7ubj8)}(hhh]h)}(h directionh]h direction}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj7ubah}(h]h ]h"]h$]h&]uh1j7hjE7ubj8)}(hhh]h)}(houtputh]houtput}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj8ubah}(h]h ]h"]h$]h&]uh1j7hjE7ubj8)}(hhh]h)}(hint_maskh]hint_mask}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj8ubah}(h]h ]h"]h$]h&]uh1j7hjE7ubj8)}(hhh]h)}(h int_statush]h int_status}(hj18hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj.8ubah}(h]h ]h"]h$]h&]uh1j7hjE7ubeh}(h]h ]h"]h$]h&]uh1j2hjB7ubah}(h]h ]h"]h$]h&]uh1j-hj6ubj)}(hhh](j3)}(hhh](j8)}(hhh]h)}(hpca9574h]hpca9574}(hjZ8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjW8ubah}(h]h ]h"]h$]h&]uh1j7hjT8ubj8)}(hhh]h)}(hj1 h]h8}(hjq8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjn8ubah}(h]h ]h"]h$]h&]uh1j7hjT8ubj8)}(hhh]h)}(hyesh]hyes}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj8ubah}(h]h ]h"]h$]h&]uh1j7hjT8ubj8)}(hhh]h)}(h00h]h00}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj8ubah}(h]h ]h"]h$]h&]uh1j7hjT8ubj8)}(hhh]h)}(h01h]h01}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj8ubah}(h]h ]h"]h$]h&]uh1j7hjT8ubj8)}(hhh]h)}(h02h]h02}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj8ubah}(h]h ]h"]h$]h&]uh1j7hjT8ubj8)}(hhh]h)}(h03h]h03}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj8ubah}(h]h ]h"]h$]h&]uh1j7hjT8ubj8)}(hhh]h)}(h04h]h04}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj8ubah}(h]h ]h"]h$]h&]uh1j7hjT8ubj8)}(hhh]h)}(h05h]h05}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj9ubah}(h]h ]h"]h$]h&]uh1j7hjT8ubj8)}(hhh]h)}(h06h]h06}(hj(9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj%9ubah}(h]h ]h"]h$]h&]uh1j7hjT8ubj8)}(hhh]h)}(h07h]h07}(hj?9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj<9ubah}(h]h ]h"]h$]h&]uh1j7hjT8ubeh}(h]h ]h"]h$]h&]uh1j2hjQ8ubj3)}(hhh](j8)}(hhh]h)}(hpca9575h]hpca9575}(hj_9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj\9ubah}(h]h ]h"]h$]h&]uh1j7hjY9ubj8)}(hhh]h)}(h16h]h16}(hjv9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjs9ubah}(h]h ]h"]h$]h&]uh1j7hjY9ubj8)}(hhh]h)}(hyesh]hyes}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj9ubah}(h]h ]h"]h$]h&]uh1j7hjY9ubj8)}(hhh]h)}(h00h]h00}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj9ubah}(h]h ]h"]h$]h&]uh1j7hjY9ubj8)}(hhh]h)}(h02h]h02}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj9ubah}(h]h ]h"]h$]h&]uh1j7hjY9ubj8)}(hhh]h)}(h04h]h04}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj9ubah}(h]h ]h"]h$]h&]uh1j7hjY9ubj8)}(hhh]h)}(h06h]h06}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj9ubah}(h]h ]h"]h$]h&]uh1j7hjY9ubj8)}(hhh]h)}(h08h]h08}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj9ubah}(h]h ]h"]h$]h&]uh1j7hjY9ubj8)}(hhh]h)}(h0Ah]h0A}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj:ubah}(h]h ]h"]h$]h&]uh1j7hjY9ubj8)}(hhh]h)}(h0Ch]h0C}(hj.:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj+:ubah}(h]h ]h"]h$]h&]uh1j7hjY9ubj8)}(hhh]h)}(h0Eh]h0E}(hjE:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjB:ubah}(h]h ]h"]h$]h&]uh1j7hjY9ubeh}(h]h ]h"]h$]h&]uh1j2hjQ8ubeh}(h]h ]h"]h$]h&]uh1jhj6ubeh}(h]h ]h"]h$]h&]colsK uh1jhj6ubah}(h]h ]h"]h$]h&]uh1jhjH6hhhhhNubh)}(hhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj>ubah}(h]h ]h"]h$]h&]uh1j7hj=ubj8)}(hhh]h)}(hdebounceh]hdebounce}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj>ubah}(h]h ]h"]h$]h&]uh1j7hj=ubeh}(h]h ]h"]h$]h&]uh1j2hj=ubah}(h]h ]h"]h$]h&]uh1j-hj?=ubj)}(hhh]j3)}(hhh](j8)}(hhh]h)}(hxra1202h]hxra1202}(hjD>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjA>ubah}(h]h ]h"]h$]h&]uh1j7hj>>ubj8)}(hhh]h)}(h05h]h05}(hj[>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjX>ubah}(h]h ]h"]h$]h&]uh1j7hj>>ubj8)}(hhh]h)}(h06h]h06}(hjr>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjo>ubah}(h]h ]h"]h$]h&]uh1j7hj>>ubj8)}(hhh]h)}(h07h]h07}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj>ubah}(h]h ]h"]h$]h&]uh1j7hj>>ubj8)}(hhh]h)}(h08h]h08}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj>ubah}(h]h ]h"]h$]h&]uh1j7hj>>ubj8)}(hhh]h)}(h09h]h09}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj>ubah}(h]h ]h"]h$]h&]uh1j7hj>>ubj8)}(hhh]h)}(h0Ah]h0A}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj>ubah}(h]h ]h"]h$]h&]uh1j7hj>>ubeh}(h]h ]h"]h$]h&]uh1j2hj;>ubah}(h]h ]h"]h$]h&]uh1jhj?=ubeh}(h]h ]h"]h$]h&]colsKuh1jhj<=ubah}(h]h ]h"]h$]h&]uh1jhj:hhhhhNubeh}(h]xra1202ah ]h"]xra1202ah$]h&]uh1hhjhhhhhMjoKubeh}(h]overview-of-chipsah ]h"]overview of chipsah$]h&]uh1hhhhhhhhK ubh)}(hhh](h)}(hOverview of functionsh]hOverview of functions}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ?hhhhhM!ubh)}(huThis section lists chip functions that are supported by the driver already, or are at least common in multiple chips.h]huThis section lists chip functions that are supported by the driver already, or are at least common in multiple chips.}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM#hj ?hhubh)}(hhh](h)}(h Input, Output, Invert, Directionh]h Input, Output, Invert, Direction}(hj-?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj*?hhhhhM'ubh)}(hThe basic 4 GPIO functions are present in all but one chip category, i.e. `Chips with LED blink and intensity control`_ are missing the invert register.h](hJThe basic 4 GPIO functions are present in all but one chip category, i.e. }(hj;?hhhNhNubh)}(h-`Chips with LED blink and intensity control`_h]h*Chips with LED blink and intensity control}(hjC?hhhNhNubah}(h]h ]h"]h$]h&]name*Chips with LED blink and intensity controlrefidj!uh1hhj;?resolvedKubh! are missing the invert register.}(hj;?hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM)hj*?hhubh)}(h13 different layouts are used for these registers:h]h13 different layouts are used for these registers:}(hj_?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM-hj*?hhubj&)}(h1. banks 0, 1, 2, 3 with bank offsets of 2^n - all other chips 2. banks 0, 1, 2, 3 with closely packed banks - pcal6534 3. banks 0, 5, 1, 4 with bank offsets of 2^n - pca9574 - pca9575 h]j&)}(hhh](ja)}(h=banks 0, 1, 2, 3 with bank offsets of 2^n - all other chips h]hdefinition_list)}(hhh]hdefinition_list_item)}(hbanks 0, 5, 1, 4 with bank offsets of 2^n - pca9574 - pca9575 h](j?)}(h)banks 0, 5, 1, 4 with bank offsets of 2^nh]h)banks 0, 5, 1, 4 with bank offsets of 2^n}(hj1@hhhNhNubah}(h]h ]h"]h$]h&]uh1j?hhhM7hj-@ubj?)}(hhh]j\)}(hhh](ja)}(hpca9574h]h)}(hjG@h]hpca9574}(hjI@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM6hjE@ubah}(h]h ]h"]h$]h&]uh1j`hjB@ubja)}(hpca9575 h]h)}(hpca9575h]hpca9575}(hj`@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM7hj\@ubah}(h]h ]h"]h$]h&]uh1j`hjB@ubeh}(h]h ]h"]h$]h&]jjuh1j[hhhM6hj?@ubah}(h]h ]h"]h$]h&]uh1j?hj-@ubeh}(h]h ]h"]h$]h&]uh1j}?hhhM7hj*@ubah}(h]h ]h"]h$]h&]uh1jx?hj&@ubah}(h]h ]h"]h$]h&]uh1j`hjq?ubeh}(h]h ]h"]h$]h&]jd'je'jf'hjg'jh'uh1j&hjm?ubah}(h]h ]h"]h$]h&]uh1j&hhhM/hj*?hhubeh}(h]input-output-invert-directionah ]h"] input, output, invert, directionah$]h&]uh1hhj ?hhhhhM'ubh)}(hhh](h)}(h Interruptsh]h Interrupts}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj@hhhhhM:ubh)}(hhh](h)}(hOnly an interrupt mask registerh]hOnly an interrupt mask register}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj@hhhhhM=ubh)}(h)The same layout is used for all of these:h]h)The same layout is used for all of these:}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM>hj@hhubj&)}(hM1. bank 5 with bank offsets of 2^n - pca9505 - pca9506 - pca9698 h]j&)}(hhh]ja)}(hAbank 5 with bank offsets of 2^n - pca9505 - pca9506 - pca9698 h]jy?)}(hhh]j~?)}(h>bank 5 with bank offsets of 2^n - pca9505 - pca9506 - pca9698 h](j?)}(hbank 5 with bank offsets of 2^nh]hbank 5 with bank offsets of 2^n}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1j?hhhMChj@ubj?)}(hhh]j\)}(hhh](ja)}(hpca9505h]h)}(hj@h]hpca9505}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMAhj@ubah}(h]h ]h"]h$]h&]uh1j`hj@ubja)}(hpca9506h]h)}(hjAh]hpca9506}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMBhjAubah}(h]h ]h"]h$]h&]uh1j`hj@ubja)}(hpca9698 h]h)}(hpca9698h]hpca9698}(hj.AhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMChj*Aubah}(h]h ]h"]h$]h&]uh1j`hj@ubeh}(h]h ]h"]h$]h&]jjuh1j[hhhMAhj@ubah}(h]h ]h"]h$]h&]uh1j?hj@ubeh}(h]h ]h"]h$]h&]uh1j}?hhhMChj@ubah}(h]h ]h"]h$]h&]uh1jx?hj@ubah}(h]h ]h"]h$]h&]uh1j`hj@ubah}(h]h ]h"]h$]h&]jd'je'jf'hjg'jh'uh1j&hj@ubah}(h]h ]h"]h$]h&]uh1j&hhhM@hj@hhubeh}(h]only-an-interrupt-mask-registerah ]h"]only an interrupt mask registerah$]h&]uh1hhj@hhhhhM=ubh)}(hhh](h)}(h-Interrupt mask and interrupt status registersh]h-Interrupt mask and interrupt status registers}(hjwAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjtAhhhhhMFubh)}(hzThese work the same way in all of the chips: mask and status have one bit per line, 1 in the mask means interrupt enabled.h]hzThese work the same way in all of the chips: mask and status have one bit per line, 1 in the mask means interrupt enabled.}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMGhjtAhhubh)}(hLayouts:h]hLayouts:}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMJhjtAhhubj&)}(hXt1. base offset 0x40, bank 5 and bank 6, bank offsets of 2^n - pcal6408 - pcal6416 - pcal9535 - pcal9554b - pcal9555a - pcal6524 - tcal6408 - tcal6416 2. base offset 0x30, bank 5 and 6, closely packed banks - pcal6534 3. bank 6 and 7, bank offsets of 2^n - pca9574 - pca9575 4. bank 5 and 7, bank offsets of 2^n - xra1202 h]j&)}(hhh](ja)}(hbase offset 0x40, bank 5 and bank 6, bank offsets of 2^n - pcal6408 - pcal6416 - pcal9535 - pcal9554b - pcal9555a - pcal6524 - tcal6408 - tcal6416 h]jy?)}(hhh]j~?)}(hbase offset 0x40, bank 5 and bank 6, bank offsets of 2^n - pcal6408 - pcal6416 - pcal9535 - pcal9554b - pcal9555a - pcal6524 - tcal6408 - tcal6416 h](j?)}(h8base offset 0x40, bank 5 and bank 6, bank offsets of 2^nh]h8base offset 0x40, bank 5 and bank 6, bank offsets of 2^n}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1j?hhhMThjAubj?)}(hhh]j\)}(hhh](ja)}(hpcal6408h]h)}(hjAh]hpcal6408}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMMhjAubah}(h]h ]h"]h$]h&]uh1j`hjAubja)}(hpcal6416h]h)}(hjAh]hpcal6416}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMNhjAubah}(h]h ]h"]h$]h&]uh1j`hjAubja)}(hpcal9535h]h)}(hjAh]hpcal9535}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMOhjAubah}(h]h ]h"]h$]h&]uh1j`hjAubja)}(h pcal9554bh]h)}(hjBh]h pcal9554b}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMPhj Bubah}(h]h ]h"]h$]h&]uh1j`hjAubja)}(h pcal9555ah]h)}(hj%Bh]h pcal9555a}(hj'BhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMQhj#Bubah}(h]h ]h"]h$]h&]uh1j`hjAubja)}(hpcal6524h]h)}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMRhj:Bubah}(h]h ]h"]h$]h&]uh1j`hjAubja)}(htcal6408h]h)}(hjSBh]htcal6408}(hjUBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMShjQBubah}(h]h ]h"]h$]h&]uh1j`hjAubja)}(h tcal6416 h]h)}(htcal6416h]htcal6416}(hjlBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMThjhBubah}(h]h ]h"]h$]h&]uh1j`hjAubeh}(h]h ]h"]h$]h&]jjuh1j[hhhMMhjAubah}(h]h ]h"]h$]h&]uh1j?hjAubeh}(h]h ]h"]h$]h&]uh1j}?hhhMThjAubah}(h]h ]h"]h$]h&]uh1jx?hjAubah}(h]h ]h"]h$]h&]uh1j`hjAubja)}(hAbase offset 0x30, bank 5 and 6, closely packed banks - pcal6534 h]jy?)}(hhh]j~?)}(h@base offset 0x30, bank 5 and 6, closely packed banks - pcal6534 h](j?)}(h4base offset 0x30, bank 5 and 6, closely packed banksh]h4base offset 0x30, bank 5 and 6, closely packed banks}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1j?hhhMWhjBubj?)}(hhh]j\)}(hhh]ja)}(h pcal6534 h]h)}(hpcal6534h]hpcal6534}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMWhjBubah}(h]h ]h"]h$]h&]uh1j`hjBubah}(h]h ]h"]h$]h&]jjuh1j[hhhMWhjBubah}(h]h ]h"]h$]h&]uh1j?hjBubeh}(h]h ]h"]h$]h&]uh1j}?hhhMWhjBubah}(h]h ]h"]h$]h&]uh1jx?hjBubah}(h]h ]h"]h$]h&]uh1j`hjAubja)}(h8bank 6 and 7, bank offsets of 2^n - pca9574 - pca9575 h]jy?)}(hhh]j~?)}(h6bank 6 and 7, bank offsets of 2^n - pca9574 - pca9575 h](j?)}(h!bank 6 and 7, bank offsets of 2^nh]h!bank 6 and 7, bank offsets of 2^n}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1j?hhhM[hjBubj?)}(hhh]j\)}(hhh](ja)}(hpca9574h]h)}(hjCh]hpca9574}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMZhjCubah}(h]h ]h"]h$]h&]uh1j`hjCubja)}(hpca9575 h]h)}(hpca9575h]hpca9575}(hj-ChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM[hj)Cubah}(h]h ]h"]h$]h&]uh1j`hjCubeh}(h]h ]h"]h$]h&]jjuh1j[hhhMZhj Cubah}(h]h ]h"]h$]h&]uh1j?hjBubeh}(h]h ]h"]h$]h&]uh1j}?hhhM[hjBubah}(h]h ]h"]h$]h&]uh1jx?hjBubah}(h]h ]h"]h$]h&]uh1j`hjAubja)}(h-bank 5 and 7, bank offsets of 2^n - xra1202 h]jy?)}(hhh]j~?)}(h,bank 5 and 7, bank offsets of 2^n - xra1202 h](j?)}(h!bank 5 and 7, bank offsets of 2^nh]h!bank 5 and 7, bank offsets of 2^n}(hjjChhhNhNubah}(h]h ]h"]h$]h&]uh1j?hhhM^hjfCubj?)}(hhh]j\)}(hhh]ja)}(hxra1202 h]h)}(hxra1202h]hxra1202}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM^hj~Cubah}(h]h ]h"]h$]h&]uh1j`hj{Cubah}(h]h ]h"]h$]h&]jjuh1j[hhhM^hjxCubah}(h]h ]h"]h$]h&]uh1j?hjfCubeh}(h]h ]h"]h$]h&]uh1j}?hhhM^hjcCubah}(h]h ]h"]h$]h&]uh1jx?hj_Cubah}(h]h ]h"]h$]h&]uh1j`hjAubeh}(h]h ]h"]h$]h&]jd'je'jf'hjg'jh'uh1j&hjAubah}(h]h ]h"]h$]h&]uh1j&hhhMLhjtAhhubeh}(h]-interrupt-mask-and-interrupt-status-registersah ]h"]-interrupt mask and interrupt status registersah$]h&]uh1hhj@hhhhhMFubh)}(hhh](h)}(hInterrupt on specific edgesh]hInterrupt on specific edges}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhjChhhhhMaubh)}(h`PCAL chips with extended interrupt and output configuration functions`_ have an int_edge register. This contains 2 bits per line, one of 4 events can be selected for each line:h](h)}(hH`PCAL chips with extended interrupt and output configuration functions`_h]hEPCAL chips with extended interrupt and output configuration functions}(hjChhhNhNubah}(h]h ]h"]h$]h&]nameEPCAL chips with extended interrupt and output configuration functionsjS?jB6uh1hhjCjT?Kubhi have an int_edge register. This contains 2 bits per line, one of 4 events can be selected for each line:}(hjChhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMbhjChhubj&)}(h70: level, 1: rising edge, 2: falling edge, 3: any edge h]h)}(h60: level, 1: rising edge, 2: falling edge, 3: any edgeh]h60: level, 1: rising edge, 2: falling edge, 3: any edge}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMfhjCubah}(h]h ]h"]h$]h&]uh1j&hhhMfhjChhubh)}(hLayouts:h]hLayouts:}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhhjChhubj&)}(h1. base offset 0x40, bank 7, bank offsets of 2^n - pcal6524 2. base offset 0x30, bank 7 + offset 0x01, closely packed banks (out_conf is 1 byte, not (lines/8) bytes, hence the 0x01 offset) - pcal6534 h]j&)}(hhh](ja)}(h;base offset 0x40, bank 7, bank offsets of 2^n - pcal6524 h](h)}(h-base offset 0x40, bank 7, bank offsets of 2^nh]h-base offset 0x40, bank 7, bank offsets of 2^n}(hj(DhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMjhj$Dubj&)}(h - pcal6524 h]j\)}(hhh]ja)}(h pcal6524 h]h)}(hpcal6524h]hpcal6524}(hjADhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMlhj=Dubah}(h]h ]h"]h$]h&]uh1j`hj:Dubah}(h]h ]h"]h$]h&]jjuh1j[hhhMlhj6Dubah}(h]h ]h"]h$]h&]uh1j&hhhMlhj$Dubeh}(h]h ]h"]h$]h&]uh1j`hj!Dubja)}(hbase offset 0x30, bank 7 + offset 0x01, closely packed banks (out_conf is 1 byte, not (lines/8) bytes, hence the 0x01 offset) - pcal6534 h](h)}(h}base offset 0x30, bank 7 + offset 0x01, closely packed banks (out_conf is 1 byte, not (lines/8) bytes, hence the 0x01 offset)h]h}base offset 0x30, bank 7 + offset 0x01, closely packed banks (out_conf is 1 byte, not (lines/8) bytes, hence the 0x01 offset)}(hjkDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMnhjgDubj&)}(h - pcal6534 h]j\)}(hhh]ja)}(h pcal6534 h]h)}(hpcal6534h]hpcal6534}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMqhjDubah}(h]h ]h"]h$]h&]uh1j`hj}Dubah}(h]h ]h"]h$]h&]jjuh1j[hhhMqhjyDubah}(h]h ]h"]h$]h&]uh1j&hhhMqhjgDubeh}(h]h ]h"]h$]h&]uh1j`hj!Dubeh}(h]h ]h"]h$]h&]jd'je'jf'hjg'jh'uh1j&hjDubah}(h]h ]h"]h$]h&]uh1j&hhhMjhjChhubh)}(h`XRA1202`_ chips have a different mechanism for the same thing: they have a rising mask and a falling mask, with one bit per line.h](h)}(h `XRA1202`_h]hXRA1202}(hjDhhhNhNubah}(h]h ]h"]h$]h&]nameXRA1202jS?j>uh1hhjDjT?Kubhx chips have a different mechanism for the same thing: they have a rising mask and a falling mask, with one bit per line.}(hjDhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMshjChhubh)}(hLayout:h]hLayout:}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMvhjChhubj&)}(h1. bank 5, bank offsets of 2^n h]j&)}(hhh]ja)}(hbank 5, bank offsets of 2^n h]h)}(hbank 5, bank offsets of 2^nh]hbank 5, bank offsets of 2^n}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMxhjDubah}(h]h ]h"]h$]h&]uh1j`hjDubah}(h]h ]h"]h$]h&]jd'je'jf'hjg'jh'uh1j&hjDubah}(h]h ]h"]h$]h&]uh1j&hhhMxhjChhubeh}(h]interrupt-on-specific-edgesah ]h"]interrupt on specific edgesah$]h&]uh1hhj@hhhhhMaubeh}(h] interruptsah ]h"] interruptsah$]h&]uh1hhj ?hhhhhM:ubh)}(hhh](h)}(h Input latchh]h Input latch}(hj EhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjEhhhhhM{ubh)}(hXOnly `Basic PCAL chips`_ and `PCAL chips with extended interrupt and output configuration functions`_ have this function. When the latch is enabled, the interrupt is not cleared until the input port is read. When the latch is disabled, the interrupt is cleared even if the input register is not read, if the input pin returns to the logic value it had before generating the interrupt. Defaults to latch disabled.h](hOnly }(hj.EhhhNhNubh)}(h`Basic PCAL chips`_h]hBasic PCAL chips}(hj6EhhhNhNubah}(h]h ]h"]h$]h&]nameBasic PCAL chipsjS?j-uh1hhj.EjT?Kubh and }(hj.EhhhNhNubh)}(hH`PCAL chips with extended interrupt and output configuration functions`_h]hEPCAL chips with extended interrupt and output configuration functions}(hjJEhhhNhNubah}(h]h ]h"]h$]h&]nameEPCAL chips with extended interrupt and output configuration functionsjS?jB6uh1hhj.EjT?KubhX7 have this function. When the latch is enabled, the interrupt is not cleared until the input port is read. When the latch is disabled, the interrupt is cleared even if the input register is not read, if the input pin returns to the logic value it had before generating the interrupt. Defaults to latch disabled.}(hj.EhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM}hjEhhubh)}(hLCurrently the driver enables the latch for each line with interrupt enabled.h]hLCurrently the driver enables the latch for each line with interrupt enabled.}(hjdEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjEhhubh)}(hXAn interrupt status register records which pins triggered an interrupt. However, the status register and the input port register must be read separately; there is no atomic mechanism to read both simultaneously, so races are possible. Refer to the chapter `Interrupt source detection`_ to understand the implications of this and how the driver still makes use of the latching feature.h](hXAn interrupt status register records which pins triggered an interrupt. However, the status register and the input port register must be read separately; there is no atomic mechanism to read both simultaneously, so races are possible. Refer to the chapter }(hjrEhhhNhNubh)}(h`Interrupt source detection`_h]hInterrupt source detection}(hjzEhhhNhNubah}(h]h ]h"]h$]h&]nameInterrupt source detectionjS?interrupt-source-detectionuh1hhjrEjT?Kubhc to understand the implications of this and how the driver still makes use of the latching feature.}(hjrEhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjEhhubj&)}(h1. base offset 0x40, bank 2, bank offsets of 2^n - pcal6408 - pcal6416 - pcal9535 - pcal9554b - pcal9555a - pcal6524 - tcal6408 - tcal6416 2. base offset 0x30, bank 2, closely packed banks - pcal6534 h]j&)}(hhh](ja)}(hbase offset 0x40, bank 2, bank offsets of 2^n - pcal6408 - pcal6416 - pcal9535 - pcal9554b - pcal9555a - pcal6524 - tcal6408 - tcal6416 h]jy?)}(hhh]j~?)}(hbase offset 0x40, bank 2, bank offsets of 2^n - pcal6408 - pcal6416 - pcal9535 - pcal9554b - pcal9555a - pcal6524 - tcal6408 - tcal6416 h](j?)}(h-base offset 0x40, bank 2, bank offsets of 2^nh]h-base offset 0x40, bank 2, bank offsets of 2^n}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1j?hhhMhjEubj?)}(hhh]j\)}(hhh](ja)}(hpcal6408h]h)}(hjEh]hpcal6408}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjEubah}(h]h ]h"]h$]h&]uh1j`hjEubja)}(hpcal6416h]h)}(hjEh]hpcal6416}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjEubah}(h]h ]h"]h$]h&]uh1j`hjEubja)}(hpcal9535h]h)}(hjEh]hpcal9535}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjEubah}(h]h ]h"]h$]h&]uh1j`hjEubja)}(h pcal9554bh]h)}(hjFh]h pcal9554b}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjFubah}(h]h ]h"]h$]h&]uh1j`hjEubja)}(h pcal9555ah]h)}(hjFh]h pcal9555a}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjFubah}(h]h ]h"]h$]h&]uh1j`hjEubja)}(hpcal6524h]h)}(hj0Fh]hpcal6524}(hj2FhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj.Fubah}(h]h ]h"]h$]h&]uh1j`hjEubja)}(htcal6408h]h)}(hjGFh]htcal6408}(hjIFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjEFubah}(h]h ]h"]h$]h&]uh1j`hjEubja)}(h tcal6416 h]h)}(htcal6416h]htcal6416}(hj`FhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj\Fubah}(h]h ]h"]h$]h&]uh1j`hjEubeh}(h]h ]h"]h$]h&]jjuh1j[hhhMhjEubah}(h]h ]h"]h$]h&]uh1j?hjEubeh}(h]h ]h"]h$]h&]uh1j}?hhhMhjEubah}(h]h ]h"]h$]h&]uh1jx?hjEubah}(h]h ]h"]h$]h&]uh1j`hjEubja)}(h;base offset 0x30, bank 2, closely packed banks - pcal6534 h]jy?)}(hhh]j~?)}(h:base offset 0x30, bank 2, closely packed banks - pcal6534 h](j?)}(h.base offset 0x30, bank 2, closely packed banksh]h.base offset 0x30, bank 2, closely packed banks}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1j?hhhMhjFubj?)}(hhh]j\)}(hhh]ja)}(h pcal6534 h]h)}(hpcal6534h]hpcal6534}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjFubah}(h]h ]h"]h$]h&]uh1j`hjFubah}(h]h ]h"]h$]h&]jjuh1j[hhhMhjFubah}(h]h ]h"]h$]h&]uh1j?hjFubeh}(h]h ]h"]h$]h&]uh1j}?hhhMhjFubah}(h]h ]h"]h$]h&]uh1jx?hjFubah}(h]h ]h"]h$]h&]uh1j`hjEubeh}(h]h ]h"]h$]h&]jd'je'jf'hjg'jh'uh1j&hjEubah}(h]h ]h"]h$]h&]uh1j&hhhMhjEhhubeh}(h] input-latchah ]h"] input latchah$]h&]uh1hhj ?hhhhhM{ubh)}(hhh](h)}(hPull-up and pull-downh]hPull-up and pull-down}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjFhhhhhMubh)}(hX `Basic PCAL chips`_ and `PCAL chips with extended interrupt and output configuration functions`_ use the same mechanism: their pull_en register enables the pull-up or pull-down function, and their pull_sel register chooses the direction. They all use one bit per line.h](h)}(h`Basic PCAL chips`_h]hBasic PCAL chips}(hjGhhhNhNubah}(h]h ]h"]h$]h&]nameBasic PCAL chipsjS?j-uh1hhj GjT?Kubh and }(hj GhhhNhNubh)}(hH`PCAL chips with extended interrupt and output configuration functions`_h]hEPCAL chips with extended interrupt and output configuration functions}(hj$GhhhNhNubah}(h]h ]h"]h$]h&]nameEPCAL chips with extended interrupt and output configuration functionsjS?jB6uh1hhj GjT?Kubh use the same mechanism: their pull_en register enables the pull-up or pull-down function, and their pull_sel register chooses the direction. They all use one bit per line.}(hj GhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjFhhubj&)}(h0: pull-down, 1: pull-up h]h)}(h0: pull-down, 1: pull-uph]h0: pull-down, 1: pull-up}(hjBGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj>Gubah}(h]h ]h"]h$]h&]uh1j&hhhMhjFhhubh)}(hLayouts:h]hLayouts:}(hjVGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjFhhubj&)}(h1. base offset 0x40, bank 3 (en) and 4 (sel), bank offsets of 2^n - pcal6408 - pcal6416 - pcal9535 - pcal9554b - pcal9555a - pcal6524 2. base offset 0x30, bank 3 (en) and 4 (sel), closely packed banks - pcal6534 h]j&)}(hhh](ja)}(hbase offset 0x40, bank 3 (en) and 4 (sel), bank offsets of 2^n - pcal6408 - pcal6416 - pcal9535 - pcal9554b - pcal9555a - pcal6524 h]jy?)}(hhh]j~?)}(hbase offset 0x40, bank 3 (en) and 4 (sel), bank offsets of 2^n - pcal6408 - pcal6416 - pcal9535 - pcal9554b - pcal9555a - pcal6524 h](j?)}(h>base offset 0x40, bank 3 (en) and 4 (sel), bank offsets of 2^nh]h>base offset 0x40, bank 3 (en) and 4 (sel), bank offsets of 2^n}(hjvGhhhNhNubah}(h]h ]h"]h$]h&]uh1j?hhhMhjrGubj?)}(hhh]j\)}(hhh](ja)}(hpcal6408h]h)}(hjGh]hpcal6408}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjGubah}(h]h ]h"]h$]h&]uh1j`hjGubja)}(hpcal6416h]h)}(hjGh]hpcal6416}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjGubah}(h]h ]h"]h$]h&]uh1j`hjGubja)}(hpcal9535h]h)}(hjGh]hpcal9535}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjGubah}(h]h ]h"]h$]h&]uh1j`hjGubja)}(h pcal9554bh]h)}(hjGh]h pcal9554b}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjGubah}(h]h ]h"]h$]h&]uh1j`hjGubja)}(h pcal9555ah]h)}(hjGh]h pcal9555a}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjGubah}(h]h ]h"]h$]h&]uh1j`hjGubja)}(h pcal6524 h]h)}(hpcal6524h]hpcal6524}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjGubah}(h]h ]h"]h$]h&]uh1j`hjGubeh}(h]h ]h"]h$]h&]jjuh1j[hhhMhjGubah}(h]h ]h"]h$]h&]uh1j?hjrGubeh}(h]h ]h"]h$]h&]uh1j}?hhhMhjoGubah}(h]h ]h"]h$]h&]uh1jx?hjkGubah}(h]h ]h"]h$]h&]uh1j`hjhGubja)}(hLbase offset 0x30, bank 3 (en) and 4 (sel), closely packed banks - pcal6534 h]jy?)}(hhh]j~?)}(hKbase offset 0x30, bank 3 (en) and 4 (sel), closely packed banks - pcal6534 h](j?)}(h?base offset 0x30, bank 3 (en) and 4 (sel), closely packed banksh]h?base offset 0x30, bank 3 (en) and 4 (sel), closely packed banks}(hj>HhhhNhNubah}(h]h ]h"]h$]h&]uh1j?hhhMhj:Hubj?)}(hhh]j\)}(hhh]ja)}(h pcal6534 h]h)}(hpcal6534h]hpcal6534}(hjVHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjRHubah}(h]h ]h"]h$]h&]uh1j`hjOHubah}(h]h ]h"]h$]h&]jjuh1j[hhhMhjLHubah}(h]h ]h"]h$]h&]uh1j?hj:Hubeh}(h]h ]h"]h$]h&]uh1j}?hhhMhj7Hubah}(h]h ]h"]h$]h&]uh1jx?hj3Hubah}(h]h ]h"]h$]h&]uh1j`hjhGubeh}(h]h ]h"]h$]h&]jd'je'jf'hjg'jh'uh1j&hjdGubah}(h]h ]h"]h$]h&]uh1j&hhhMhjFhhubh)}(h`PCA957X chips with a completely different register layout`_ have a pull_sel register with one bit per line, and a global pull_en bit in their config register.h](h)}(h<`PCA957X chips with a completely different register layout`_h]h9PCA957X chips with a completely different register layout}(hjHhhhNhNubah}(h]h ]h"]h$]h&]name9PCA957X chips with a completely different register layoutjS?j:uh1hhjHjT?Kubhc have a pull_sel register with one bit per line, and a global pull_en bit in their config register.}(hjHhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjFhhubh)}(hLayout:h]hLayout:}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjFhhubj&)}(hR1. bank 2 (config), bank 3 (sel), bank offsets of 2^n - pca9574 - pca9575 h]j&)}(hhh]ja)}(hIbank 2 (config), bank 3 (sel), bank offsets of 2^n - pca9574 - pca9575 h]jy?)}(hhh]j~?)}(hGbank 2 (config), bank 3 (sel), bank offsets of 2^n - pca9574 - pca9575 h](j?)}(h2bank 2 (config), bank 3 (sel), bank offsets of 2^nh]h2bank 2 (config), bank 3 (sel), bank offsets of 2^n}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1j?hhhMhjHubj?)}(hhh]j\)}(hhh](ja)}(hpca9574h]h)}(hjHh]hpca9574}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjHubah}(h]h ]h"]h$]h&]uh1j`hjHubja)}(hpca9575 h]h)}(hpca9575h]hpca9575}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjHubah}(h]h ]h"]h$]h&]uh1j`hjHubeh}(h]h ]h"]h$]h&]jjuh1j[hhhMhjHubah}(h]h ]h"]h$]h&]uh1j?hjHubeh}(h]h ]h"]h$]h&]uh1j}?hhhMhjHubah}(h]h ]h"]h$]h&]uh1jx?hjHubah}(h]h ]h"]h$]h&]uh1j`hjHubah}(h]h ]h"]h$]h&]jd'je'jf'hjg'jh'uh1j&hjHubah}(h]h ]h"]h$]h&]uh1j&hhhMhjFhhubh)}(hB`XRA1202`_ chips can only pull-up. They have a pullup_en register.h](h)}(h `XRA1202`_h]hXRA1202}(hjCIhhhNhNubah}(h]h ]h"]h$]h&]nameXRA1202jS?j>uh1hhj?IjT?Kubh8 chips can only pull-up. They have a pullup_en register.}(hj?IhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjFhhubh)}(hLayout:h]hLayout:}(hj]IhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjFhhubj&)}(h-1. bank 4, bank offsets of 2^n - xra1202 h]j&)}(hhh]ja)}(h'bank 4, bank offsets of 2^n - xra1202 h]jy?)}(hhh]j~?)}(h&bank 4, bank offsets of 2^n - xra1202 h](j?)}(hbank 4, bank offsets of 2^nh]hbank 4, bank offsets of 2^n}(hj}IhhhNhNubah}(h]h ]h"]h$]h&]uh1j?hhhMhjyIubj?)}(hhh]j\)}(hhh]ja)}(hxra1202 h]h)}(hxra1202h]hxra1202}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjIubah}(h]h ]h"]h$]h&]uh1j`hjIubah}(h]h ]h"]h$]h&]jjuh1j[hhhMhjIubah}(h]h ]h"]h$]h&]uh1j?hjyIubeh}(h]h ]h"]h$]h&]uh1j}?hhhMhjvIubah}(h]h ]h"]h$]h&]uh1jx?hjrIubah}(h]h ]h"]h$]h&]uh1j`hjoIubah}(h]h ]h"]h$]h&]jd'je'jf'hjg'jh'uh1j&hjkIubah}(h]h ]h"]h$]h&]uh1j&hhhMhjFhhubeh}(h]pull-up-and-pull-downah ]h"]pull-up and pull-downah$]h&]uh1hhj ?hhhhhMubh)}(hhh](h)}(hPush-pull and open-drainh]hPush-pull and open-drain}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjIhhhhhMubh)}(h`Chips with additional int_mask and out_conf registers`_ have this function, but only for select IO ports. Register has 1 bit per 2 lines. In pca9698, only port0 and port1 have this function.h](h)}(h8`Chips with additional int_mask and out_conf registers`_h]h5Chips with additional int_mask and out_conf registers}(hjIhhhNhNubah}(h]h ]h"]h$]h&]name5Chips with additional int_mask and out_conf registersjS?jiuh1hhjIjT?Kubh have this function, but only for select IO ports. Register has 1 bit per 2 lines. In pca9698, only port0 and port1 have this function.}(hjIhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjIhhubj&)}(h0: open-drain, 1: push-pull h]h)}(h0: open-drain, 1: push-pullh]h0: open-drain, 1: push-pull}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj Jubah}(h]h ]h"]h$]h&]uh1j&hhhMhjIhhubh)}(hLayout:h]hLayout:}(hj"JhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjIhhubj&)}(h*1. base offset 5*bankoffset - pca9698 h]j&)}(hhh]ja)}(h$base offset 5*bankoffset - pca9698 h]jy?)}(hhh]j~?)}(h#base offset 5*bankoffset - pca9698 h](j?)}(hbase offset 5*bankoffseth]hbase offset 5*bankoffset}(hjBJhhhNhNubah}(h]h ]h"]h$]h&]uh1j?hhhMhj>Jubj?)}(hhh]j\)}(hhh]ja)}(hpca9698 h]h)}(hpca9698h]hpca9698}(hjZJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjVJubah}(h]h ]h"]h$]h&]uh1j`hjSJubah}(h]h ]h"]h$]h&]jjuh1j[hhhMhjPJubah}(h]h ]h"]h$]h&]uh1j?hj>Jubeh}(h]h ]h"]h$]h&]uh1j}?hhhMhj;Jubah}(h]h ]h"]h$]h&]uh1jx?hj7Jubah}(h]h ]h"]h$]h&]uh1j`hj4Jubah}(h]h ]h"]h$]h&]jd'je'jf'hjg'jh'uh1j&hj0Jubah}(h]h ]h"]h$]h&]uh1j&hhhMhjIhhubh)}(hl`Basic PCAL chips`_ have 1 bit per port in one single out_conf register. Only whole ports can be configured.h](h)}(h`Basic PCAL chips`_h]hBasic PCAL chips}(hjJhhhNhNubah}(h]h ]h"]h$]h&]nameBasic PCAL chipsjS?j-uh1hhjJjT?KubhY have 1 bit per port in one single out_conf register. Only whole ports can be configured.}(hjJhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjIhhubj&)}(h0: push-pull, 1: open-drain h]h)}(h0: push-pull, 1: open-drainh]h0: push-pull, 1: open-drain}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjJubah}(h]h ]h"]h$]h&]uh1j&hhhMhjIhhubh)}(hLayout:h]hLayout:}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjIhhubj&)}(h1. base offset 0x4F - pcal6408 - pcal6416 - pcal9535 - pcal9554b - pcal9555a - tcal6408 - tcal6416 h]j&)}(hhh]ja)}(hgbase offset 0x4F - pcal6408 - pcal6416 - pcal9535 - pcal9554b - pcal9555a - tcal6408 - tcal6416 h]jy?)}(hhh]j~?)}(h`base offset 0x4F - pcal6408 - pcal6416 - pcal9535 - pcal9554b - pcal9555a - tcal6408 - tcal6416 h](j?)}(hbase offset 0x4Fh]hbase offset 0x4F}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1j?hhhMhjJubj?)}(hhh]j\)}(hhh](ja)}(hpcal6408h]h)}(hjKh]hpcal6408}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjKubah}(h]h ]h"]h$]h&]uh1j`hjJubja)}(hpcal6416h]h)}(hjKh]hpcal6416}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjKubah}(h]h ]h"]h$]h&]uh1j`hjJubja)}(hpcal9535h]h)}(hj2Kh]hpcal9535}(hj4KhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj0Kubah}(h]h ]h"]h$]h&]uh1j`hjJubja)}(h pcal9554bh]h)}(hjIKh]h pcal9554b}(hjKKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjGKubah}(h]h ]h"]h$]h&]uh1j`hjJubja)}(h pcal9555ah]h)}(hj`Kh]h pcal9555a}(hjbKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj^Kubah}(h]h ]h"]h$]h&]uh1j`hjJubja)}(htcal6408h]h)}(hjwKh]htcal6408}(hjyKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjuKubah}(h]h ]h"]h$]h&]uh1j`hjJubja)}(h tcal6416 h]h)}(htcal6416h]htcal6416}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjKubah}(h]h ]h"]h$]h&]uh1j`hjJubeh}(h]h ]h"]h$]h&]jjuh1j[hhhMhjJubah}(h]h ]h"]h$]h&]uh1j?hjJubeh}(h]h ]h"]h$]h&]uh1j}?hhhMhjJubah}(h]h ]h"]h$]h&]uh1jx?hjJubah}(h]h ]h"]h$]h&]uh1j`hjJubah}(h]h ]h"]h$]h&]jd'je'jf'hjg'jh'uh1j&hjJubah}(h]h ]h"]h$]h&]uh1j&hhhMhjIhhubh)}(hX/`PCAL chips with extended interrupt and output configuration functions`_ can set this for each line individually. They have the same per-port out_conf register as `Basic PCAL chips`_, but they also have an indiv_out_conf register with one bit per line, which inverts the effect of the port-wise setting.h](h)}(hH`PCAL chips with extended interrupt and output configuration functions`_h]hEPCAL chips with extended interrupt and output configuration functions}(hjKhhhNhNubah}(h]h ]h"]h$]h&]nameEPCAL chips with extended interrupt and output configuration functionsjS?jB6uh1hhjKjT?Kubh[ can set this for each line individually. They have the same per-port out_conf register as }(hjKhhhNhNubh)}(h`Basic PCAL chips`_h]hBasic PCAL chips}(hjKhhhNhNubah}(h]h ]h"]h$]h&]nameBasic PCAL chipsjS?j-uh1hhjKjT?Kubhy, but they also have an indiv_out_conf register with one bit per line, which inverts the effect of the port-wise setting.}(hjKhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjIhhubj&)}(h0: push-pull, 1: open-drain h]h)}(h0: push-pull, 1: open-drainh]h0: push-pull, 1: open-drain}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjLubah}(h]h ]h"]h$]h&]uh1j&hhhMhjIhhubh)}(hLayouts:h]hLayouts:}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjIhhubj&)}(hX1. base offset 0x40 + 7*bankoffset (out_conf), base offset 0x60, bank 4 (indiv_out_conf) with bank offset of 2^n - pcal6524 2. base offset 0x30 + 7*banksize (out_conf), base offset 0x54, bank 4 (indiv_out_conf), closely packed banks - pcal6534 h]j&)}(hhh](ja)}(h{base offset 0x40 + 7*bankoffset (out_conf), base offset 0x60, bank 4 (indiv_out_conf) with bank offset of 2^n - pcal6524 h](h)}(hmbase offset 0x40 + 7*bankoffset (out_conf), base offset 0x60, bank 4 (indiv_out_conf) with bank offset of 2^nh]hmbase offset 0x40 + 7*bankoffset (out_conf), base offset 0x60, bank 4 (indiv_out_conf) with bank offset of 2^n}(hj1LhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj-Lubj&)}(h - pcal6524 h]j\)}(hhh]ja)}(h pcal6524 h]h)}(hpcal6524h]hpcal6524}(hjJLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjFLubah}(h]h ]h"]h$]h&]uh1j`hjCLubah}(h]h ]h"]h$]h&]jjuh1j[hhhMhj?Lubah}(h]h ]h"]h$]h&]uh1j&hhhMhj-Lubeh}(h]h ]h"]h$]h&]uh1j`hj*Lubja)}(hwbase offset 0x30 + 7*banksize (out_conf), base offset 0x54, bank 4 (indiv_out_conf), closely packed banks - pcal6534 h](h)}(hibase offset 0x30 + 7*banksize (out_conf), base offset 0x54, bank 4 (indiv_out_conf), closely packed banksh]hibase offset 0x30 + 7*banksize (out_conf), base offset 0x54, bank 4 (indiv_out_conf), closely packed banks}(hjtLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjpLubj&)}(h - pcal6534 h]j\)}(hhh]ja)}(h pcal6534 h]h)}(hpcal6534h]hpcal6534}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjLubah}(h]h ]h"]h$]h&]uh1j`hjLubah}(h]h ]h"]h$]h&]jjuh1j[hhhMhjLubah}(h]h ]h"]h$]h&]uh1j&hhhMhjpLubeh}(h]h ]h"]h$]h&]uh1j`hj*Lubeh}(h]h ]h"]h$]h&]jd'je'jf'hjg'jh'uh1j&hj&Lubah}(h]h ]h"]h$]h&]uh1j&hhhMhjIhhubh)}(h7This function is currently not supported by the driver.h]h7This function is currently not supported by the driver.}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjIhhubeh}(h]push-pull-and-open-drainah ]h"]push-pull and open-drainah$]h&]uh1hhj ?hhhhhMubh)}(hhh](h)}(hOutput drive strengthh]hOutput drive strength}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjLhhhhhMubh)}(h4Only PCAL chips have this function. 2 bits per line.h]h4Only PCAL chips have this function. 2 bits per line.}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjLhhubj)}(hhh]j )}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hjLubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hjLubj.)}(hhh]j3)}(hhh](j8)}(hhh]h)}(hbitsh]hbits}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjMubah}(h]h ]h"]h$]h&]uh1j7hjMubj8)}(hhh]h)}(hdrive strengthh]hdrive strength}(hj.MhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj+Mubah}(h]h ]h"]h$]h&]uh1j7hjMubeh}(h]h ]h"]h$]h&]uh1j2hjMubah}(h]h ]h"]h$]h&]uh1j-hjLubj)}(hhh](j3)}(hhh](j8)}(hhh]h)}(h00h]h00}(hjWMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjTMubah}(h]h ]h"]h$]h&]uh1j7hjQMubj8)}(hhh]h)}(h0.25xh]h0.25x}(hjnMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjkMubah}(h]h ]h"]h$]h&]uh1j7hjQMubeh}(h]h ]h"]h$]h&]uh1j2hjNMubj3)}(hhh](j8)}(hhh]h)}(h01h]h01}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjMubah}(h]h ]h"]h$]h&]uh1j7hjMubj8)}(hhh]h)}(h0.50xh]h0.50x}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjMubah}(h]h ]h"]h$]h&]uh1j7hjMubeh}(h]h ]h"]h$]h&]uh1j2hjNMubj3)}(hhh](j8)}(hhh]h)}(h10h]h10}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjMubah}(h]h ]h"]h$]h&]uh1j7hjMubj8)}(hhh]h)}(h0.75xh]h0.75x}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjMubah}(h]h ]h"]h$]h&]uh1j7hjMubeh}(h]h ]h"]h$]h&]uh1j2hjNMubj3)}(hhh](j8)}(hhh]h)}(h11h]h11}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjMubah}(h]h ]h"]h$]h&]uh1j7hjMubj8)}(hhh]h)}(h1.00xh]h1.00x}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjNubah}(h]h ]h"]h$]h&]uh1j7hjMubeh}(h]h ]h"]h$]h&]uh1j2hjNMubeh}(h]h ]h"]h$]h&]uh1jhjLubeh}(h]h ]h"]h$]h&]colsKuh1jhjLubah}(h]h ]h"]h$]h&]uh1jhjLhhhhhNubj&)}(h1. base offset 0x40, bank 0 and 1, bank offsets of 2^n - pcal6408 - pcal6416 - pcal9535 - pcal9554b - pcal9555a - pcal6524 - tcal6408 - tcal6416 2. base offset 0x30, bank 0 and 1, closely packed banks - pcal6534 h]j&)}(hhh](ja)}(hbase offset 0x40, bank 0 and 1, bank offsets of 2^n - pcal6408 - pcal6416 - pcal9535 - pcal9554b - pcal9555a - pcal6524 - tcal6408 - tcal6416 h]jy?)}(hhh]j~?)}(hbase offset 0x40, bank 0 and 1, bank offsets of 2^n - pcal6408 - pcal6416 - pcal9535 - pcal9554b - pcal9555a - pcal6524 - tcal6408 - tcal6416 h](j?)}(h3base offset 0x40, bank 0 and 1, bank offsets of 2^nh]h3base offset 0x40, bank 0 and 1, bank offsets of 2^n}(hjRNhhhNhNubah}(h]h ]h"]h$]h&]uh1j?hhhMhjNNubj?)}(hhh]j\)}(hhh](ja)}(hpcal6408h]h)}(hjhNh]hpcal6408}(hjjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjfNubah}(h]h ]h"]h$]h&]uh1j`hjcNubja)}(hpcal6416h]h)}(hjNh]hpcal6416}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj}Nubah}(h]h ]h"]h$]h&]uh1j`hjcNubja)}(hpcal9535h]h)}(hjNh]hpcal9535}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjNubah}(h]h ]h"]h$]h&]uh1j`hjcNubja)}(h pcal9554bh]h)}(hjNh]h pcal9554b}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjNubah}(h]h ]h"]h$]h&]uh1j`hjcNubja)}(h pcal9555ah]h)}(hjNh]h pcal9555a}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjNubah}(h]h ]h"]h$]h&]uh1j`hjcNubja)}(hpcal6524h]h)}(hjNh]hpcal6524}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjNubah}(h]h ]h"]h$]h&]uh1j`hjcNubja)}(htcal6408h]h)}(hjNh]htcal6408}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjNubah}(h]h ]h"]h$]h&]uh1j`hjcNubja)}(h tcal6416 h]h)}(htcal6416h]htcal6416}(hj OhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjOubah}(h]h ]h"]h$]h&]uh1j`hjcNubeh}(h]h ]h"]h$]h&]jjuh1j[hhhMhj`Nubah}(h]h ]h"]h$]h&]uh1j?hjNNubeh}(h]h ]h"]h$]h&]uh1j}?hhhMhjKNubah}(h]h ]h"]h$]h&]uh1jx?hjGNubah}(h]h ]h"]h$]h&]uh1j`hjDNubja)}(hAbase offset 0x30, bank 0 and 1, closely packed banks - pcal6534 h]jy?)}(hhh]j~?)}(h@base offset 0x30, bank 0 and 1, closely packed banks - pcal6534 h](j?)}(h4base offset 0x30, bank 0 and 1, closely packed banksh]h4base offset 0x30, bank 0 and 1, closely packed banks}(hjHOhhhNhNubah}(h]h ]h"]h$]h&]uh1j?hhhMhjDOubj?)}(hhh]j\)}(hhh]ja)}(h pcal6534 h]h)}(hpcal6534h]hpcal6534}(hj`OhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj\Oubah}(h]h ]h"]h$]h&]uh1j`hjYOubah}(h]h ]h"]h$]h&]jjuh1j[hhhMhjVOubah}(h]h ]h"]h$]h&]uh1j?hjDOubeh}(h]h ]h"]h$]h&]uh1j}?hhhMhjAOubah}(h]h ]h"]h$]h&]uh1jx?hj=Oubah}(h]h ]h"]h$]h&]uh1j`hjDNubeh}(h]h ]h"]h$]h&]jd'je'jf'hjg'jh'uh1j&hj@Nubah}(h]h ]h"]h$]h&]uh1j&hhhMhjLhhubh)}(h&Currently not supported by the driver.h]h&Currently not supported by the driver.}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjLhhubeh}(h]output-drive-strengthah ]h"]output drive strengthah$]h&]uh1hhj ?hhhhhMubeh}(h]overview-of-functionsah ]h"]overview of functionsah$]h&]uh1hhhhhhhhM!ubh)}(hhh](h)}(hInterrupt source detectionh]hInterrupt source detection}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjOhhhhhMubh)}(hWhen triggered by the GPIO expander's interrupt, the driver determines which IRQs are pending by reading the input port register.h]hWhen triggered by the GPIO expander’s interrupt, the driver determines which IRQs are pending by reading the input port register.}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjOhhubh)}(hX1To be able to filter on specific interrupt events for all compatible devices, the driver keeps track of the previous input state of the lines, and emits an IRQ only for the correct edge or level. This system works irrespective of the number of enabled interrupts. Events will not be missed even if they occur between the GPIO expander's interrupt and the actual I2C read. Edges could of course be missed if the related signal level changes back to the value previously saved by the driver before the I2C read. PCAL variants offer input latching for that reason.h]hX3To be able to filter on specific interrupt events for all compatible devices, the driver keeps track of the previous input state of the lines, and emits an IRQ only for the correct edge or level. This system works irrespective of the number of enabled interrupts. Events will not be missed even if they occur between the GPIO expander’s interrupt and the actual I2C read. Edges could of course be missed if the related signal level changes back to the value previously saved by the driver before the I2C read. PCAL variants offer input latching for that reason.}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjOhhubh)}(hhh](h)}(hPCAL input latchingh]hPCAL input latching}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjOhhhhhM%ubh)}(hXTThe PCAL variants have an input latch and the driver enables this for all interrupt-enabled lines. The interrupt is then only cleared when the input port is read out. These variants provide an interrupt status register that records which pins triggered an interrupt, but the status and input registers cannot be read atomically. If another interrupt occurs on a different line after the status register has been read but before the input port register is sampled, that event will not be reflected in the earlier status snapshot, so relying solely on the interrupt status register is insufficient.h]hXTThe PCAL variants have an input latch and the driver enables this for all interrupt-enabled lines. The interrupt is then only cleared when the input port is read out. These variants provide an interrupt status register that records which pins triggered an interrupt, but the status and input registers cannot be read atomically. If another interrupt occurs on a different line after the status register has been read but before the input port register is sampled, that event will not be reflected in the earlier status snapshot, so relying solely on the interrupt status register is insufficient.}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM'hjOhhubh)}(hIThus, the PCAL variants also have to use the existing level-change logic.h]hIThus, the PCAL variants also have to use the existing level-change logic.}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM0hjOhhubh)}(hXFor short pulses, the first edge is captured when the input register is read, but if the signal returns to its previous level before this read, the second edge is not observed. As a result, successive pulses can produce identical input values at read time and no level change is detected, causing interrupts to be missed. Below timing diagram shows this situation where the top signal is the input pin level and the bottom signal indicates the latched value::h]hXFor short pulses, the first edge is captured when the input register is read, but if the signal returns to its previous level before this read, the second edge is not observed. As a result, successive pulses can produce identical input values at read time and no level change is detected, causing interrupts to be missed. Below timing diagram shows this situation where the top signal is the input pin level and the bottom signal indicates the latched value:}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM2hjOhhubh literal_block)}(hX─────┐ ┌──*───────────────┐ ┌──*─────────────────┐ ┌──*─── │ │ . │ │ . │ │ . │ │ │ │ │ │ │ │ │ └──*──┘ │ └──*──┘ │ └──*──┘ │ Input │ │ │ │ │ │ ▼ │ ▼ │ ▼ │ IRQ │ IRQ │ IRQ │ . . . ─────┐ .┌──────────────┐ .┌────────────────┐ .┌── │ │ │ │ │ │ │ │ │ │ │ │ └────────*┘ └────────*┘ └────────*┘ Latched │ │ │ ▼ ▼ ▼ READ 0 READ 0 READ 0 NO CHANGE NO CHANGEh]hX─────┐ ┌──*───────────────┐ ┌──*─────────────────┐ ┌──*─── │ │ . │ │ . │ │ . │ │ │ │ │ │ │ │ │ └──*──┘ │ └──*──┘ │ └──*──┘ │ Input │ │ │ │ │ │ ▼ │ ▼ │ ▼ │ IRQ │ IRQ │ IRQ │ . . . ─────┐ .┌──────────────┐ .┌────────────────┐ .┌── │ │ │ │ │ │ │ │ │ │ │ │ └────────*┘ └────────*┘ └────────*┘ Latched │ │ │ ▼ ▼ ▼ READ 0 READ 0 READ 0 NO CHANGE NO CHANGE}hj&Psbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1j$PhhhM9hjOhhubh)}(hTo deal with this, events indicated by the interrupt status register are merged with events detected through the existing level-change logic. As a result:h]hTo deal with this, events indicated by the interrupt status register are merged with events detected through the existing level-change logic. As a result:}(hj6PhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMJhjOhhubj\)}(hhh](ja)}(hcshort pulses, whose second edges are invisible, are detected via the interrupt status register, andh]h)}(hcshort pulses, whose second edges are invisible, are detected via the interrupt status register, andh]hcshort pulses, whose second edges are invisible, are detected via the interrupt status register, and}(hjKPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMMhjGPubah}(h]h ]h"]h$]h&]uh1j`hjDPhhhhhNubja)}(hminterrupts that occur between the status and input reads are still caught by the generic level-change logic. h]h)}(hlinterrupts that occur between the status and input reads are still caught by the generic level-change logic.h]hlinterrupts that occur between the status and input reads are still caught by the generic level-change logic.}(hjcPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMOhj_Pubah}(h]h ]h"]h$]h&]uh1j`hjDPhhhhhNubeh}(h]h ]h"]h$]h&]jjuh1j[hhhMMhjOhhubh)}(hXNote that this is still best-effort: the status and input registers are read separately, and short pulses on other lines may occur in between those reads. Such pulses can still be latched as an interrupt without leaving an observable level change at read time, and may not be attributable to a specific edge. This does not reduce detection compared to the generic path, but reflects inherent atomicity limitations.h]hXNote that this is still best-effort: the status and input registers are read separately, and short pulses on other lines may occur in between those reads. Such pulses can still be latched as an interrupt without leaving an observable level change at read time, and may not be attributable to a specific edge. This does not reduce detection compared to the generic path, but reflects inherent atomicity limitations.}(hj}PhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMRhjOhhubeh}(h]pcal-input-latchingah ]h"]pcal input latchingah$]h&]uh1hhjOhhhhhM%ubeh}(h]jEah ]h"]interrupt source detectionah$]h&]uh1hhhhhhhhMjoKubh)}(hhh](h)}(h Datasheetsh]h Datasheets}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjPhhhhhMZubj\)}(hhh](ja)}(hAMAX7310: https://datasheets.maximintegrated.com/en/ds/MAX7310.pdfh]h)}(hjPh](h MAX7310: }(hjPhhhNhNubh)}(h8https://datasheets.maximintegrated.com/en/ds/MAX7310.pdfh]h8https://datasheets.maximintegrated.com/en/ds/MAX7310.pdf}(hjPhhhNhNubah}(h]h ]h"]h$]h&]refurijPuh1hhjPubeh}(h]h ]h"]h$]h&]uh1hhhhM\hjPubah}(h]h ]h"]h$]h&]uh1j`hjPhhhhhNubja)}(hAMAX7312: https://datasheets.maximintegrated.com/en/ds/MAX7312.pdfh]h)}(hjPh](h MAX7312: }(hjPhhhNhNubh)}(h8https://datasheets.maximintegrated.com/en/ds/MAX7312.pdfh]h8https://datasheets.maximintegrated.com/en/ds/MAX7312.pdf}(hjPhhhNhNubah}(h]h ]h"]h$]h&]refurijPuh1hhjPubeh}(h]h ]h"]h$]h&]uh1hhhhM]hjPubah}(h]h ]h"]h$]h&]uh1j`hjPhhhhhNubja)}(hAMAX7313: https://datasheets.maximintegrated.com/en/ds/MAX7313.pdfh]h)}(hjPh](h MAX7313: }(hjPhhhNhNubh)}(h8https://datasheets.maximintegrated.com/en/ds/MAX7313.pdfh]h8https://datasheets.maximintegrated.com/en/ds/MAX7313.pdf}(hjQhhhNhNubah}(h]h ]h"]h$]h&]refurijQuh1hhjPubeh}(h]h ]h"]h$]h&]uh1hhhhM^hjPubah}(h]h ]h"]h$]h&]uh1j`hjPhhhhhNubja)}(hAMAX7315: https://datasheets.maximintegrated.com/en/ds/MAX7315.pdfh]h)}(hj"Qh](h MAX7315: }(hj$QhhhNhNubh)}(h8https://datasheets.maximintegrated.com/en/ds/MAX7315.pdfh]h8https://datasheets.maximintegrated.com/en/ds/MAX7315.pdf}(hj+QhhhNhNubah}(h]h ]h"]h$]h&]refurij-Quh1hhj$Qubeh}(h]h ]h"]h$]h&]uh1hhhhM_hj Qubah}(h]h ]h"]h$]h&]uh1j`hjPhhhhhNubja)}(hAMAX7318: https://datasheets.maximintegrated.com/en/ds/MAX7318.pdfh]h)}(hjHQh](h MAX7318: }(hjJQhhhNhNubh)}(h8https://datasheets.maximintegrated.com/en/ds/MAX7318.pdfh]h8https://datasheets.maximintegrated.com/en/ds/MAX7318.pdf}(hjQQhhhNhNubah}(h]h ]h"]h$]h&]refurijSQuh1hhjJQubeh}(h]h ]h"]h$]h&]uh1hhhhM`hjFQubah}(h]h ]h"]h$]h&]uh1j`hjPhhhhhNubja)}(hPPCA6107: https://pdf1.alldatasheet.com/datasheet-pdf/view/161780/TI/PCA6107.htmlh]h)}(hjnQh](h PCA6107: }(hjpQhhhNhNubh)}(hGhttps://pdf1.alldatasheet.com/datasheet-pdf/view/161780/TI/PCA6107.htmlh]hGhttps://pdf1.alldatasheet.com/datasheet-pdf/view/161780/TI/PCA6107.html}(hjwQhhhNhNubah}(h]h ]h"]h$]h&]refurijyQuh1hhjpQubeh}(h]h ]h"]h$]h&]uh1hhhhMahjlQubah}(h]h ]h"]h$]h&]uh1j`hjPhhhhhNubja)}(h=PCA6408A: https://www.nxp.com/docs/en/data-sheet/PCA6408A.pdfh]h)}(hjQh](h PCA6408A: }(hjQhhhNhNubh)}(h3https://www.nxp.com/docs/en/data-sheet/PCA6408A.pdfh]h3https://www.nxp.com/docs/en/data-sheet/PCA6408A.pdf}(hjQhhhNhNubah}(h]h ]h"]h$]h&]refurijQuh1hhjQubeh}(h]h ]h"]h$]h&]uh1hhhhMbhjQubah}(h]h ]h"]h$]h&]uh1j`hjPhhhhhNubja)}(h=PCA6416A: https://www.nxp.com/docs/en/data-sheet/PCA6416A.pdfh]h)}(hjQh](h PCA6416A: }(hjQhhhNhNubh)}(h3https://www.nxp.com/docs/en/data-sheet/PCA6416A.pdfh]h3https://www.nxp.com/docs/en/data-sheet/PCA6416A.pdf}(hjQhhhNhNubah}(h]h ]h"]h$]h&]refurijQuh1hhjQubeh}(h]h ]h"]h$]h&]uh1hhhhMchjQubah}(h]h ]h"]h$]h&]uh1j`hjPhhhhhNubja)}(h@PCA9505: https://www.nxp.com/docs/en/data-sheet/PCA9505_9506.pdfh]h)}(hjQh](h PCA9505: }(hjQhhhNhNubh)}(h7https://www.nxp.com/docs/en/data-sheet/PCA9505_9506.pdfh]h7https://www.nxp.com/docs/en/data-sheet/PCA9505_9506.pdf}(hjQhhhNhNubah}(h]h ]h"]h$]h&]refurijQuh1hhjQubeh}(h]h ]h"]h$]h&]uh1hhhhMdhjQubah}(h]h ]h"]h$]h&]uh1j`hjPhhhhhNubja)}(h@PCA9505: https://www.nxp.com/docs/en/data-sheet/PCA9505_9506.pdfh]h)}(hjRh](h PCA9505: }(hjRhhhNhNubh)}(h7https://www.nxp.com/docs/en/data-sheet/PCA9505_9506.pdfh]h7https://www.nxp.com/docs/en/data-sheet/PCA9505_9506.pdf}(hjRhhhNhNubah}(h]h ]h"]h$]h&]refurijRuh1hhjRubeh}(h]h ]h"]h$]h&]uh1hhhhMehjRubah}(h]h ]h"]h$]h&]uh1j`hjPhhhhhNubja)}(h;PCA9534: https://www.nxp.com/docs/en/data-sheet/PCA9534.pdfh]h)}(hj,Rh](h PCA9534: }(hj.RhhhNhNubh)}(h2https://www.nxp.com/docs/en/data-sheet/PCA9534.pdfh]h2https://www.nxp.com/docs/en/data-sheet/PCA9534.pdf}(hj5RhhhNhNubah}(h]h ]h"]h$]h&]refurij7Ruh1hhj.Rubeh}(h]h ]h"]h$]h&]uh1hhhhMfhj*Rubah}(h]h ]h"]h$]h&]uh1j`hjPhhhhhNubja)}(hDPCA9535: https://www.nxp.com/docs/en/data-sheet/PCA9535_PCA9535C.pdfh]h)}(hjRRh](h PCA9535: }(hjTRhhhNhNubh)}(h;https://www.nxp.com/docs/en/data-sheet/PCA9535_PCA9535C.pdfh]h;https://www.nxp.com/docs/en/data-sheet/PCA9535_PCA9535C.pdf}(hj[RhhhNhNubah}(h]h ]h"]h$]h&]refurij]Ruh1hhjTRubeh}(h]h ]h"]h$]h&]uh1hhhhMghjPRubah}(h]h ]h"]h$]h&]uh1j`hjPhhhhhNubja)}(h;PCA9536: https://www.nxp.com/docs/en/data-sheet/PCA9536.pdfh]h)}(hjxRh](h PCA9536: }(hjzRhhhNhNubh)}(h2https://www.nxp.com/docs/en/data-sheet/PCA9536.pdfh]h2https://www.nxp.com/docs/en/data-sheet/PCA9536.pdf}(hjRhhhNhNubah}(h]h ]h"]h$]h&]refurijRuh1hhjzRubeh}(h]h ]h"]h$]h&]uh1hhhhMhhjvRubah}(h]h ]h"]h$]h&]uh1j`hjPhhhhhNubja)}(h;PCA9537: https://www.nxp.com/docs/en/data-sheet/PCA9537.pdfh]h)}(hjRh](h PCA9537: }(hjRhhhNhNubh)}(h2https://www.nxp.com/docs/en/data-sheet/PCA9537.pdfh]h2https://www.nxp.com/docs/en/data-sheet/PCA9537.pdf}(hjRhhhNhNubah}(h]h ]h"]h$]h&]refurijRuh1hhjRubeh}(h]h ]h"]h$]h&]uh1hhhhMihjRubah}(h]h ]h"]h$]h&]uh1j`hjPhhhhhNubja)}(h;PCA9538: https://www.nxp.com/docs/en/data-sheet/PCA9538.pdfh]h)}(hjRh](h PCA9538: }(hjRhhhNhNubh)}(h2https://www.nxp.com/docs/en/data-sheet/PCA9538.pdfh]h2https://www.nxp.com/docs/en/data-sheet/PCA9538.pdf}(hjRhhhNhNubah}(h]h ]h"]h$]h&]refurijRuh1hhjRubeh}(h]h ]h"]h$]h&]uh1hhhhMjhjRubah}(h]h ]h"]h$]h&]uh1j`hjPhhhhhNubja)}(hDPCA9539: https://www.nxp.com/docs/en/data-sheet/PCA9539_PCA9539R.pdfh]h)}(hjRh](h PCA9539: }(hjRhhhNhNubh)}(h;https://www.nxp.com/docs/en/data-sheet/PCA9539_PCA9539R.pdfh]h;https://www.nxp.com/docs/en/data-sheet/PCA9539_PCA9539R.pdf}(hjRhhhNhNubah}(h]h ]h"]h$]h&]refurijRuh1hhjRubeh}(h]h ]h"]h$]h&]uh1hhhhMkhjRubah}(h]h ]h"]h$]h&]uh1j`hjPhhhhhNubja)}(hAPCA9554: https://www.nxp.com/docs/en/data-sheet/PCA9554_9554A.pdfh]h)}(hjSh](h PCA9554: }(hjShhhNhNubh)}(h8https://www.nxp.com/docs/en/data-sheet/PCA9554_9554A.pdfh]h8https://www.nxp.com/docs/en/data-sheet/PCA9554_9554A.pdf}(hjShhhNhNubah}(h]h ]h"]h$]h&]refurijSuh1hhjSubeh}(h]h ]h"]h$]h&]uh1hhhhMlhjSubah}(h]h ]h"]h$]h&]uh1j`hjPhhhhhNubja)}(h;PCA9555: https://www.nxp.com/docs/en/data-sheet/PCA9555.pdfh]h)}(hj6Sh](h PCA9555: }(hj8ShhhNhNubh)}(h2https://www.nxp.com/docs/en/data-sheet/PCA9555.pdfh]h2https://www.nxp.com/docs/en/data-sheet/PCA9555.pdf}(hj?ShhhNhNubah}(h]h ]h"]h$]h&]refurijASuh1hhj8Subeh}(h]h ]h"]h$]h&]uh1hhhhMmhj4Subah}(h]h ]h"]h$]h&]uh1j`hjPhhhhhNubja)}(h;PCA9556: https://www.nxp.com/docs/en/data-sheet/PCA9556.pdfh]h)}(hj\Sh](h PCA9556: }(hj^ShhhNhNubh)}(h2https://www.nxp.com/docs/en/data-sheet/PCA9556.pdfh]h2https://www.nxp.com/docs/en/data-sheet/PCA9556.pdf}(hjeShhhNhNubah}(h]h ]h"]h$]h&]refurijgSuh1hhj^Subeh}(h]h ]h"]h$]h&]uh1hhhhMnhjZSubah}(h]h ]h"]h$]h&]uh1j`hjPhhhhhNubja)}(h;PCA9557: https://www.nxp.com/docs/en/data-sheet/PCA9557.pdfh]h)}(hjSh](h PCA9557: }(hjShhhNhNubh)}(h2https://www.nxp.com/docs/en/data-sheet/PCA9557.pdfh]h2https://www.nxp.com/docs/en/data-sheet/PCA9557.pdf}(hjShhhNhNubah}(h]h ]h"]h$]h&]refurijSuh1hhjSubeh}(h]h ]h"]h$]h&]uh1hhhhMohjSubah}(h]h ]h"]h$]h&]uh1j`hjPhhhhhNubja)}(h;PCA9574: https://www.nxp.com/docs/en/data-sheet/PCA9574.pdfh]h)}(hjSh](h PCA9574: }(hjShhhNhNubh)}(h2https://www.nxp.com/docs/en/data-sheet/PCA9574.pdfh]h2https://www.nxp.com/docs/en/data-sheet/PCA9574.pdf}(hjShhhNhNubah}(h]h ]h"]h$]h&]refurijSuh1hhjSubeh}(h]h ]h"]h$]h&]uh1hhhhMphjSubah}(h]h ]h"]h$]h&]uh1j`hjPhhhhhNubja)}(h;PCA9575: https://www.nxp.com/docs/en/data-sheet/PCA9575.pdfh]h)}(hjSh](h PCA9575: }(hjShhhNhNubh)}(h2https://www.nxp.com/docs/en/data-sheet/PCA9575.pdfh]h2https://www.nxp.com/docs/en/data-sheet/PCA9575.pdf}(hjShhhNhNubah}(h]h ]h"]h$]h&]refurijSuh1hhjSubeh}(h]h ]h"]h$]h&]uh1hhhhMqhjSubah}(h]h ]h"]h$]h&]uh1j`hjPhhhhhNubja)}(h;PCA9698: https://www.nxp.com/docs/en/data-sheet/PCA9698.pdfh]h)}(hjSh](h PCA9698: }(hjShhhNhNubh)}(h2https://www.nxp.com/docs/en/data-sheet/PCA9698.pdfh]h2https://www.nxp.com/docs/en/data-sheet/PCA9698.pdf}(hjShhhNhNubah}(h]h ]h"]h$]h&]refurijSuh1hhjSubeh}(h]h ]h"]h$]h&]uh1hhhhMrhjSubah}(h]h ]h"]h$]h&]uh1j`hjPhhhhhNubja)}(h?PCAL6408A: https://www.nxp.com/docs/en/data-sheet/PCAL6408A.pdfh]h)}(hjTh](h PCAL6408A: }(hjThhhNhNubh)}(h4https://www.nxp.com/docs/en/data-sheet/PCAL6408A.pdfh]h4https://www.nxp.com/docs/en/data-sheet/PCAL6408A.pdf}(hj#ThhhNhNubah}(h]h ]h"]h$]h&]refurij%Tuh1hhjTubeh}(h]h ]h"]h$]h&]uh1hhhhMshjTubah}(h]h ]h"]h$]h&]uh1j`hjPhhhhhNubja)}(h?PCAL6416A: https://www.nxp.com/docs/en/data-sheet/PCAL6416A.pdfh]h)}(hj@Th](h PCAL6416A: }(hjBThhhNhNubh)}(h4https://www.nxp.com/docs/en/data-sheet/PCAL6416A.pdfh]h4https://www.nxp.com/docs/en/data-sheet/PCAL6416A.pdf}(hjIThhhNhNubah}(h]h ]h"]h$]h&]refurijKTuh1hhjBTubeh}(h]h ]h"]h$]h&]uh1hhhhMthj>Tubah}(h]h ]h"]h$]h&]uwh1j`hjPhhhhhNubja)}(h=PCAL6524: https://www.nxp.com/docs/en/data-sheet/PCAL6524.pdfh]h)}(hjfTh](h PCAL6524: }(hjhThhhNhNubh)}(h3https://www.nxp.com/docs/en/data-sheet/PCAL6524.pdfh]h3https://www.nxp.com/docs/en/data-sheet/PCAL6524.pdf}(hjoThhhNhNubah}(h]h ]h"]h$]h&]refurijqTuh1hhjhTubeh}(h]h ]h"]h$]h&]uh1hhhhMuhjdTubah}(h]h ]h"]h$]h&]uh1j`hjPhhhhhNubja)}(h=PCAL6534: https://www.nxp.com/docs/en/data-sheet/PCAL6534.pdfh]h)}(hjTh](h PCAL6534: }(hjThhhNhNubh)}(h3https://www.nxp.com/docs/en/data-sheet/PCAL6534.pdfh]h3https://www.nxp.com/docs/en/data-sheet/PCAL6534.pdf}(hjThhhNhNubah}(h]h ]h"]h$]h&]refurijTuh1hhjTubeh}(h]h ]h"]h$]h&]uh1hhhhMvhjTubah}(h]h ]h"]h$]h&]uh1j`hjPhhhhhNubja)}(h?PCAL9535A: https://www.nxp.com/docs/en/data-sheet/PCAL9535A.pdfh]h)}(hjTh](h PCAL9535A: }(hjThhhNhNubh)}(h4https://www.nxp.com/docs/en/data-sheet/PCAL9535A.pdfh]h4https://www.nxp.com/docs/en/data-sheet/PCAL9535A.pdf}(hjThhhNhNubah}(h]h ]h"]h$]h&]refurijTuh1hhjTubeh}(h]h ]h"]h$]h&]uh1hhhhMwhjTubah}(h]h ]h"]h$]h&]uh1j`hjPhhhhhNubja)}(hIPCAL9554B: https://www.nxp.com/docs/en/data-sheet/PCAL9554B_PCAL9554C.pdfh]h)}(hjTh](h PCAL9554B: }(hjThhhNhNubh)}(h>https://www.nxp.com/docs/en/data-sheet/PCAL9554B_PCAL9554C.pdfh]h>https://www.nxp.com/docs/en/data-sheet/PCAL9554B_PCAL9554C.pdf}(hjThhhNhNubah}(h]h ]h"]h$]h&]refurijTuh1hhjTubeh}(h]h ]h"]h$]h&]uh1hhhhMxhjTubah}(h]h ]h"]h$]h&]uh1j`hjPhhhhhNubja)}(h?PCAL9555A: https://www.nxp.com/docs/en/data-sheet/PCAL9555A.pdfh]h)}(hjTh](h PCAL9555A: }(hjUhhhNhNubh)}(h4https://www.nxp.com/docs/en/data-sheet/PCAL9555A.pdfh]h4https://www.nxp.com/docs/en/data-sheet/PCAL9555A.pdf}(hjUhhhNhNubah}(h]h ]h"]h$]h&]refurij Uuh1hhjUubeh}(h]h ]h"]h$]h&]uh1hhhhMyhjTubah}(h]h ]h"]h$]h&]uh1j`hjPhhhhhNubja)}(h-TCA6408A: https://www.ti.com/lit/gpn/tca6408ah]h)}(hj$Uh](h TCA6408A: }(hj&UhhhNhNubh)}(h#https://www.ti.com/lit/gpn/tca6408ah]h#https://www.ti.com/lit/gpn/tca6408a}(hj-UhhhNhNubah}(h]h ]h"]h$]h&]refurij/Uuh1hhj&Uubeh}(h]h ]h"]h$]h&]uh1hhhhMzhj"Uubah}(h]h ]h"]h$]h&]uh1j`hjPhhhhhNubja)}(h+TCA6416: https://www.ti.com/lit/gpn/tca6416h]h)}(hjJUh](h TCA6416: }(hjLUhhhNhNubh)}(h"https://www.ti.com/lit/gpn/tca6416h]h"https://www.ti.com/lit/gpn/tca6416}(hjSUhhhNhNubah}(h]h ]h"]h$]h&]refurijUUuh1hhjLUubeh}(h]h ]h"]h$]h&]uh1hhhhM{hjHUubah}(h]h ]h"]h$]h&]uh1j`hjPhhhhhNubja)}(h+TCA6424: https://www.ti.com/lit/gpn/tca6424h]h)}(hjpUh](h TCA6424: }(hjrUhhhNhNubh)}(h"https://www.ti.com/lit/gpn/tca6424h]h"https://www.ti.com/lit/gpn/tca6424}(hjyUhhhNhNubah}(h]h ]h"]h$]h&]refurij{Uuh1hhjrUubeh}(h]h ]h"]h$]h&]uh1hhhhM|hjnUubah}(h]h ]h"]h$]h&]uh1j`hjPhhhhhNubja)}(h+TCA9539: https://www.ti.com/lit/gpn/tca9539h]h)}(hjUh](h TCA9539: }(hjUhhhNhNubh)}(h"https://www.ti.com/lit/gpn/tca9539h]h"https://www.ti.com/lit/gpn/tca9539}(hjUhhhNhNubah}(h]h ]h"]h$]h&]refurijUuh1hhjUubeh}(h]h ]h"]h$]h&]uh1hhhhM}hjUubah}(h]h ]h"]h$]h&]uh1j`hjPhhhhhNubja)}(h+TCA9554: https://www.ti.com/lit/gpn/tca9554h]h)}(hjUh](h TCA9554: }(hjUhhhNhNubh)}(h"https://www.ti.com/lit/gpn/tca9554h]h"https://www.ti.com/lit/gpn/tca9554}(hjUhhhNhNubah}(h]h ]h"]h$]h&]refurijUuh1hhjUubeh}(h]h ]h"]h$]h&]uh1hhhhM~hjUubah}(h]h ]h"]h$]h&]uh1j`hjPhhhhhNubja)}(hPXRA1202: https://assets.maxlinear.com/web/documents/xra1202_1202p_101_042213.pdfh]h)}(hjUh](h XRA1202: }(hjUhhhNhNubh)}(hGhttps://assets.maxlinear.com/web/documents/xra1202_1202p_101_042213.pdfh]hGhttps://assets.maxlinear.com/web/documents/xra1202_1202p_101_042213.pdf}(hjUhhhNhNubah}(h]h ]h"]h$]h&]refurijUuh1hhjUubeh}(h]h ]h"]h$]h&]uh1hhhhMhjUubah}(h]h ]h"]h$]h&]uh1j`hjPhhhhhNubeh}(h]h ]h"]h$]h&]jjuh1j[hhhM\hjPhhubeh}(h] datasheetsah ]h"] datasheetsah$]h&]uh1hhhhhhhhMZubeh}(h],pca953x-i2c-gpio-expander-compatibility-listah ]h"]-pca953x i²c gpio expander compatibility listah$]h&]uh1hhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksj7footnote_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>Verror_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}(*chips with led blink and intensity control]jC?aEpcal chips with extended interrupt and output configuration functions](jCjJEj$GjKexra1202](jDjCIebasic pcal chips](j6EjGjJjKeinterrupt source detection]jzEa9pca957x chips with a completely different register layout]jHa5chips with additional int_mask and out_conf registers]jIaurefids}nameids}(jVjVj?j?jljijJjGj)j&jljij!j!j-j-jE6jB6j:j:j?j>jOjOj@j@jEjEjqAjnAjCjCjEjEjFjFjIjIjLjLjOjOjPjEjPjPjVjVu nametypes}(jVj?jljJj)jlj!j-jE6j:j?jOj@jEjqAjCjEjFjIjLjOjPjPjVuh}(jVhj?jjij.jGjoj&jMjij,j!jpj-j!jB6j.j:jH6j>j:jOj ?j@j*?jEj@jnAj@jCjtAjEjCjFjEjIjFjLjIjOjLjEjOjPjOjVjPu 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.