1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
3 "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
4 <!ENTITY rapidio SYSTEM "rapidio.xml">
7 <book id="RapidIO-Guide">
9 <title>RapidIO Subsystem Guide</title>
13 <firstname>Matt</firstname>
14 <surname>Porter</surname>
17 <email>mporter@kernel.crashing.org</email>
18 <email>mporter@mvista.com</email>
26 <holder>MontaVista Software, Inc.</holder>
31 This documentation is free software; you can redistribute
32 it and/or modify it under the terms of the GNU General Public
33 License version 2 as published by the Free Software Foundation.
37 This program is distributed in the hope that it will be
38 useful, but WITHOUT ANY WARRANTY; without even the implied
39 warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
40 See the GNU General Public License for more details.
44 You should have received a copy of the GNU General Public
45 License along with this program; if not, write to the Free
46 Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
51 For more details see the file COPYING in the source
52 distribution of Linux.
60 <title>Introduction</title>
62 RapidIO is a high speed switched fabric interconnect with
63 features aimed at the embedded market. RapidIO provides
64 support for memory-mapped I/O as well as message-based
65 transactions over the switched fabric network. RapidIO has
66 a standardized discovery mechanism not unlike the PCI bus
67 standard that allows simple detection of devices in a
71 This documentation is provided for developers intending
72 to support RapidIO on new architectures, write new drivers,
73 or to understand the subsystem internals.
78 <title>Known Bugs and Limitations</title>
85 <title>Limitations</title>
88 <listitem><para>Access/management of RapidIO memory regions is not supported</para></listitem>
89 <listitem><para>Multiple host enumeration is not supported</para></listitem>
95 <chapter id="drivers">
96 <title>RapidIO driver interface</title>
98 Drivers are provided a set of calls in order
99 to interface with the subsystem to gather info
100 on devices, request/map memory region resources,
101 and manage mailboxes/doorbells.
104 <title>Functions</title>
105 !Iinclude/linux/rio_drv.h
106 !Edrivers/rapidio/rio-driver.c
107 !Edrivers/rapidio/rio.c
111 <chapter id="internals">
112 <title>Internals</title>
115 This chapter contains the autogenerated documentation of the RapidIO
119 <sect1><title>Structures</title>
120 !Iinclude/linux/rio.h
122 <sect1><title>Enumeration and Discovery</title>
123 !Idrivers/rapidio/rio-scan.c
125 <sect1><title>Driver functionality</title>
126 !Idrivers/rapidio/rio.c
127 !Idrivers/rapidio/rio-access.c
129 <sect1><title>Device model support</title>
130 !Idrivers/rapidio/rio-driver.c
132 <sect1><title>Sysfs support</title>
133 !Idrivers/rapidio/rio-sysfs.c
135 <sect1><title>PPC32 support</title>
136 !Iarch/powerpc/kernel/rio.c
137 !Earch/powerpc/sysdev/fsl_rio.c
138 !Iarch/powerpc/sysdev/fsl_rio.c
142 <chapter id="credits">
143 <title>Credits</title>
145 The following people have contributed to the RapidIO
146 subsystem directly or indirectly:
148 <listitem><para>Matt Porter<email>mporter@kernel.crashing.org</email></para></listitem>
149 <listitem><para>Randy Vinson<email>rvinson@mvista.com</email></para></listitem>
150 <listitem><para>Dan Malek<email>dan@embeddedalley.com</email></para></listitem>
154 The following people have contributed to this document:
156 <listitem><para>Matt Porter<email>mporter@kernel.crashing.org</email></para></listitem>