The imx_pio component provides pin-state, pin-control, and IRQ session
interfaces for accessing the pins of the GPIO devices of the i.MX SoC family.

Its configuration consists of two parts, pin declarations and policies. Pin
declarations have following form (note that the example contains hypothetical
bank and index values):

! <config>
!   ...
!   <in     name="volume-up" bank="0" index="10" pull="down" irq="edges"/>
!   <out    name="led"       bank="1" index="2"  default="on"/>
!   <select name="uart4_tx"  bank="2" index="2"  function="3"/>
!   ...
! </config>

Each declaration must feature a physical location in the form of a 'bank' and
an 'index' attribute. Banks are specified as numbers counting from zero.
The index refers to the selected bank.

An input pin is declared via an '<in>' node that accepts the optional
attributes 'pull' and 'irq'. The 'pull' attribute can be specified with the
values "up" and "down" to enable a pull-up or pull-down resistor for the pin.
The 'irq' attribute allows for the customization of the pin's interrupt
trigger by specifying one of the following values:

:"high":    triggered while the signal level is high
:"low":     triggered while the signal level is low
:"rising":  triggered on rising signal edges
:"falling": triggered on falling signal edges
:"edges":   triggered on both rising and falling signal edges

An output pin is declared via an '<out>' node. By default, the signal level is
low. The default signal level can be set to high by specifying the attribute
'default="on"'.

The pin driver is able to respond to dynamic configuration updates, which in
principle allows for driving pins without a client by the sole means of
updating the 'default' attributes of '<out>' nodes, or changing pin functions
during runtime.

The definition of client policies follows Genode's usual pattern of the
server-side policy selection based on the client's label. Each '<policy>'
contains a 'pin' attribute referring to the 'name' of the assigned '<in>' or
'<out>' pin. The policy is applied regardless of the session type.
