Lines Matching full:gpios
18 which GPIOs. Drivers can be written generically, so that board setup code
21 System-on-Chip (SOC) processors heavily rely on GPIOs. In some cases, every
24 provide GPIOs; multifunction chips like power managers, and audio codecs
30 The exact capabilities of GPIOs vary between systems. Common options:
49 - Most GPIOs can be accessed while holding spinlocks, but those accessed
62 is not the main issue; GPIOs are often used for the kind of board-specific
92 Identifying GPIOs
94 GPIOs are identified by unsigned integers in the range 0..MAX_INT. That
106 So for example one platform uses numbers 32-159 for GPIOs; while another
110 use numbers 2000-2063 to identify GPIOs in a bank of I2C GPIO expanders.
120 or free GPIOs (see below). Other numbers may also be rejected; for
128 Using GPIOs
143 a task context. However, for spinlock-safe GPIOs it's OK to use them
146 For output GPIOs, the value provided becomes the initial output value.
149 For compatibility with legacy interfaces to GPIOs, setting the direction
168 Use the following calls to access such GPIOs,
185 return zero. Also, using these calls for GPIOs that can't safely be accessed
204 Platforms that support this type of GPIO distinguish them from other GPIOs
210 To access such GPIOs, a different set of accessors is defined::
219 Accessing such GPIOs requires a context which may sleep, for example
224 on GPIOs that can't be accessed from hardIRQ handlers, these calls act
227 **IN ADDITION** calls to setup and configure such GPIOs must be made
245 Claiming and Releasing GPIOs
258 GPIOs that have already been claimed with that call. The return value of
260 a task context. However, for spinlock-safe GPIOs it's OK to request GPIOs
264 are actually in use as GPIOs, for better diagnostics; systems may have
265 several hundred potential GPIOs, but often only a dozen are used on any
272 Some platforms may also use knowledge about what GPIOs are active for
276 For GPIOs that use pins known to the pinctrl subsystem, that subsystem should
293 configured prior to gpio_request() being called for those GPIOs, e.g. using
300 Considering in most cases GPIOs are actually configured right after they
309 /* request multiple GPIOs in a single call
313 /* release multiple GPIOs in a single call
351 Further more, to ease the claim/release of multiple GPIOs, 'struct gpio' is
381 GPIOs mapped to IRQs
395 some GPIOs can't be used as IRQs.) It is an unchecked error to use a GPIO
502 correspondence between configurable pins and GPIOs.
506 Hardware may support reading or writing GPIOs in gangs, but that's usually
507 configuration dependent: for GPIOs sharing the same bank. (GPIOs are
509 banks.) Some systems can trigger IRQs from output GPIOs, or read values
510 from pins not managed as GPIOs. Code relying on such mechanisms will
513 Dynamic definition of GPIOs is not currently standard; for example, as
525 this framework, and the state of the GPIOs currently in use.
540 the number of its first GPIO, and how many GPIOs it exposes.
552 requested as GPIOs. They can use gpiochip_is_requested(), which returns
562 reflects the number of GPIOs in actual use on that platform, without
563 wasting static table space. (It should count both built-in/SoC GPIOs and
567 GPIOs through GPIO-lib and the code cannot be enabled by the user.
577 logic optimizing access to specific SOC-based GPIOs. For example, if the
585 for each bank of on-chip GPIOs. Those GPIOs should be numbered/labeled to
587 may well start at zero and go up to a platform-specific limit. Such GPIOs
598 platform-specific GPIOs.
601 of GPIOs that chip will expose, and passes them to each GPIO expander chip
618 configure a sysfs user interface to GPIOs. This is different from the
638 instead of talking directly to the GPIOs; they integrate with kernel
646 - Control interfaces used to get userspace control over GPIOs;
648 - GPIOs themselves; and
713 controller implementing GPIOs starting at #42) and have the following
722 "ngpio" ... how many GPIOs this manges (N to N + ngpio - 1)
724 Board documentation should in most cases cover what GPIOs are used for
725 what purposes. However, those numbers are not always stable; GPIOs on
734 Kernel code can explicitly manage exports of GPIOs which have already been