Table 1. Record of Changes
Rev Date Author Note

1.0

2016-01-06

MH

Initial version.

1. Introduction

The GRGPIO device is part of the GRLIB device library from Gaisler. The GrGPIO model simulates a 16 pin GPIO device by providing input and output via the SignalIface.

2. Usage

The device can be connected to and from via the signal interface it implements. It implements 16 usable signals (signal 0 through 15). Signal 0 cannot raise interrupts.

You can connect the signal interface as follows:

Listing 1. Connecting via Command Line
# Connect GPIO device signal 0 to device model
connect a=gpio.outSignals[0] b=mydevice:SignalIface

# Connect a device signal interface ref to GPIO device
connect a=mydevice.signal b=gpio:SignalIface[1]
Listing 2. Connecting via API
// Connect GPIO device signal 0 to device model
temu_connect(gpio, "outSignals[0]", mydevice, "SignalIface");

// Connect a device signal interface ref to GPIO device
temu_connect(mydevice, "signal", gpio, "SignalIface[1]");

3. Attributes

3.1. Properties

Name Type Description

data

uint32_t

direction

uint32_t

edge

uint32_t

irqCtrl

iref / <unknown>

mask

uint32_t

object.timeSource

object

Time source object (a cpu or machine object)

outSignals

[32 x iref / SignalIface]

output

uint32_t

pnp.bar

uint32_t

pnp.config

uint32_t

polarity

uint32_t

3.2. Interfaces

Name Type Description

ApbIface

ApbIface

DeviceIface

DeviceIface

MemAccessIface

MemAccessIface

ResetIface

ResetIface

SignalIface

SignalIface

Incomming signals

3.3. Ports

Prop Iface Description

-

-

-

4. Limitations

  • Only the UT700 based configuration is supported at the moment. That means that the bypass and capabilities registers are missing. Further the IRQ map registers are not available.