Lines Matching refs:or
6 prefix, or the related __gpio_* prefix.
14 represents a bit connected to a particular pin, or "ball" on Ball Grid Array
24 also "GPIO Expander" chips that connect using the I2C or SPI serial busses.
44 - Usually a GPIO will be configurable as either input or output, as needed
75 use it when possible. Platforms must select ARCH_REQUIRE_GPIOLIB or
78 GPIO calls are available, either as "real code" or as optimized-away stubs,
94 "not available on this board", or indicating faults. Code that doesn't
118 or free GPIOs (see below). Other numbers may also be rejected; for
134 /* set as input or output, returning 0 or negative errno */
152 Setting the direction can fail if the GPIO number is invalid, or when
169 /* GPIO INPUT: return zero or nonzero */
189 of instructions in such cases (reading or writing a hardware register),
198 or SPI. Commands to read or write those GPIO values require waiting to
210 /* GPIO INPUT: return zero or nonzero, might sleep */
228 setup or driver probe/teardown code, so this is an easy constraint.)
247 /* request GPIO, returning 0 or negative errno.
265 (a) two or more drivers wrongly think they have exclusive use of that
266 signal, or (b) something wrongly believes it's safe to remove drivers
278 to succeed concurrently with a pin or pingroup being "owned" by a device for
283 .direction_input() or .direction_output() operations, and occur after any
288 Some platforms allow some or all GPIO signals to be routed to different pins.
289 Similarly, other aspects of the GPIO or pin may need to be configured, such as
391 Those return either the corresponding number in the other namespace, or
394 number that wasn't set up as an input using gpio_direction_input(), or
398 addition or subtraction. They're not allowed to sleep.
401 or free_irq(). They will often be stored into IRQ resources for platform
407 with gpio_get_value(), for example to initialize or update driver state
417 level. This is sometimes called a "wire-AND"; or more practically, from the
426 be used as either an input or an output:
432 so the pullup (or some other device) controls the signal.
448 case where e.g. a GPIO controller need to reserve a pin or set the
474 subsystem. There are two ways of doing it currently: with or without DT.
493 Related to multiplexing is configuration and enabling of the pullups or
495 or support them in the same way; and any given board might use external
496 pullups (or pulldowns) so that the on-chip ones should not be used.
504 Hardware may support reading or writing GPIOs in gangs, but that's usually
506 commonly grouped in banks of 16 or 32, with a given SOC having several such
507 banks.) Some systems can trigger IRQs from output GPIOs, or read values
551 either NULL or the label associated with that GPIO when it was requested.
557 ARCH_REQUIRE_GPIOLIB or ARCH_WANT_OPTIONAL_GPIOLIB
584 referenced GPIO is the constant "12", getting or setting its value could
585 cost as little as two or three instructions, never sleeping. When such an
595 available, from arch_initcall() or earlier; they can often serve as IRQs.
600 For external GPIO controllers -- such as I2C or SPI expanders, ASICs, multi
601 function devices, FPGAs or CPLDs -- most often board-specific code handles
680 "direction" ... reads as either "in" or "out". This value may
687 doesn't support changing the direction of a GPIO, or
691 "value" ... reads as either 0 (low) or 1 (high). If the GPIO
702 file and read the new value or close the file and re-open it
705 "edge" ... reads as either "none", "rising", "falling", or
712 "active_low" ... reads as either 0 (false) or 1 (true). Write
734 or other cards in the stack. In such cases, you may need to use the
763 of experiments easier), or can provide an always-there interface that's
775 rising or falling edge will be reconfigured to follow this setting.