1. Introduction

The GPIO bus model is one of the standard bus models available in
TEMU. The bus model maintains the values of 64 GPIO pins, and a
notification list where pin updates can be forwarded to an arbitrary
number of models when pin values have changed.

This does place a limitation, in that a model must know which pin it
is connected to, which may not be ideal. The recommended approach is
to ensure that the model maintains its own user configurable mask for
filtering out the relevant bits.

2. Configuration

The GpioBus model can be configured by connecting GPIO clients to the
Clients property. No other configuration capabilities are provided.

3. Attributes

3.1. Properties

Name

Type

Description

Bits

uint64_t

Clients

irefarray

object.timeSource

object

Time source object (a cpu or machine object)

3.2. Interfaces

Name

Type

Description

GpioBusIface

GpioBusIface

3.3. Ports

Prop

Iface

Description

-

-

-

4. Limitations

The primary limitation of the GPIO bus model is that pin updates using
the GpioBusIface will be distributed to all GpioClients that have been
connected to the GPIO bus. If requested the bus model can be augmented
with direct distribution properties for forwarding individual pin
changes to predetermined objects. This has not been implemented yet
though, contact us if you need support for this.