Skip to content
 编辑

RapidIO Subsystem Guide

RapidIO Subsystem Guide

Author

: Matt Porter

Introduction

RapidIO is a high speed switched fabric interconnect with features aimed at the embedded market. RapidIO provides support for memory-mapped I/O as well as message-based transactions over the switched fabric network. RapidIO has a standardized discovery mechanism not unlike the PCI bus standard that allows simple detection of devices in a network.

This documentation is provided for developers intending to support RapidIO on new architectures, write new drivers, or to understand the subsystem internals.

Known Bugs and Limitations

Bugs

None. ;)

Limitations

  1. Access/management of RapidIO memory regions is not supported
  2. Multiple host enumeration is not supported

RapidIO driver interface

Drivers are provided a set of calls in order to interface with the subsystem to gather info on devices, request/map memory region resources, and manage mailboxes/doorbells.

Functions

::: {.kernel-doc internal=""} include/linux/rio_drv.h :::

::: {.kernel-doc export=""} drivers/rapidio/rio-driver.c :::

::: {.kernel-doc export=""} drivers/rapidio/rio.c :::

Internals

This chapter contains the autogenerated documentation of the RapidIO subsystem.

Structures

::: {.kernel-doc internal=""} include/linux/rio.h :::

Enumeration and Discovery

::: {.kernel-doc internal=""} drivers/rapidio/rio-scan.c :::

Driver functionality

::: {.kernel-doc internal=""} drivers/rapidio/rio.c :::

::: {.kernel-doc internal=""} drivers/rapidio/rio-access.c :::

Device model support

::: {.kernel-doc internal=""} drivers/rapidio/rio-driver.c :::

PPC32 support

::: {.kernel-doc internal=""} arch/powerpc/sysdev/fsl_rio.c :::

Credits

The following people have contributed to the RapidIO subsystem directly or indirectly:

  1. Matt Portermporter@kernel.crashing.org
  2. Randy Vinsonrvinson@mvista.com
  3. Dan Malekdan@embeddedalley.com

The following people have contributed to this document:

  1. Matt Portermporter@kernel.crashing.org