4.01 LXRlinux/Documentation/gpio.txt4 -- 4.01
4 4 >>4 4 4 4 4 4 Prefs4 4 4 4
1GPIO Interfaces 24 3This provides an overview of GPIO access conventions on Linux.4 44 5These calls use the gpio_* naming prefix. No other calls should use that4 6prefix, or the related __gpio_* prefix.4 74 84 9What is a GPIO?4 10===============4 11A "General Purpose Input/Output" (GPIO) is a flexible software-controlled4 12digital signal. They are provided from many kinds of chip, and are familiar4 13to Linux developers working with embedded and custom hardware. Each GPIO4 14represents a bit connected to a particular pin, or "ball" on Ball Grid Array4 15(BGA) packages. Board schematics show which external hardware connects to4 16which GPIOs. Drivers can be written generically, so that board setup code4 17passes such pin configuration data to drivers.4 184 19System-on-Chip (SOC) processors heavily rely on GPIOs. In some cases, every4 20non-dedicated pin can be configured as a GPIO; and most chips have at least4 21several dozen of them. Programmable logic devices (like FPGAs) can easily4 22provide GPIOs; multifunction chips like power managers, and audio codecs 23often have a few such pins to help with pin scarcity on SOCs; and there are 24also "GPIO Expander" chips that connect using the I2C or SPI serial busses.4 25Most PC southbridges have a few dozen GPIO-capable pins (with only the BIOS4 26firmware knowing how they're used).4 274 28The exact capabilities of GPIOs vary between systems. Common options:4 294 30 - Output values are writable (high=1, low=0). Some chips also have4 31 options about how that value is driven, so that for example only one4 32 value might be driven ... supporting "wire-OR" and similar schemes 33 for the other value (notably, "open drain" signaling).4 344 35 - Input values are likewise readable (1, 0). Some chips support readback4 36 of pins configured as "output", which is very useful in such "wire-OR"4 37 cases (to support bidirectional signaling). GPIO controllers may have4 38 input de-glitch/debounce logic, sometimes with software controls.4 394 40 - Inputs can often be used as IRQ signals, often edge triggered but4 41 sometimes level triggered. Such IRQs may be configurable as system4 42 wakeup events, to wake the system from a low power state.4 434 44 - Usually a GPIO will be configurable as either input or output, as needed4 45 by different product boards; single direction ones exist too.4 464 47 - Most GPIOs can be accessed while holding spinlocks, but those accessed4 48 through a serial bus normally can't. Some systems support both types.4 494 50On a given board each GPIO is used for one specific purpose like monitoring4 51MMC/SD card insertion/removal, detecting card writeprotect status, driving4 52a LED, configuring a transceiver, bitbanging a serial bus, poking a hardware4 53watchdog, sensing a switch, and so on.4 544 554 56GPIO conventions4 57================4 58Note that this is called a "convention" because you don't need to do it this4 59way, and it's no crime if you don't. There **are** cases where portability4 60is not the main issue; GPIOs are often used for the kind of board-specific4 61glue logic that may even change between board revisions, and can't ever be4 62used on a board that's wired differently. Only least-common-denominator4 63functionality can be very portable. Other features are platform-specific,4 64and that can be critical for glue logic.4 654 66Plus, this doesn't require any implementation framework, just an interface.4 67One platform might implement it as simple inline functions accessing chip4 68registers; another might implement it by delegating through abstractions4 69used for several very different kinds of GPIO controller. (There is some4 70optional code supporting such an implementation strategy, described later4 71in this document, but drivers acting as clients to the GPIO interface must4 72not care how it's implemented.)4 734 74That said, if the convention is supported on their platform, drivers should4 75use it when possible. Platforms must declare GENERIC_GPIO support in their4 76Kconfig (boolean true), and provide an <asm/gpio.h> file. Drivers that can't4 77work without standard GPIO calls should have Kconfig entries which depend4 78on GENERIC_GPIO. The GPIO calls are available, either as "real code" or as4 79optimized-away stubs, when drivers use the include file:4 804 81 #include <linux/gpio.h>4 824 83If you stick to this convention then it'll be easier for other developers to4 84see what your code is doing, and help maintain it.4 854 86Note that these operations include I/O barriers on platforms which need to4 87use them; drivers don't need to add them explicitly.4 884 894 90Identifying GPIOs4 91-----------------4 92GPIOs are identified by unsigned integers in the range 0..MAX_INT. That4 93reserves "negative" numbers for other purposes like marking signals as4 94"not available on this board", or indicating faults. Code that doesn't4 95touch the underlying hardware treats these integers as opaque cookies.4 964 97Platforms define how they use those integers, and usually #define symbols4 98for the GPIO lines so that board-specific setup code directly corresponds4 99to the relevant schematics. In contrast, drivers should only use GPIO4 100numbers passed to them from that setup code, using platform_data to hold4 101board-specific pin configuration data (along with other board specific4 102data they need). That avoids portability problems.4 1034 104So for example one platform uses numbers 32-159 for GPIOs; while another4 105uses numbers 0..63 with one set of GPIO controllers, 64-79 with another4 106type of GPIO controller, and on one particular board 80-95 with an FPGA.4 107The numbers need not be contiguous; either of those platforms could also4 108use numbers 2000-2063 to identify GPIOs in a bank of I2C GPIO expanders.4 1094 110If you want to initialize a structure with an invalid GPIO number, use4 111some negative number (perhaps "-EINVAL"); that will never be valid. To4 112test if such number from such a structure could reference a GPIO, you4 113may use this predicate:4 1144 115 int gpio_is_valid(int number);4 1164 117A number that's not valid will be rejected by calls which may request4 118or free GPIOs (see below). Other numbers may also be rejected; for4 119example, a number might be valid but temporarily unused on a given board.4 1204 121Whether a platform supports multiple GPIO controllers is a platform-specific4 122implementation issue, as are whether that support can leave "holes" in the space4 123of GPIO numbers, and whether new controllers can be added at runtime. Such issues4 124can affect things including whether adjacent GPIO numbers are both valid.4 1254 126Using GPIOs4 127-----------4 128The first thing a system should do with a GPIO is allocate it, using4 129the gpio_request() call; see later.4 1304 131One of the next things to do with a GPIO, often in board setup code when4 132setting up a platform_device using the GPIO, is mark its direction:4 1334 134 /* set as input or output, returning 0 or negative errno */4 135 int gpio_direction_input(unsigned gpio);4 136 int gpio_direction_output(unsigned gpio, int value);4 1374 138The return value is zero for success, else a negative errno. It should4 139be checked, since the get/set calls don't have error returns and since4 140misconfiguration is possible. You should normally issue these ns andfrom4 41 soma taskllersngsshoHowetbangcess,s, but -saf (see bes implemeOKwithm; drivef="Documentation/gpio.txt#L14nine4edL132" class="line" name="L42"> 4121 wakbecese taskr neiblen thide whelar nexeare tetup code wef="Documentation/gpio.txt#L130" id="L43" cla1ss="line" name="L43"> 4131 14< - UsuFut, retur(see b,t/sets zerod from mabecoel tlude fe a s, retur(s zeref="Documentation/gpio.txt#L130" id="L135" class="line" name="L45"> 41514ese calisaintas portas as4 4161 4171 - MosFut,coeppioproblemGPIO,g thcyace must4< withsee b,t up a plludeon_outputf="Documentation/gpio.txt#L47" id=1"L138" class="line" name="L48"> 4181 thrnexis allocmy.4 4191 5101n a git#L1libork, just ef="Documentation/gpio.txt#L130" id="L51" cla1ss="line" name="L51"> 5111MC/SD f="Documentation/gpio.txt#L130" id="L132" class="line" name="L52"> 5121 LED, Sup a plludeon_output addefail conventmbers are bmd&q GPIO ndicat href="Documentation/gpio.txt#L132" id="L53" cla1ss="line" name="L53"> 5131atchdon'lar board 8lls are have er as IRQ spaceevenn4 5141 5151 5161PIO coard setup code4 5171======'ed as &q pullups/pulldowsincp bopriatolyref="Documentation/gpio.txt#L73" id=1"L58" cla1ss="line" name="L58"> 51815a href="Documentation/gpio.txt#L19" id=""L59" cla1ss="line" name="L59"> 51915a href="Documentation/gpio.txt#L110" id="L60" cla1ss="line" name="L60"> 6101s not Ss, but -Saf (see ing chif="Documentation/gpio.txt#L110" id="L51" cla1ss="line" name="L61"> 61116---------------4 6121sed onIOs can bllers can be added at while hoPIO,m deryck4 61316is provtfor;t need to add thesleepan't saf lnfigud="dany kion/<e trf="Documentation/gpio.txt#L130" id="L54" cla1ss="line" name="L64"> 6141nd tha(nershk4 6151 16<16ing GPIet/setfcanow therom4 6171ne plafcat h reqrecti;t sleep()e rejealways false;">4 61816a href="Documentation/gpio.txt#L19" id=""L69" cla1ss="line" name="L69"> 6191sed fo /* set as terfacNPUT: false;"r suctiveonr sucref="Documentation/gpio.txt#L135" id="L70" cla1ss="line" name="L70"> 710170 int gpio_directi ca_s zered gpio);4 71117C/SD f="Documentation/gpio.txt#L130" id="L72" cla1ss="line" name="L72"> 712172d fo /* set as terfaOUTPUTcref="Documentation/gpio.txt#L135" id="L63" cla1ss="line" name="L73"> 713173d fo /* set ortasrectisca_s zered gpio);4 71417a href="Documentation/gpio.txt#L115" id="L75" cla1ss="line" name="L75"> 71517ese call are likewis true),,or successOth,veonr success lowe W#39;rottom"t/sef="Documentation/gpio.txt#L115" id="L16" classs="line" name="L76"> 7161configs zeronexin, retur( &quo/sets zerofalse;);4normallbyour cimplemesrd r itf="Documentation/gpio.txt#L115" id="L17" classs="line" name="L17"> 17<1ork wifiguportll nevt need toalways m, seace4 7181n GENE 71917a href="Documentation/gpio.txt#L110" id="L80" cla1ss="line" name="L80"> 8101 8111 igres aon theiearei such a rection_output(*()shoHowetbangnt these oilabllsf="Documentation/gpio.txt#L132" id="L82" cla1ss="line" name="L82"> 8121 81318serves lse;"r sushoAlso,the GPIO, ndfrom4 8141ee wha standardleep GPIlow). Otheh ervieeturnef="Documentation/gpio.txt#L18" id="LL75" cla1ss="line" name="L85"> 8151 816186tforms definic pin conntation issue,ikewishncouragdd theed-away o/settwef="Documentation/gpio.txt#L112" id="L87" cla1ss="line" name="L87"> 8171se therom4 8181 8191 9101dentifone mainhe add ks, but t issues4ed-away sfrom4 9111------apy.4 9121PIOs aPIO-cIO coon/e coucludhtegyubr rebolsrom4 91319a href="Documentation/gpio.txt#L44" id=1"L94" cla1ss="line" name="L94"> 91419a href="Documentation/gpio.txt#L115" id="L95" cla1ss="line" name="L95"> 9151ouch tcess conventy even chdleepf="Documentation/gpio.txt#L115" id="L86" cla1ss="line" name="L96"> 9161 9171latforstemsntrollers may havelared at while hhe GPImhilaeen as 91819 free GPSPIon optiane withrottocat fo integermberss zerse any impwaforrdwref="Documentation/gpio.txt#L16" id=""L99" cla1ss="line" name="L99"> 9191o the get GPIO inhottocexisqueungt 120200se calisa any imsrdleep GP is veryre have er asd="dany kion/<nalsha.dn beef="Documentation/gpio.txt#L130" id2"L21" classs="line" name="L101"> 12120C/SD f="Documentation/gpio.txt#L130" id2"L102" cl2ss="line" name="L102"> 1222ata thms define pport can leaedica GPIO controld an GPuishrom that seoard sa href="Documentation/gpio.txt#L127" id2"L103" cl2ss="line" name="L103"> 1232 1242o for s veryhave Kconfigigrespns, ousGPIa it, us hoPIO,quest() calleef="Documentation/gpio.txt#L133" id2"L105" cl2ss="line" name="L105"> 12520a href="Documentation/gpio.txt#L86" id=2"L106" cl2ss="line" name="L106"> 12620 int gpio_directi;t sleep(d gpio);4 12720a href="Documentation/gpio.txt#L28" id=""L108" cl2ss="line" name="L108"> 1282se numThemonventstrucsee b,ra nt kinds oGPIO comonveno platfsymboldef="Documentation/gpio.txt#L133" id2"L29" classs="line" name="L109"> 1292 120210 int gpias terfacNPUT: false;"r suctiveonr su,be valisleepcref="Documentation/gpio.txt#L135" id2"L111" cl2ss="line" name="L111"> 121211 int gpio_directi ca_s zeri;t sleep(d gpio);4 12221a href="Documentation/gpio.txt#L83" id=2"L113" cl2ss="line" name="L113"> 123213 int gpias terfaOUTPUT,be valisleepcref="Documentation/gpio.txt#L135" id2"L24" classs="line" name="L114"> 12421 /* set ortasrectisca_s zeri;t sleep(d gpio);4 12521a href="Documentation/gpio.txt#L86" id=2"L116" cl2ss="line" name="L116"> 1262 1272 numberg chip4 1282r freeneedk4 1292xample,s, but -saf (d4 2002 2112hetherOat suppopace4 22<2mplemes. In srn't4 233223 gpio_res19"aasace4 24422a href="Documentation/gpio.txt#L115" id2"L25" classs="line" name="L25"> 25522 i**acN ADDITION s whem4 2662irmwarey kilersngsdmay requestsleepanhe get/seyquest add themonventventmberf="Documentation/gpio.txt#L17" id=2"L117" cl2ss="line" name="L27"> 2772------lers may ha hrea hr:e is ssecode4 2882he firode4 2992 120230 int gpirection_input(unsigneef="Documentation/gpio.txt#L73" id=2"L131" cl2ss="line" name="L131"> 121231 int gpirection_input(uunsigneef="Documentation/gpio.txt#L73" id=2"L22" classs="line" name="L132"> 122232 int gpirecti() call; f="Documentation/gpio.txt#L73" id=2"L23" classs="line" name="L23"> 23<2 1242 ##nt gpirecti() call_="d; f="Documentation/gpio.txt#L73" id=2"L25" classs="line" name="L135"> 1252 ##nt gpirecti() call_a hre; f="Documentation/gpio.txt#L73" id=2"L26" classs="line" name="L136"> 1262 ##nt gpirectiIOs _a hre; f="Documentation/gpio.txt#L73" id=2"L117" cl2ss="line" name="L137"> 1272 1282 input d gpirectiIOs ; f="Documentation/gpio.txt#L73" id=2"L29" classs="line" name="L139"> 129239 input d gpirectisca_e logic,; f="Documentation/gpio.txt#L73" id=2"L140" cl2ss="line" name="L140"> 12024a href="Documentation/gpio.txt#L121" id2d, txt#L12ass="line" name="L41"> 2124C/SD f="Documentation/gpio.txt#L130" id2dL132" cl2ss="line" name="L42"> 42224a href="Documentation/gpio.txt#L83" id=2"L43" cla2ss="line" name="L43"> 4232 12<2 - Usu----------4 42524ese cawith pic, seashould ration is posseturne,IOwoa e availabsymboldef="Documentation/gpio.txt#L18" id=2"L136" cl2ss="line" name="L46"> 4262 427247 input d gpias () callis markng 0 or negative errno */4 42824 input d gpi *veon-nuejelabele configuin suchmplediagnosIn cof="Documentation/gpio.txt#L18" id=2"L29" classs="line" name="L49"> 429249 input d gpi *ef="Documentation/gpio.txt#L135" id2"L50" cla2ss="line" name="L50"> 520250 int gpio_directi() call;d gpio);4 5212MC/SD f="Documentation/gpio.txt#L130" id2"L132" cl2ss="line" name="L52"> 522252d fo /* set as reommoespns, ousGP-claimenumber,*ef="Documentation/gpio.txt#L135" id2"L43" cla2ss="line" name="L53"> 523253d fo /* set ortasrectiIOs ;d gpio);4 5242 5252 5262PIO convensrn'few dolk4 5272======recti() call; relared a, sinceshould normally issue these ns andfrom4 52825 freeneeaskllersngsshoHowetbangcess,s, but -saf (see bes implemeOKwith() callis maef="Documentation/gpio.txt#L127" id2"L59" cla2ss="line" name="L59"> 529259 wakbecese taskr neiblen thide whelar nexeare tetup code wef="Documentation/gpio.txt#L130" id2"L60" cla2ss="line" name="L60"> 62026a href="Documentation/gpio.txt#L121" id2"L51" cla2ss="line" name="L61"> 62126-----T andfrom4 6222sed onilablctdefineifor t whesee b,rcessbettelediagnosIn c;s supporte4 62326is pr very dihundferepotn/ga s,see b,rporan boare GPIarPIO-caa).4 6242nd thaoard.4 6252 26<26ing G as4 6272ne pla 62826a hrells are a"IIO; a board-sbut ef="Documentation/gpio.txt#L130" id2"L59" cla2ss="line" name="L69"> 62926a href="Documentation/gpio.txt#L30" id=2"L70" cla2ss="line" name="L70"> 720270 stemsms could ao be reje don howliggerow thaw' allvailablctno *href="Documentation/gpio.txt#L119" id2"L71" cla2ss="line" name="L71"> 72127C/SD anagers, andon/g, structsls wanager nedowsuon a gi hreasectobe ila,smesef="Documentation/gpio.txt#L119" id2"L132" cl2ss="line" name="L72"> 722272d fo 7232 72427- UsuFut,nvensrn' donnfigu hown GPIO innfictrlgyub suppo, pport cbshould do witf="Documentation/gpio.txt#L74" id=2"L55" cla2ss="line" name="L75"> 72527ese cbro noulded next tir9 do;n bopL1libo shoulnot val.() call; rons incluao becllsf="Documentation/gpio.txt#L132" id2"L16" cla2ss="line" name="L76"> 7262confignfictrli() call_t#L1(provide bopL1libo shoulnot val.IOs ; rons incluao becllsf="Documentation/gpio.txt#L132" id2"L27" classs="line" name="L27"> 27<2ork wifigctrliIOs _t#L1(p.re p nfictrlgyub suppoIa itwtformfictrli() call_t#L1(pf="Documentation/gpio.txt#L132" id2"L58" cla2ss="line" name="L78"> 7282n GENEort bccadd ratcur Only GPIO, ofiguut,p GProupquea plutput&qwo);because PIarPsing thref="Documentation/gpio.txt#L119" id2"L59" cla2ss="line" name="L79"> 72927a hrefigue GPIO cxa p f="Documentation/gpio.txt#L119" id2"L80" cla2ss="line" name="L80"> 8202 8212 Anems.4grammoughof figue GPIO cxa pre treats tids is 82228IOs are i sas4 82328serve.on_input(unsigneeuut,.on_input(uunsigneeions includn one pccur aftele nef="Documentation/gpio.txt#L22" id=""L84" cla2ss="line" name="L84"> 8242ee what e4 8252 826286tforialit it by daeust ar rne par as4 82728a href="Documentation/gpio.txt#L138" id2"L88" cla2ss="line" name="L88"> 8282 8292 9202dentifpullup/pulldows.rms must re controlnave Kcar..MAX_tids lemehtrucdetaiavailaf="Documentation/gpio.txt#L130" id2"L71" cla2ss="line" name="L91"> 9212------rable ascems.ikindherecti() call; ruea pla " kind egermber a n.g. 9222PIOs aO innfictrlgyub suppoimplememcp a pllither board-ssee r do not be contigua href="Documentation/gpio.txt#L53" id=2"L93" cla2ss="line" name="L93"> 92329 GPIO nus andfdetaiavef="Documentation/gpio.txt#L130" id2"L94" cla2ss="line" name="L94"> 92429a href="Documentation/gpio.txt#L115" id2"L95" cla2ss="line" name="L95"> 9252ouch tAlsognt these os implemede iss4 9262 92729a href="Documentation/gpio.txt#L138" id2"L88" cla2ss="line" name="L98"> 92829 freeCon/<rp4 9292o the trolslaimen,eedk4 at riio.t&quoe availabsymboldef="Documentation/gpio.txt#L133" id3"L100" cl3ss="line" name="L100"> 13030a href="Documentation/gpio.txt#L81" id=3"L21" cla3ss="line" name="L101"> 131301 int gpias () callim sangl is markGPIO, fe a s,ration is possa 132302d fo /* set * impleflagsimplekeiing Gc 933303d fo /* set * value is zerf="Documentation/gpio.txt#L138" id3"4102" cl3ss="line" name="L94"> 934304d fo /* set *ef="Documentation/gpio.txt#L135" id3"L105" cl3ss="line" name="L105"> 13530 int gpio_directi() call_="d;d gpio);4 13630a href="Documentation/gpio.txt#L47" id=3"L107" cl3ss="line" name="L107"> 137307 input d gpias () callie GPIO controbank ofsangl icllsf="Documentation/gpio.txt#L132" id3"L108" cl3ss="line" name="L108"> 138308d fo /* set *ef="Documentation/gpio.txt#L135" id3"9108" cl3ss="line" name="L99"> 939309 int gpio_directi() call_a hre;/e couirect *a hreanheze_r);4 13031a href="Documentation/gpio.txt#L81" id=3"L111" cl3ss="line" name="L111"> 131311 int gpias ()ommoese GPIO controbank ofsangl icllsf="Documentation/gpio.txt#L132" id3"L112" cl3ss="line" name="L112"> 132312d fo /* set *ef="Documentation/gpio.txt#L135" id3"L113" cl3ss="line" name="L113"> 133313d fo /* set ortasrectiIOs _a hre;/e couirect *a hreanheze_r);4 1343 13531a hreortabiimpleflagsimplea4 1363 137317 input d gpis terfF_DIR_IN /* set -atheced as &q on_output t or outf="Documentation/gpio.txt#L117" id3"L108" cl3ss="line" name="L118"> 138318 input d gpis terfF_DIR_OUT/* set -atheced as &q on_output t o returf="Documentation/gpio.txt#L117" id3"9108" cl3ss="line" name="L119"> 13931a href="Documentation/gpio.txt#L30" id=3"L20" cla3ss="line" name="L20"> 230320 input d gpis terfF_INIT_LOW* set -at o retur,t up, fe a s,lrs tatheLOWf="Documentation/gpio.txt#L30" id=3"L111" cl3ss="line" name="L21"> 231321 input d gpis terfF_INIT_HIGH set -at o retur,t up, fe a s,lrs tatheHIGHf="Documentation/gpio.txt#L30" id=3"L112" cl3ss="line" name="L22"> 23<322 input d gpis terfF_OPEN_DRAIN /* se-irect p Gqisrain& uot; i GPIef="Documentation/gpio.txt#L85" id=3"L113" cl3ss="line" name="L23"> 233323 input d gpis terfF_OPEN_SOURCE/* se-irect p Gqisrain& se iget/GPIef="Documentation/gpio.txt#L85" id=3"4102" cl3ss="line" name="L24"> 23432a href="Documentation/gpio.txt#L115" id3"L25" cla3ss="line" name="L25"> 235325 input d gpis terfF_EXPORT_DIR_FIXED* set -aexn learect theoysfsalkeepcon_outputf="Documentation/gpio.txt#L47" id=3"L26" cla3ss="line" name="L26"> 236326 input d gpis terfF_EXPORT_DIR_CHANGEABLE -atlsogexn le,aa itwabet sericon_outputf="Documentation/gpio.txt#L47" id=3"L117" cl3ss="line" name="L27"> 23732a href="Documentation/gpio.txt#L138" id3"L108" cl3ss="line" name="L28"> 2383he firoe getterfF_INIT_*ailabe GPIill be versrable ascemt o retur,t PIrroupqill bf="Documentation/gpio.txt#L138" id3"9108" cl3ss="line" name="L29"> 2393 1303 131331 input d gpis terfF_IN -eced as &q t or outf="Documentation/gpio.txt#L117" id3"L22" cla3ss="line" name="L132"> 132332 input d gpis terfF_OUT_INIT_LOW* se-srable ascemt o retur,t fe a s,lrs taLOWf="Documentation/gpio.txt#L30" id=3"L23" cla3ss="line" name="L23"> 23<333 input d gpis terfF_OUT_INIT_HIGH se-srable ascemt o retur,t fe a s,lrs taHIGHf="Documentation/gpio.txt#L30" id=3"L134" cl3ss="line" name="L134"> 13433a href="Documentation/gpio.txt#L115" id3"L25" cla3ss="line" name="L135"> 1353 W#39; up a plludeflag whesee F_OPEN_DRAIN 'lle rejeassionaceevefigsa4 1363 ain& uot; i GPIessues4figsaver beontigudshounethe1ank retur(nn4 1373 1383 inpm sysludeon_output ializpthaw&39;lleisaaskldatheoetts zeronex1ank retur(nn4 13933 the relm sysludep GqHIGH.re p nfik its keatheLOWe PIdshoa pls zero0ank retur(nn4 13034a href="Documentation/gpio.txt#L121" id3d, txt#L13ass="line" name="L41"> 31341 W#39; up a plludeflag whesee F_OPEN_SOURCE/'lle rejeassionaceevefigsa4 43234a hreain& se iget/GPIessues4figsaver beontigudshounethe0ank retur(nn4 433343 hre any impthecednngs pull-dowsup"w iue Bylen tha plluisrflag,arect libover f="Documentation/gpio.txt#L115" id34L14" cla3ss="line" name="L14"> 13<3 - Usum sysludeon_output ializpthaw&39;lleisaaskldatheoetts zeronex0ank retur(nn4 435345the relm sysludep GqLOW.re p nfik its keatheHIGH PIdshoa pls zero1ank retur(nn4 4363 437347 inpIpace4 43834a href="Documentation/gpio.txt#L19" id=3"L29" cla3ss="line" name="L49"> 439349 inpFurard smese,withmmoesventilaim/()ommoesnexe GPIO controb,iimple/e couirectimplea4 530350 irs mducrewithencapsu 5313MC/SD f="Documentation/gpio.txt#L130" id3"L132" cl3ss="line" name="L52"> 532352d fo /* set /e couirect {f="Documentation/gpio.txt#L130" id3"L43" cla3ss="line" name="L53"> 533353d fo /* set d gpio);44444444t#L1ef="Documentation/gpio.txt#L137" id3"L54" cla3ss="line" name="L54"> 534354d fo /* set d gpio);4th ot fflagsef="Documentation/gpio.txt#L137" id3"L25" cla3ss="line" name="L55"> 535355d fo /* set s.4d betr d gpislabelef="Documentation/gpio.txt#L137" id3"L26" cla3ss="line" name="L56"> 536356 input d gpi}ef="Documentation/gpio.txt#L137" id3"L47" cla3ss="line" name="L57"> 53735a href="Documentation/gpio.txt#L138" id3"L58" cla3ss="line" name="L58"> 53835 freeAhtypr gle one platf ulaeeef="Documentation/gpio.txt#L133" id3"L29" cla3ss="line" name="L59"> 53935a href="Documentation/gpio.txt#L110" id3"L60" cla3ss="line" name="L60"> 630360d fo /* set /epioc /e couirect leds_t#L1s[] = {f="Documentation/gpio.txt#L130" id3"L51" cla3ss="line" name="L61"> 631361d fo /* set {>3<, terfF_OUT_INIT_HIGH,lutput&PnagerLEDbecause},ias defa GPwithON sef="Documentation/gpio.txt#L135" id3"L132" cl3ss="line" name="L62"> 632362d fo /* set {>33, terfF_OUT_INIT_LOW, lutput&GrgresLEDbecause},ias defa GPwithOFF sef="Documentation/gpio.txt#L135" id3"L43" cla3ss="line" name="L63"> 633363d fo /* set {>34, terfF_OUT_INIT_LOW, lutput&R);4LEDbecause e},ias defa GPwithOFF sef="Documentation/gpio.txt#L135" id3"L54" cla3ss="line" name="L64"> 634364d fo /* set {>35, terfF_OUT_INIT_LOW, lutput&BzeroLEDbecause },ias defa GPwithOFF sef="Documentation/gpio.txt#L135" id3"L25" cla3ss="line" name="L65"> 635365d fo /* set {uport}af="Documentation/gpio.txt#L127" id3"L26" cla3ss="line" name="L26"> 23<366 input d gpi}ef="Documentation/gpio.txt#L137" id3"L47" cla3ss="line" name="L67"> 63736a href="Documentation/gpio.txt#L138" id3"L58" cla3ss="line" name="L68"> 638368 input d gpierr = recti() call_="d;31, terfF_IN,lutput&R)oettButtonutput&ref="Documentation/gpio.txt#L137" id3"L59" cla3ss="line" name="L69"> 6393sed fo /* set if (errpf="Documentation/gpio.txt#L132" id3"L70" cla3ss="line" name="L70"> 730370 int gpiiiiiiiiiporf="Documentation/gpio.txt#L132" id3"L51" cla3ss="line" name="L71"> 73137C/SD f="Documentation/gpio.txt#L130" id3"L132" cl3ss="line" name="L72"> 732372d fo /* set err = recti() call_a hre;leds_t#L1s, ARRAY_SIZE;leds_t#L1s)ref="Documentation/gpio.txt#L137" id3"L63" cla3ss="line" name="L73"> 733373d fo /* set if (errpf="Documentation/gpio.txt#L132" id3"L54" cla3ss="line" name="L74"> 734374d fo /* set porf="Documentation/gpio.txt#L132" id3"L25" cla3ss="line" name="L75"> 73537a href="Documentation/gpio.txt#L86" id=3"L16" cla3ss="line" name="L76"> 736376 input d gpirectiIOs _a hre;leds_t#L1s, ARRAY_SIZE;leds_t#L1s)ref="Documentation/gpio.txt#L137" id3"L47" cla3ss="line" name="L27"> 23<37a href="Documentation/gpio.txt#L138" id3"L58" cla3ss="line" name="L78"> 73837a href="Documentation/gpio.txt#L19" id=3"L59" cla3ss="line" name="L79"> 73937a hresee byeappe hithIRQ 8303 8313 mbers are both vad gpio);4ce mg bo;t PIh vanals are bo are poese keaupf="Documentation/gpio.txt#L115" id3"L82" cla3ss="line" name="L82"> 83238IOs aOwoalogr glly d an Goui82">e hres (mbers0ot be cont donnals0)should addf="Documentation/gpio.txt#L115" id3"L63" cla3ss="line" name="L83"> 83338serveeapsbetwgresom thhe GPIoe avarkinef="Documentation/gpio.txt#L133" id3"L84" cla3ss="line" name="L84"> 83438a href="Documentation/gpio.txt#L115" id3"L55" cla3ss="line" name="L85"> 835385d fo /* set as eapsmber, use4< 83638 int gpio_directito_irq;d gpio);4 83738a href="Documentation/gpio.txt#L138" id3"L88" cla3ss="line" name="L88"> 838388d fo /* set as eapsnals are bo ithsee s are bo (portashe GPIO,is) sef="Documentation/gpio.txt#L135" id3"L59" cla3ss="line" name="L89"> 839389 int gpio_diirqito_t#L1;d gpio);4irqref="Documentation/gpio.txt#L136" id3"L90" cla3ss="line" name="L90"> 93039a href="Documentation/gpio.txt#L121" id3"L71" cla3ss="line" name="L91"> 93139-----T egervalue ieiat suppe ands4e hredicaf="Documentation/gpio.txt#L121" id3"L82" cla3ss="line" name="L92"> 9323PIOs anegative errno. It sa hretconventmcp a plre have er asd="de (Fple one plaf="Documentation/gpio.txt#L127" id3"L93" cla3ss="line" name="L93"> 93339 GPIOstemsntrosare have er as IRQ ashIRQ<.) oIta4 93439a hre are bmll nevat requireoett4 935395the relm; dhnsnals are bmll nedid requireoriginefinerameuch a rectito_irq;)rf="Documentation/gpio.txt#L132" id3"L86" cla3ss="line" name="L96"> 93639a href="Documentation/gpio.txt#L47" id=3"L97" cla3ss="line" name="L97"> 93739a hree poesOwoamcp a plre availabex pite hithced opace4 93839 freet riio.trut,subtranput( are pyrequireoilabllsowdd thesleeprf="Documentation/gpio.txt#L132" id3"L59" cla3ss="line" name="L99"> 93939a href="Documentation/gpio.txt#L110" id4"L100" cl4ss="line" name="L100"> 14040a hreNon-eturnss zerse alse;);4ch a rectito_irq;) added apaile hith() call_irq;)f="Documentation/gpio.txt#L110" id4"1100" cl4ss="line" name="L91"> 941401 oroIOs _irq;)rare pyaver bn boarbe itor);4ce henalss4 942402d foPsing b,rpyt/set 943403d foa codevailablar nex/setnalsce must4 944404d fo suppoIw ke4 14540a href="Documentation/gpio.txt#L86" id=4"L106" cl4ss="line" name="L106"> 14640a hreNon-eturnss zerse alse;);4ch a irqito_t#L1;) wve Kcmed bomme GPI as IRQf="Documentation/gpio.txt#L86" id=4"7106" cl4ss="line" name="L97"> 947407 inpoPIO,quest ca_s zere),ample one pl ialize a size 948408d fow&39;/setnalscs igge-trigg bceshoNt these ostemsms could a;t need to can lef="Documentation/gpio.txt#L53" id=4"9106" cl4ss="line" name="L99"> 949409 tlisa aouldntmcp a p,t PIyld normallportashe GPIhref="Documentation/gpio.txt#L85" id=4"L110" cl4ss="line" name="L110"> 14041a href="Documentation/gpio.txt#L81" id=4"L111" cl4ss="line" name="L111"> 14141C/SD f="Documentation/gpio.txt#L130" id4"L112" cl4ss="line" name="L112"> 142412d foEmu 143413d fo----------4 1444 14541a hreitwa as4 1464 147417 inplrs trare isa4 148418 inpe errno. logr (itw=tr hr puld pitno. called lnin thewn_i-ORin theef="Documentation/gpio.txt#L85" id=4"9106" cl4ss="line" name="L119"> 14941a href="Documentation/gpio.txt#L30" id=4"L20" cla4ss="line" name="L20"> 240420 inpasekbomme e one platf in, in& uot; i as4 241421 inpAlso,tbion_input( 24<42a href="Documentation/gpio.txt#L83" id=4"L113" cl4ss="line" name="L23"> 243423 inpstemsntrollers may havon_inplyh can leaoin& uot; i returs;rs, ya;t need te W#39f="Documentation/gpio.txt#L83" id=4"4102" cl4ss="line" name="L24"> 24442a hreyld add ein& uot; i as4 245425 inpard eimplemeakbomme eion kiyld addt donithemu 24642a hrebes IRQ asheiat suin,izpthaorxin, returef="Documentation/gpio.txt#L133" id4"L117" cl4ss="line" name="L27"> 24742a href="Documentation/gpio.txt#L138" id4"L108" cl4ss="line" name="L28"> 2484he firqLOW: pirection_input(uunsignerect, 0)uportll intshousocumentatioument0ref="Documentation/gpio.txt#L137" id373"> 131331 input d gpis terfF_IN ow1303 1303 131331 inpu4 d gp4s terfFager:t(unsigneef="Documentatentatusocumentain thet t ssang,lrs ton/gpio.txt#L131" id3"L131" cl3ss=4line" name="L132"> 132332 inpu4 d gp4s terfF_OUT_INsont0rer ou d ( are r asorxinet 23<333 inpu4 d gp4entation/gpio.txt#L134" id2"L134" cl2ss=4line" nam4="L134"> 13433a href4"Docu4entatiIfthemureonmentat1ank r mpleTTt0ref="Doc"Documats e),ample one plentatu such f coo won/gpio.txt#L134" id2"L134" cl2ss=4line" name="L135"> 1353 W439; u4 a plltur(nn(ocumentatiguonly useccrille im call_is iahemufictre r asorxinld pon4" on/gpio.txt#L134" id2"L134" cl2ss=4line" name="L136"> 1363 a4n& uo4; i GPntatiou hay ref= add the donoo w caller kind omat; i="Doari4 1373 1383 inpm4syslu4eon_ousle},iamentanetlayent0rerilef="D9 al; iSCK 13933 the r4lm sy4ludep de ise trerfieldccorace4lyion/gpio.txt#L115" id4"L112" cl4ss="line" nam4="L140"> 13034a href4"Docu4entation/gpio.txt#L121" id3d, txt#L13ass4"line" na4e="L41"> 31341 W439; u4entation/gpio.txt#L130" id2dL132" cl2ss=4line" nam4="L42"> 43234a hrea4n& se4iget/GWeorigohref="Doonrm nex/somit?on/gpio.txt#L130" id2dL132" cl2ss=4line" name="L43"> 433343 hre 4ny im4theced===============================on/gpio.txt#L130" id2dL132" cl2ss=4line" nam4="L14"> 13<3 - Usum4syslu4eon_oue plmust42ngso * do h"Doc2C mentatur2" id=""L55" clIa4 13<dl4ss=cl4ss="line" name="L106"> 14640a e 13< terfF 12" c" cl3hipsizs posscks, bunh f e r pllude d to caner rejet; i="on/gpio.txt#L86" id=4"7106" cl4ss="line" name=4L46"> 4363 437347 inpIpa4e4 43834a href="4ocume44ratcur mentata ight i4f="Derf=9;tolmust4potn/ga plluis (Yegsf="suppn& uo,urls,s/gpio.txt#L47" id=3"L88" cla3ss="l4ne" nam4="L49"> 439349 inpFur4rd sm44dmt ef="rq;)rf=f="Documocumirun LinuxDerdayon/gpio.txt#L73" id=2"L29" classs="l4ne" name=4L50"> 530350 irs4mducr45ation/gpio.txt#L121" id3d, txt#L13ass4"lne" name=4L51"> 5313MC/SD f="4ocume4tationRelae4 532352d fo /*4set /4 couirt re consvanalsrae4 533353d fo /*4set 4 re py controlem">e hredbut -way;shouln9;tight ii3">ne" name=4L54"> 534354d fo /*4set 4 ou d (siare t re cons)o not be ang,ln-,smesolmsthese ns a<.) oIta4n/gpio.txt#L115" id4"L112" cl4ss="line" name=4L55"> 535355d fo /*4set 4 (eflagld ircuimi astio5 kOhm,,ln-,smes100 kOhmtvent lows wf="Documedoon/gpio.txt#L73" id=2"L29" classs="l4ne" name=4L56"> 536356 input 4 gpi}4f="DocLikewle ioumentretcngth (2 mA vs 20 mA)shoulvolt not(1.8V vs 3.3V)no -i/gpio.txt#L73" id=2"L29" classs="l4ne" name=4L57"> 53735a href="4ocume4tationd to cansizs posscna hrentationtatioentatio ( a<)eGPIumentaolm-to-ion/gpio.txt#L115" id4"8106" cl4ss="line" name=4L58"> 53835 freeAht4pr gl4 one pre bmdpaceeailaGPIoe avda hr gibbongudshohoul as In/gpio.txt#L115" id4"L112" cl4ss="line" nam4="L59"> 53935a href="4ocume4tation/gpio.txt#L110" id3"L60" cla3ss="l4ne" name=4L60"> 630360d fo /*4set /4pioc /TDocumversrxinldf="Docsizs posscmeutf=iscumocumiahesleepocumentatiDocun/gpio.txt#L131" id3"L131" cl3ss=4line" name=4L61"> 631361d fo /*4set 4 atio tiguoef="mC ments4 632362d fo /*4set 4 Huireon_it/seyy contrenuoect sr writmentation">e gangPIarPIOtno * do h"kietup /gpio.txt#L115" id4"L112" cl4ss="line" name=4L63"> 633363d fo /*4set 4 da hr gibyf="Ddepamesnt:Documeation"add ay ref= aut -bankis (inerable /gpio.txt#L115" id4"L112" cl4ss="line" name=4L64"> 634364d fo /*4set 4 f="Documecumen ige<-bank,p Gq16 sr IT_HGProupqight iSOCeGPIumenpotn/ga tha /gpio.txt#L115" id4"L112" cl4ss="line" name=4L65"> 635365d fo /*4set 4 bank,iitoay haf="Docum hhlhese osn,un,q;)rf=als zere als newrenuo4ch a i/gpio.txt#L115" id4"L112" cl4ss="line" name=4L26"> 23<366 input 4 gpi}46sdmay requudsholeepctsls dettelediais C plrrelf="Doen tha pmeutf=iscumtion/gpio.txt#L115" id34L14" cla3ss="l4ne" name=4L67"> 63736a href="4ocume4e, andemDoari4 638368 input 4 gpie46ation/gpio.txt#L19" id=3"L59" cla3ss="l4ne" name=4L69"> 6393sed fo /*4set i4 (errpDyd fsschyt/sput( arftation">holeepdatheo 730370 in4 gpii4iiiiiientaplreffquotrftda hr gi4 73137C/SD f="4ocume4tation/gpio.txt#L130" id3"L132" cl3ss="l4ne" name=4L72"> 732372d fo /*4set e47ation/gpio.txt#L83" id=4"L113" cl4ss="line" name=4L73"> 733373d fo /*4set i4 (errp as ar rne paoons inclfr fos4 734374d fo /*4set 4 =============================on======on/gpio.txt#L130" id2dL132" cl2ss=4line" name=4L75"> 73537a href="4ocume4tationAholeeh,mbarli-safmme ereturnsa ex/sctnor rne pabyf="Dfr fos4 736376 input 4 gpir4ctiIOsffuoosnocumentations bopertiesh="DocumentDocusarftatioinplyh can tation/gpio.txt#L129" id2"L82" cla2ss="l4ne" name=4L27"> 23<37a href="4ocume4tationef= aut -igue GPIO cxnalF_TRIGvel ta &fr fos4 73837a href="4ocume4tation/gpio.txt#L19" id=3"L59" cla3ss="l4ne" name=4L79"> 73937a hresee4byeap4e hithAsDocumbug"Docuaid,re humbugfi-ORinvailbbonga /f="/karcel/umbug" cla fion/gpio.txt#L47" id=3"L88" cla3ss="l4ne" name=4L80"> 8303 8313 mbe4s are4both vtta &fr fos4 83238IOs aOwo4logr 48ation/gpio.txt#L83" id=4"L113" cl4ss="line" name=4L83"> 83338serveeap4betwg48ation/gpio.txt#L134" id2"L134" cl2ss=4line" name=4L84"> 83438a href="4ocume4tationCplyh can tDtation:),ampl,sme/gpio.txt#L134" id2"L134" cl2ss=4line" name=4L85"> 835385d fo /*4set a4 eapsme-4 83638 in4 gpio4direct, ndfa &fr fos4 83738a href="4ocume48ca_s zere)r9 do;these onin, im/()ong GPIyh can tntationaver n/gpio.txt#L133" id4"L117" cl4ss="line" name=4L88"> 838388d fo /*4set a48ation/gpio.txt#L19" id=3"L59" cla3ss="l4ne" name=4L89"> 839389 in4 gpio4diirqit- beliods boes e ris patioimentation/gpio.txt#L47" id=3"L117" cl3ss="l4ne" name=4L90"> 93039a href="4ocume4tationt- beliods urq;)f="acDoarpatioich a i/gpio.txt#L115" id4"L112" cl4ss="line" name=4L91"> 93139-----T e4erval4e ieiat- EN_SOsaf="Dowhexinld hithhupdts beliods t/seyatio/gpio.txt#L115" id4"L112" cl4ss="line" name=4L92"> 9323PIOs aneg4tive 4rrno. t- a ex/sctnumbugfi-dump beliod (shef="Doextratationpatio ou d ( da hr n/gpio.txt#L73" id=2"L29" classs="l4ne" name=4L93"> 93339 GPIOste4sntro4are hat- tatioof="Documentatio/gpio.txt#L73" id=2"L29" classs="l4ne" name=4L94"> 93439a hre ar4 bmll4tation/gpio.txt#L115" id2"L95" cla2ss="l4ne" name=4L95"> 935395the rel4; dhn4nals aTme ereturwabeper-dshthrce h hr,tationmentat="rq;)rf= 93639a href="4ocume4tationuestrequirentadts fir negativeohavDoc2m39;t4f="itioet sesion/gpio.txt#L115" id4"L105" cl4ss="line" name=4L97"> 93739a hree p4esOwo4tation/gpio.txt#L138" id2"L88" cla2ss="l4ne" name=4L98"> 93839 freet r4io.tr4t,subtT=einpplrer rne paumenta] = l,smethese nspertieshfmple/e cdshthrce,p Gques/gpio.txt#L138" id2"L88" cla2ss="l4ne" name=4L99"> 93939a href="4ocume49dmt ef=Iyh can , sessib 14040a hreNon5eturn5s zers] = l,smetohav 941401 oro5Os _i5q;)rarrare;eusan] = ,sme_"Docummme theoetts zun="Doce r p/gpio.txt#L115" id34L14" cla3ss="l5ne" name=5L92"> 942402d foPsi5g b,r50ation/gpio.txt#L83" id=4"L113" cl4ss="l5ne" name=5L93"> 943403d foa c5devai5ablar Mmcexie henta] = l,smetietup code returhthrcesizs possc_t#L1socumGProuvtion/gpio.txt#L53" id=4"8106" cl4ss="l5ne" name=5L94"> 944404d fo su5poIw 5e4 935395the rel5ocume5tationohav,ccyis Csmeser nedowsnpplchounethGPIh, ponlext ef="Docuvtionp/gpio.txt#L115" id34L14" cla3ss="l5n6" name=5L96"> 93639a href="5eturn5tation/gpio.txt#L47" id=3"L107" cl3ss="l5ne" name=5L97"> 947407 inpoPI5,ques5 ca_s of fumbugfi-dump beliod hese ns andfrom4 948408d fow&35;/set5alscs Documen dettelediais be it hhlle r] = ,sme_is_Documen dialiationhqito_to/gpio.txt#L73" id=2"L29" classs="l5ne" name=5L99"> 949409 tli5a aou5dntmcporxin, NULL otatigutatioo 94ociae4 14041a href="5ocume5tation/gpio.txt#L81" id=4"L111" cl4ss="l5ne" name=5L111"> 14141C/SD f="5ocume5tation/gpio.txt#L130" id4"L112" cl4ss="l5ne" name=5L112"> 142412d foEmu5a GP5Oin& Dolnave KcStation/gpio.txt#L53" id=4"9106" cl4ss="l5ne" name=5L113"> 143413d fo---5-----54 1444 14541a hreitw5 as4<5 lrs tARCH_REQUIRE_contLIB otaARCH_WANT_OPeodeAL_contLIB/gpio.txt#L53" id=4"9106" cl4ss="l5n6" name=5L116"> 1464 147417 inplrs5trare51ationef"Docu alisa4n:),ample one pl iali,ampls one pl ialihoul] = l,anyatioion/gpio.txt#L132" id3"L86" cla3ss="l5ne" name=5L118"> 148418 inpe e5rno. 51ation/gpio.txt#L19" id=3"L59" cla3ss="l5ne" name=5L119"> 14941a href="5ocume5tationItowliggerowprcuudnga custrf=r(nn(ofotaARCH_NR_contSdo not be i<.) ttn,/gpio.txt#L53" id=4"9106" cl4ss="l5ne" name=5L20"> 240420 inpase5bomme5e one .txlrut,puestrequirenta icllsf="D is escumenumentatentation_HGProoon/gpio.txt#L117" id3"L22" cla3ss="l5ne" name=5L21"> 241421 inpAls5,tbio5_inputwasaumenct leds e r mentais (Itohese nscoun<.)otats ilt-ds/SoCfinerablon/gpio.txt#L138" id3"3102" cl3ss="l5ne" name=5L22"> 24<42a href="5ocume5tationgerowolmstonr as ophreaupf/gpio.txt#L130" id2"L90" cla2ss="l5ne" name=5L23"> 243423 inpste5sntro52ation/gpio.txt#L134" id2"L134" cl2ss=4l5ne" name=5L24"> 24442a hreyld5 add 5in& uoARCH_REQUIRE_contLIB meanyot be ang, clalibanpplror);4alwent0e o, ponilon/gpio.txt#L86" id=4"7106" cl4ss="l5ne" name=5L25"> 245425 inpard5eimpl5meakboe 24642a hrebes5IRQ a52ation/gpio.txt#L47" id=3"L107" cl3ss="l5ne" name=5L27"> 24742a href="5ocume5tationARCH_WANT_OPeodeAL_contLIB meanyot g, clalibanpplref="Docthhupt ssohavntatgua /gpio.txt#L47" id=3"L107" cl3ss="l5ne" name=5L28"> 2484he firqLO5: pir5ction_ hhlag,arrolpdohavs ildoetts 1303 131331 inpu4 5 gp4s53oth vad gsnrhumeg r as -libaohavntatnpplr hh a<.) oag,arrdpin conngua n/gpio.txt#L115" id4"L112" cl4ss="l5ne" name=5L132"> 132332 inpu4 5 gp4s53ation/gpio.txt#L83" id=4"L113" cl4ss="l5ne" name=5L23"> 23<333 inpu4 5 gp4e5tationTu hactnor rne pabyf=",p Gquesuppu alisa4nt hhlaitaf="Documefr fos4 13433a href4"5ocu4e53 f=deliationhalwent0dimenhed:snrhumeg rt g, clal,smen/gpio.txt#L133" id4"L117" cl4ss="l5ne" name=5L135"> 1353 W435; u4 53ation/gpio.txt#L86" id=4"L106" cl4ss="l5ne" name=5L136"> 1363 a4n5 uo4;53irectit#hyt/se),ample one pl OUT_INso__,ample one pl /gpio.txt#L86" id=4"L106" cl4ss="l5ne" name=5L137"> 1373 1383 inpm4s5slu4e538rectit#hyt/se),ampl,anyatio OUT_INso__,ampl,anyatio/gpio.txt#L86" id=4"L106" cl4ss="l5n13135L139"> 13933 the r4l5 sy4l53ation/gpio.txt#L110" id3"L60" cla3ss="l5ne" nam4=5L140"> 13034a href4"5ocu4e5tationFancoosnor rne pabyf=",pcse nsurhtnuo4hyt/se)uesuppentat/a>3pu alisa4ntGPro/gpio.txt#L110" id3"L60" cla3ss="l5ne" nam4=5"L41"> 31341 W435; u4e5tation puld nexmizumentcDoarpcanow theld SOC-basidplediais ocumentationre have/gpio.txt#L110" id3"L60" cla3ss="l5ne" name=5L42"> 43234a hrea4n5 se4i5et/GWe.txcumecidpleditietf=einplhthrththeef=12theef=,0e otect sr whesee dts e pl Ocse n/gpio.txt#L110" id3"L60" cla3ss="l5ne" name=5L43"> 433343 hre 4n5 im4t54 dastdmntatttlppentuld wref="Docurht#L1ssa4n, nomentaatioseentationer nedon/gpio.txt#L83" id=4"4102" cl4ss="l5ne" nam4=5L14"> 13<3 - Usum4s5slu4e5n_oue nexmizthese >holeepsessib 146<5a>40a5e 13< f=delidastumentt contkGPIfewenpzencurht#L1ssa4nis ocumbitbrucdd I/O, tha /gpio.txt#L115" id4"L112" cl4ss="l5ne" name=5L46"> 4363 437347 inpIpa5e4 43834a href="5ocume54ratcuocumSOCn, d to cansizs posscnpplref=/seoaohavregientasa] = l,smetishthrce,/gpio.txt#L138" id2"L88" cla2ss="l5n13135L49"> 439349 inpFur5rd sm54dmt eze a ong bankp Gqln-,smeslediais besuppation"adse nsbstrequired/tatioq;)f=/gpio.txt#L138" id2"L88" cla2ss="l5ne" name=5L50"> 530350 irs5mducr55ationmnhedl3hip vend="Do138" id2"L88lihoulaitaf="Domnhedli 5313MC/SD f="5ocume5tationwligwe);4hthrtntt zeroihoul]ohe Gf="a d to cansizs possclxmientaontigation/gpio.txt#L138" id2"L88" cla2ss="l5ne" name=5L52"> 532352d fo /*5set /5 couiraheslendfrom4 533353d fo /*5set 5 nvailbbonumentatar,s_n4 534354d fo /*5set 55ation/gpio.txt#L115" id2"L95" cla2ss="l5ne" name=5L55"> 535355d fo /*5set 55ation/gpio.txt#L86" id=4"L106" cl4ss="l5ne" name=5L56"> 536356 input 5 gpi}5f="DocB 53735a href="5ocume5tation 53835 freeAht5pr gl55ratcuocum learcumavon_inplyh can le--er nedowsite cumSPI ophreaup, ASICn, fmple/gpio.txt#L53" id=4"9106" cl4ss="l5n13135L59"> 53935a href="5ocume5tationu alisa4 630360d fo /*5set /56 one .tgienta pitePIyh can t 631361d fo /*5set 5 are bo (pocumezere),amp,sme_ail boarTngirD are bo ie henuthrtnr rejeument/gpio.txt#L138" id2"L88" cla2ss="l5ne" name=5L62"> 632362d fo /*5set 5 d to cansizs possc as In/gpio.txt#L115" id4"L112" cl4ss="l5ne" name=5L63"> 633363d fo /*5set 56ation/gpio.txt#L134" id2"L134" cl2ss=4l5ne" name=5L64"> 634364d fo /*5set 5 ocumentationri 635365d fo /*5set 5 nta icllsentatihip or);4t sesilihoull_is ip nfmhm/()ong as ophreau ,sme/gpio.txt#L134" id2"L134" cl2ss=4l5ne" name=5L26"> 23<366 input 5 gpi}56sdmay"Documentation_h hroarTnge hredihip ocumenns inclprobmmmementin Ocse n l_issenta/gpio.txt#L134" id2"L134" cl2ss=4l5ne" name=5L67"> 63736a href="5ocume5e, andh hrhm/(,amp,sme_ail bo/gpio.txt#L134" id2"L134" cl2ss=4l5ne" name=5L68"> 638368 input 5 gpie56ation/gpio.txt#L19" id=3"L59" cla3ss="l5ne" name=5L69"> 6393sed fo /*5set i5 (errpI4 730370 in5 gpii5iiiiiiensite-basidpledi, dts probmmmementin Oadse nsocumentan_i-ANDbmentatibe cont/gpio.txt#L138" id2"L88" cla2ss="l5ne" name=5L71"> 73137C/SD f="5ocume5tationbet="rRinvailbbonalleri awligmeanmen"Doa hrirhese ns a<.) oregienta4 732372d fo /*5set e57ation hithfotatibe contoith s4 733373d fo /*5set i5 (errpr ned] = l,smetnplyh can letowprcuudngset (()shoult or conhith(llbaturef=/gpio.txt#L138" id2"L88" cla2ss="l5ne" name=5L74"> 734374d fo /*5set 5 i 73537a href="5ocume5tationorce mt ef=eiemDoari4ys couldf="Dahesnvailbbonumohavreocump nfmhlae4rrwfla/gpio.txt#L138" id2"L88" cla2ss="l5ne" name=5L76"> 736376 input 5 gpir57ationuesttion GPIyh can toa hrirbet="rRiun="ailbbona/gpio.txt#L138" id2"L88" cla2ss="l5ne" name=5L27"> 23<37a href="5ocume5tation/gpio.txt#L138" id3"L58" cla3ss="l5ne" name=5L78"> 73837a href="5ocume5tation/gpio.txt#L19" id=3"L59" cla3ss="l5ne" name=5L79"> 73937a hresee5byeap5e hithSysfwsialF_TRIGhfotaUsed lRIGh(OPeodeALn/gpio.txt#L73" id=2"L29" classs="l5ne" name=5L80"> 8303 8313 mbe5s are5both vPntations ationhummoesnepleTTt clalibntatio ar rne paoosDfr fos4 83238IOs aOwo5logr 58ationutf="Documaaf="fs urqr aalF_TRIG (portassvel ta &quo="Documententation/gpio.txt#L115" id4"8106" cl4ss="l5ne" name=5L83"> 83338serveeap5betwg58ationumbugfi-OalF_TRIGGE .2" oettprcuudns GPIyh ctx0ripatioimentationblon/gpio.txt#L138" id3"3102" cl3ss="l5ne" name=5L84"> 83438a href="5ocume5tatione pl Ourhtnuo4ntast (oshef="Dota] = tationpsummi4yvelPlus, dtOcse n bs/gpio.txt#L138" id2"L88" cla2ss="l5ne" name=5L85"> 835385d fo /*5set a5 eapsmp comentonbpsu 83638 in5 gpio58ation/gpio.txt#L47" id=3"L107" cl3ss="l5ne" name=5L87"> 83738a href="5ocume58ca_s Gght ionly useccriquireon_inp7" id=3"L10hfotatihaf="Doc, urqr lRIGhcse n/gpio.txt#L110" id3"L60" cla3ss="l5ne" name=5L88"> 838388d fo /*5set a58ationctre ze a size 839389 in5 gpio5diirqiigute1stboa<.loa="Doseg" idlsf="f 8 pmemo4yvelSaproblupgra="-igucedocun/gpio.txt#L110" id3"L60" cla3ss="l5ne" name=5L90"> 93039a href="5ocume590tionwligheain& urobtioi4 93139-----T e5erval59oth vtt avdhrucsee dts als zeration,sionacpief=ocumen"Ddad Obeef="ure-ag,arect/gpio.txt#L53" id=4"8106" cl4ss="l5ne" name=5L92"> 9323PIOs aneg5tive 5rrno. ref=writ -igute1sioilabInslendfr urq, conto#23i GPI anomentbG (pued:tg/gpio.txt#L53" id=4"8106" cl4ss="l5ne" name=5L93"> 93339 GPIOste5sntro5are haohavntatkarcele GPI aGPIh,nogheain& uctre abooncion/gpio.txt#L85" id=4"L110" cl4ss="l5ne" name=5L94"> 93439a hre ar5 bmll5tation/gpio.txt#L115" id2"L95" cla2ss="l5ne" name=5L95"> 935395the rel5; dhn5nals aAgradedepame="Doen only useccriquireon_inp7" id=3"L10,nen t nees="Docu/gpio.txt#L115" id2"L95" cla2ss="l5ne" name=5L96"> 93639a href="5ocume59sdmay"Dqr lRIGhcontoith bo urq;)f=edeCMOSin Oaaproblda hr gibyf="Dd hrhmnta/gpio.txt#L134" id2"L134" cl2ss=4l5ne" name=5L97"> 93739a hree p5esOwo5tationsthreuirtkarcels wf="Documectre aboonitlsnullupst neetasksgerar rn urqr lRIG/gpio.txt#L134" id2"L134" cl2ss=4l5ne" name=5L98"> 93839 freet r5io.tr5t,subtatioimcumensicse n bs mt ef=be ang,aaproblrefrom4 astin/gpio.txt#L85" id=4"L110" cl4ss="l5ne" name=5L99"> 93939a href="5ocume5tation/gpio.txt#L110" id4"L100" cl4ss="l6ne" name=6L100"> 14040a hreNon6eturn6s zerse could a;tthreuirtkarcelimcumensiexistdlupsonin, intatioLEDcDks, "Documstheef=/gpio.txt#L128" id4"4102" cl4ss="l6ne" name=6L91"> 941401 oro6Os _i60oth vad gptasks:because Docu-" clntatio ks, pleTTt cla_keystheef=,0bmdpnin thlyvelUse)uesup/gpio.txt#L128" id4"4102" cl4ss="l6n2" name=6L92"> 9323PIOs aneg6g b,r60ationurhtnuo4ntatal whelaitaf="Doa sang,rtasst0refit 93339 GPIOste6devai6ablar fr fos4 944404d fo su6poIw 60ation/gpio.txt#L115" id2"L95" cla2ss="l6n5" name=6L95"> 935395the rel6ocume6tation/gpio.txt#L86" id=4"L106" cl4ss="l6n6" name=6L96"> 93639a href="6eturn6tationPathlsf="Sysfw/gpio.txt#L86" id=4"L106" cl4ss="l6n7" name=6L97"> 93739a hree p6,ques60ation 948408d fow&36;/set60,subtT=ecumversf="DocDocusarftid=ra rce/f="/> 946" cln/gpio.txt#L133" id4"L117" cl4ss="l6ne" name=6L99"> 949409 tli6a aou60ation/gpio.txt#L110" id4"L100" cl4ss="l6ne" name=6L110"> 14041a href="6ocume61iiiiipor-INsoCplyh c aalF_TRIGs urq;)f=ee o,urqr lRIGhcsIyh ctx0ripatioon/gpio.txt#L137" id4"L116" cl4ss="l6ne" name=6L111"> 14141C/SD f="6ocume6tation/gpio.txt#L130" id4"L112" cl4ss="l6ne" name=6L112"> 142412d foEmu6a GP612iiiipor-INso icllsenocuelves;blon/gpio.txt#L138" id3"3102" cl3ss="l6ne" name=6L113"> 143413d fo---6-----61ation/gpio.txt#L134" id2"L134" cl2ss=4l6ne" name=6L114"> 1444 14541a hreitw6 as4<61ation/gpio.txt#L86" id=4"L106" cl4ss="l6n6" name=6L116"> 1464ko/gpio.txt#L134" id2"L134" cl2ss=4l6n7" name=6L117"> 147417 inplrs6trare61ation/gpio.txt#L138" id3"L58" cla3ss="l6ne" name=6L118"> 148418 inpe e6rno. 61,subtT=einplyh c aalF_TRIGs verswrit -ocumn/gpio.txt#L133" id4"L117" cl4ss="l6ne" name=6L119"> 14941a href="6ocume6tation/gpio.txt#L30" id=4"L20" cla4ss="l6ne" name=6L20"> 240420 inpase6bomme62iiiiiporf/f="/> 946" cln/gpio.txt#L135" id3"L59" cla3ss="l6ne" name=6L21"> 241421 inpAls6,tbio62ation/gpio.txt#L130" id4"L112" cl4ss="l6ne" name=6L22"> 24<42a href="6ocume62erfF_OUT_INso,portat serQpleTTt0cumeUsed lRIGhwliggskvntatkarcelem/() serQhcsIyh ctxf/gpio.txt#L130" id4"L112" cl4ss="l6ne" name=6L23"> 243423 inpste6sntro62(errpf="Docum href=osii4f="Derfurqr lRIGhby writmentdts requireoorola &fiona/gpio.txt#L138" id2"L88" cla2ss="l6ne" name=6L24"> 24442a hreyld6 add 62ation/gpio.txt#L115" id2"L95" cla2ss="l6ne" name=6L25"> 245425 inpard6eimpl625errpf="Docum href=osEsize 24642a hrebes6IRQ a626errpf="Docum href=oscumeatio #19nre hav kind omat; iDocumen deby karceleonals/gpio.txt#L115" id2"L95" cla2ss="l6n7" name=6L27"> 24742a href="6ocume6tation/gpio.txt#L138" id4"L108" cl4ss="l6ne" name=6L28"> 2484he firqLO6: pir628rfF_OUT_INso,portaunt serQpleTTt0cumeR PIyldt0ref=effquotrftt serQocumerfurqr lRIGs/gpio.txt#L115" id2"L95" cla2ss="l6ne" name=61 input d gpis terfF_IN 6ow13062ation/gpio.txt#L110" id3"L60" cla3ss="l6ne" nam4=6L130"> 1303 131331 inpu4 6 gp4s6terfFaggggggggggggggggnsd tt serQed "Documen"D,portat serQpleTTt0fiona/gpio.txt#L138" id2"L88" cla2ss="l6ne" name=6L132"> 132332 inpu4 6 gp4s63ation/gpio.txt#L83" id=4"L113" cl4ss="l6ne" name=6L23"> 23<333 inpu4 6 gp4e63(errp as DocumentGPIh,pathlsatio /f="/> 946" cln" cl42/ (cumeatio #42n/gpio.txt#L73" id=2"L29" classs="l6ne" name=6L134"> 13433a href4"6ocu4e63 ohavDf="DocGhfof="Drerfinuo/writ -attributesn/gpio.txt#L133" id4"L117" cl4ss="l6ne" name=6L135"> 1353 W436; u4 63ation/gpio.txt#L86" id=4"L106" cl4ss="l6ne" name=6L136"> 1363 a4n6 uo4;636iiiiporf/f="/> 946" cln" clNn/gpio.txt#L135" id3"L59" cla3ss="l6ne" name=6L137"> 1373 1383 inpm4s6slu4e638rfF_OUT_INso,portamentationpleTTt0cumeinuospthaorxin, pleTTtPI,portabo, pleTTtouQpleTTtvel ta &e pl Owli/gpio.txt#L138" id4"L108" cl4ss="l6ne" name=6L139"> 13933 the r4l6 sy4l639rfFaggggggggggggggggnsndfrom4brswrittapy.4WritmentthapleTTtouQpleTTtref="Docthhu/gpio.txt#L138" id4"L108" cl4ss="l6ne" nam4=6L140"> 13034a href4"6ocu4e640errpf="Docum href=osn4 31341 W436; u4e64erfFaggggggggggggggggoper3"L10,nch a ircause Downtatio ks, pleTTt" c"ntatio wligbrswrittaphhu/gpio.txt#L138" id4"L108" cl4ss="l6ne" name=6L42"> 43234a hrea4n6 se4i642rfFaggggggggggggggggutf="Documuesttion PIrectals zerGProut be n4 433343 hre 4n6 im4t64ation/gpio.txt#L134" id2"L134" cl2ss=4l6ne" nam4=6L14"> 13<3 - Usum4s6slu4e644rfFagggggggggggggggge could a;ola &attribute *or);4leept ist*re have)karcel/gpio.txt#L128" id4"4102" cl4ss="l64ss=cl4ss6"line" name="L106"> 146<6a>40a645errpf="Docum href=osnplyh can lepy contrdhrucsee en"Doentationbcumenledi, ot/gpio.txt#L115" id34L14" cla3ss="l6ne" name=6L46"> 4363 437347 inpIpa6e4 43834a href="6ocume64ation/gpio.txt#L19" id=3"L59" cla3ss="l6n13136L49"> 439349 inpFur6rd sm649rfF_OUT_INso,portach a pleTTt0cumeinuospthaorxin, 0 pitn) e a1 (" c"boarIGquest add/gpio.txt#L19" id=3"L59" cla3ss="l6ne" name=6L50"> 530350 irs6mducr650errpf="Docum href=osnolda hr gi dettenctals ze,mueitee pl Owligbrswrittapt/gpio.txt#L110" id3"L60" cla3ss="l6ne" nam4=6L51"> 5313MC/SD f="6ocume65erfFagggggggggggggggg39;tnonzeroie pl Outhhreiondette" c"a/gpio.txt#L138" id2"L88" cla2ss="l6ne" name=6L52"> 532352d fo /*6set /65ation/gpio.txt#L83" id=4"L113" cl4ss="l6ne" name=6L53"> 533353d fo /*6set 65(errpf="Docum href=osIGquest""L5ith bo da hr gi detteaalF_rupt-generf=ocumaalF_rupt/gpio.txt#L83" id=4"L113" cl4ss="l6ne" nam4=6L54"> 534354d fo /*6set 654rfFaggggggggggggggggohav 535355d fo /*6set 655errpf="Docum href=osnescriptionbcum,portatdg pleTTtahemufiith pof=(2)enumentatfionblon/gpio.txt#L138" id3"3102" cl3ss="l6ne" name=6L56"> 536356 input 6 gpi}656errpf="Docum href=ospof=(2)eor);4reto_trwflaomentuestaalF_rupttwas hese ostemsIf/gpio.txt#L130" id4"L112" cl4ss="l6ne" name=6L57"> 53735a href="6ocume657errpf="Docum href=osmufiummopof=(2),gset0ref=ev idlsPOLLPRIgohavPOLLERRmsIfsmuf/gpio.txt#L130" id4"L112" cl4ss="l6ne" name=6L58"> 53835 freeAht6pr gl658errpf="Docum href=osummo_e IRQ(2),gset0ref=fionbnescriptupsureexceptfds. Ament/gpio.txt#L138" id2"L88" cla2ss="l6n13136L59"> 53935a href="6ocume659rfFaggggggggggggggggpof=(2)eqito_to,aorxin, lseek(2)ea sang,becsenect st4 630360d fo /*6set /660errpf="Docum href=osfionblonrenuo4f=eiemwie pl Oupsolommoesnefionblonren-a GPIan/gpio.txt#L134" id2"L134" cl2ss=4l6ne" nam4=6L61"> 631361d fo /*6set 66erfFaggggggggggggggggf="Douo4f=eich a a/gpio.txt#L138" id2"L88" cla2ss="l6ne" name=6L62"> 632362d fo /*6set 66ation/gpio.txt#L83" id=4"L113" cl4ss="l6ne" name=6L63"> 633363d fo /*6set 663rfF_OUT_INso,portatdg pleTTt0cumeinuospthaorxin, pleTTtnonetheef=,0theef=lef="Dtheef=,0theef=fif=="Dtheef=,0ot/gpio.txt#L115" id34L14" cla3ss="l6ne" name=6L64"> 634364d fo /*6set 664rfFaggggggggggggggggtheef=)otapleTTtveWrit -"Documstrgso * oo_e IRQ0ref="Doc"Dotdg (sn/gpio.txt#L73" id=2"L29" classs="l6ne" name=6L65"> 635365d fo /*6set 665errpf="Docum href=ostri aor);4.re ppof=(2)enumeneo,portach a pleTTt0fionbqito_ta/gpio.txt#L138" id2"L88" cla2ss="l6ne" name=6L26"> 23<366 input 6 gpi}66ation/gpio.txt#L47" id=3"L107" cl3ss="l6ne" name=6L67"> 63736a href="6ocume667errpf="Docum href=osTla &fionpt istssocumeiGquest""L5ith bo da hr gi detteon/gpio.txt#L83" id=4"4102" cl4ss="l6ne" name=6L68"> 638368 input 6 gpie668errpf="Docum href=osaalF_rupttgenerf=ocumaa zer""La/gpio.txt#L138" id2"L88" cla2ss="l6n13136L69"> 6393sed fo /*6set i66ation/gpio.txt#L110" id3"L60" cla3ss="l6ne" name=6L70"> 730370 in6 gpii670rfF_OUT_INso,portaain th_Downtatio cumeinuospthaorxin, 0 pfifse) e a1 (true)y.4Writn/gpio.txt#L115" id4"8106" cl4ss="l6ne" name=6L71"> 73137C/SD f="6ocume67erfFagggggggggggggggg39;tnonzeroie pl Ohupdnmentmen"De pl Omttribute )ota/gpio.txt#L115" id4"8106" cl4ss="l6ne" name=6L72"> 732372d fo /*6set e672rfFaggggggggggggggggfewrenuo4 733373d fo /*6set i67(errpf="Docum href=ospof=(2)epy contrda hr gibyf="Dvia0ref=eal; mttribute/gpio.txt#L134" id2"L134" cl2ss=4l6ne" name=6L74"> 734374d fo /*6set 674rfFaggggggggggggggggfo, pleTTtlef="Dtheef= ks, pleTTtfif=="Dtheef==eal;hounethfof="Dmueit/gpio.txt#L134" id2"L134" cl2ss=4l6ne" name=6L75"> 73537a href="6ocume675errpf="Docum href=os wheseea/gpio.txt#L138" id2"L88" cla2ss="l6ne" name=6L76"> 736376 input 6 gpir67ation/gpio.txt#L47" id=3"L107" cl3ss="l6ne" name=6L27"> 23<37a href="6ocume6tation icltnplyh can leGPIh,pathlsatio /f="/> 946" cln" cl,sme42/ (cumeion/gpio.txt#L115" id4"8106" cl4ss="l6ne" name=6L78"> 73837a href="6ocume67one prelyh can tir rne paumenation"athrtumentt #42n ohavDf="DocGhfof="Drer/gpio.txt#L115" id4"8106" cl4ss="l6n13136L79"> 73937a hresee6byeap6e hithenuo-ocum-attributesn/gpio.txt#L133" id4"L117" cl4ss="l6ne" name=6L80"> 8303 8313 mbe6s are68erfFagggg/f="/> 946" cln" cl,smeNn/gpio.txt#L135" id3"L59" cla3ss="l6ne" name=6L82"> 83238IOs aOwo6logr 68ation/gpio.txt#L83" id=4"L113" cl4ss="l6ne" name=6L83"> 83338serveeap6betwg683rfF_OUT_INso,portabasintatio cumeaut -thaN,oesnefir negatipctsls dein conoldsme/gpio.txt#L134" id2"L134" cl2ss=4l6ne" name=6L84"> 83438a href="6ocume68ation/gpio.txt#L115" id2"L95" cla2ss="l6ne" name=6L85"> 835385d fo /*6set a685rfF_OUT_INso,portatationtatio cumeprcuudndof="Documentatio ( a 83638 in6 gpio68ation/gpio.txt#L47" id=3"L107" cl3ss="l6ne" name=6L87"> 83738a href="6ocume687rfF_OUT_INso,portan" clntatio cumeDoc2m39;t4f="itconolmrucdo (NOhupN + n" cl - 1n/gpio.txt#L73" id=2"L29" classs="l6ne" name=6L88"> 838388d fo /*6set a68ation/gpio.txt#L19" id=3"L59" cla3ss="l6ne" name=6L89"> 839389 in6 gpio6diirqiB 93039a href="6ocume690tionwfbe pursesion Howomensf="supp are bo ahesleepalwent0s e re; conts on/gpio.txt#L19" id=3"L59" cla3ss="l6ne" name=6L91"> 93139-----T e6erval69oth va daughlF_cathdr rejebeo="Documentdepame="Doen ang,bauppi 9323PIOs aneg6tive 6rrno. ="Doxinld rds">e hredbtacklabInsr nedcasnshemufiwligheain& uummoesn/gpio.txt#L53" id=4"8106" cl4ss="l6ne" name=6L93"> 93339 GPIOste6sntro6are ha" cl,smegnsd o (sessib 93439a hre ar6 bmll6tationen"Ddarntategatiprequireoorcumef="Dpqight i"Doc"Da/gpio.txt#L138" id2"L88" cla2ss="l6ne" name=6L95"> 935395the rel6; dhn69ation/gpio.txt#L86" id=4"L106" cl4ss="l6ne" name=6L96"> 93639a href="6ocume69ation/gpio.txt#L47" id=3"L107" cl3ss="l6ne" name=6L97"> 93739a hree p6esOwo6tationE serQocumentatKarceleonal/gpio.txt#L47" id=3"L107" cl3ss="l6ne" name=6L98"> 93839 freet r6io.tr6t,subt 93939a href="6ocume6tationKarceleonal5ith exsmesitp pctsls t serQsenta icllsationhGPIhpalenuoy.) on/gpio.txt#L83" id=4"4102" cl4ss="l7ne" name=7L100"> 14040a hreNon7eturn70 one .tcumen de"Docum cla_.tcumen()n/gpio.txt#L133" id4"L117" cl4ss="l7ne" name=7L91"> 941401 oro7Os _i70ation/gpio.txt#L130" id4"L112" cl4ss="l7n2" name=7L92"> 9323PIOs aneg7g b,r702rfFagggggggg/*() serQhuesttion erfurqr lRIGh*n/gpio.txt#L135" id3"L59" cla3ss="l7n3" name=7L93"> 93339 GPIOste7devai703rfF_OUT_INsoins[] = l) serQ(un"Doceul] = nri 944404d fo su7poIw 70ation/gpio.txt#L115" id2"L95" cla2ss="l7n5" name=7L95"> 935395the rel7ocume705rfFagggggggg/*(r PIyld[] = l) serQ()h*n/gpio.txt#L135" id3"L59" cla3ss="l7n6" name=7L96"> 93639a href="7eturn706errpf="Docum"Doc[] = lunt serQ()t/gpio.txt#L110" id3"L60" cla3ss="l7n7" name=7L97"> 93739a hree p7,ques70ation/gpio.txt#L138" id4"L108" cl4ss="l7ne" name=7L98"> 948408d fow&37;/set708rfFagggggggg/*(ureionpa f="fs /a>kGf="an t serQed gatiprnal5*n/gpio.txt#L135" id3"L59" cla3ss="l7n9" name=7L99"> 93939a href="7a aou709rfF_OUT_INsoins[] = l) serQ_/a>k(_t#L1s[oa hrir*oa ,inplhtrdhrr * hreg/gpio.txt#L53" id=4"8106" cl4ss="l7ne" name=7L110"> 14041a href="7ocume710errpf="Docum href=osun"Doceul] = n/gpio.txt#L73" id=2"L29" classs="l7ne" name=7L111"> 14141C/SD f="7ocume7tation/gpio.txt#L130" id4"L112" cl4ss="l7ne" name=7L112"> 142412d foEmu7a GP712rfFagggggggg/*(dhrucequest"olaritybcumenlediprnal5in f="fs *n/gpio.txt#L135" id3"L59" cla3ss="l7ne" name=7L113"> 143413d fo---7-----713rfF_OUT_INsoins[] = lf="fsls onain th_Dow(un"Doceul] = nrins[e pl )t/gpio.txt#L110" id3"L60" cla3ss="l7ne" name=7L114"> 1444 14541a hreitw7 as4<7 lrs tAmentaatkarcelimcumeniDocumensmenledi, i awligocumentama="-nvailbbongin/gpio.txt#L83" id=4"4102" cl4ss="l7n6" name=7L116"> 1464 147417 inplrs7trare71ation"Doc"Dooentationbmacl3hrucevel ta &helpsimcumensiprev ideurqr lRIGhcsd /gpio.txt#L53" id=4"8106" cl4ss="l7ne" name=7L118"> 148418 inpe e7rno. 71,subtentataccaesntfrom4clobbta pitor f ent,aaproblvtionp/gpio.txt#L115" id34L14" cla3ss="l7ne" name=7L119"> 14941a href="7ocume7tation/gpio.txt#L30" id=4"L20" cla4ss="l7ne" name=7L20"> 240420 inpase7bomme72iiiii ta &exsmesittt serQocumith help GProuumbug"Docu(by ma whelt neeDocus/gpio.txt#L30" id=4"L20" cla4ss="l7ne" name=7L21"> 241421 inpAls7,tbio72ationrftt sta m idlsffuoos),Oupsoanwprcuudnganpalwent-mme erealF_TRIG (v kind om/gpio.txt#L30" id=4"L20" cla4ss="l7ne" name=7L22"> 24<42a href="7ocume72erfF_sui e r f="Do138" idmentthaup code rpi 243423 inpste7sntro72ation/gpio.txt#L134" id2"L134" cl2ss=4l7ne" name=7L24"> 24442a hreyld7 add 7in& uoAmentatisttion Dfs.) on t serQed,[] = l) serQ_/a>k()sif="Ds(ureioicltnplyh can le(pleTTt cla_,smetheefrne" name= href=02245425 itat1anaswo6tatelsewrcuudngn 7heaiatal whelain 7heaiolarntaDio.tr5t, bo da hr gi detteon/gpio.txt#L83" i7d2"L95" c7a2ss="l6n6" name=6L26"> 72463pu alisa4ntGPro/gpio.txt#L110" 7d2"L95" c7a2ss="l6n7" name=6L27"> 724742a harrpf="DocutatkL27thdsy contr"ackls p/gpio.txt#L115" id4"8106" cl4ss="l6ne" name=6L28"> 7248713037131331 i 7heain71ationu] = ggg/*(dh712rfFassocumedones (Itohief=ocrein upsureexceptfds. Ament/gpio.txt#L138" 7d2"L88" c7a2ss="l6ne" name=6L132">7132332 i="fs aalF_TRIatihip a &iousyeatatnpplrrpf="Docum href=5set eef=_e IRQpleTTt0orxin,/gpio.txt#L53" i7=4"L113" 7l4ss="l6ne" name=6L23"> 723<333 iggggggsta Dtheef=hr gibf=="Doa hrhav713433a h n ] orith s7tLXRbugftn onl hh a<.6ne"foopssexceptfds.3" id=4"8106" cl4ss="lTt0orxin,/gpio.t1rntaDio.tr5t, bo da hr gi detteon/gv> to:lx"@th ux.no">lx"@th ux.no a<..ptfds.3"id=4"8106" csubl4ss="lTtlx".th ux.no41Rl6p7=2 Lh e"o AS a<.="gpio.txion/gLh uxme=7Le=6L73"brswrittas5L54"#L138L138" 1995.ptfds.3" i/body3"i/htmlxcep