mirror of
https://github.com/torvalds/linux.git
synced 2024-12-22 19:01:37 +00:00
394b701ce4
Adds a RapidIO subsystem to the kernel. RIO is a switched fabric interconnect used in higher-end embedded applications. The curious can look at the specs over at http://www.rapidio.org The core code implements enumeration/discovery, management of devices/resources, and interfaces for RIO drivers. There's a lot more to do to take advantages of all the hardware features. However, this should provide a good base for folks with RIO hardware to start contributing. Signed-off-by: Matt Porter <mporter@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
161 lines
4.4 KiB
XML
161 lines
4.4 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
|
|
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
|
|
<!ENTITY rapidio SYSTEM "rapidio.xml">
|
|
]>
|
|
|
|
<book id="RapidIO-Guide">
|
|
<bookinfo>
|
|
<title>RapidIO Subsystem Guide</title>
|
|
|
|
<authorgroup>
|
|
<author>
|
|
<firstname>Matt</firstname>
|
|
<surname>Porter</surname>
|
|
<affiliation>
|
|
<address>
|
|
<email>mporter@kernel.crashing.org</email>
|
|
<email>mporter@mvista.com</email>
|
|
</address>
|
|
</affiliation>
|
|
</author>
|
|
</authorgroup>
|
|
|
|
<copyright>
|
|
<year>2005</year>
|
|
<holder>MontaVista Software, Inc.</holder>
|
|
</copyright>
|
|
|
|
<legalnotice>
|
|
<para>
|
|
This documentation is free software; you can redistribute
|
|
it and/or modify it under the terms of the GNU General Public
|
|
License version 2 as published by the Free Software Foundation.
|
|
</para>
|
|
|
|
<para>
|
|
This program is distributed in the hope that it will be
|
|
useful, but WITHOUT ANY WARRANTY; without even the implied
|
|
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
See the GNU General Public License for more details.
|
|
</para>
|
|
|
|
<para>
|
|
You should have received a copy of the GNU General Public
|
|
License along with this program; if not, write to the Free
|
|
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
|
MA 02111-1307 USA
|
|
</para>
|
|
|
|
<para>
|
|
For more details see the file COPYING in the source
|
|
distribution of Linux.
|
|
</para>
|
|
</legalnotice>
|
|
</bookinfo>
|
|
|
|
<toc></toc>
|
|
|
|
<chapter id="intro">
|
|
<title>Introduction</title>
|
|
<para>
|
|
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.
|
|
</para>
|
|
<para>
|
|
This documentation is provided for developers intending
|
|
to support RapidIO on new architectures, write new drivers,
|
|
or to understand the subsystem internals.
|
|
</para>
|
|
</chapter>
|
|
|
|
<chapter id="bugs">
|
|
<title>Known Bugs and Limitations</title>
|
|
|
|
<sect1>
|
|
<title>Bugs</title>
|
|
<para>None. ;)</para>
|
|
</sect1>
|
|
<sect1>
|
|
<title>Limitations</title>
|
|
<para>
|
|
<orderedlist>
|
|
<listitem><para>Access/management of RapidIO memory regions is not supported</para></listitem>
|
|
<listitem><para>Multiple host enumeration is not supported</para></listitem>
|
|
</orderedlist>
|
|
</para>
|
|
</sect1>
|
|
</chapter>
|
|
|
|
<chapter id="drivers">
|
|
<title>RapidIO driver interface</title>
|
|
<para>
|
|
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.
|
|
</para>
|
|
<sect1>
|
|
<title>Functions</title>
|
|
!Iinclude/linux/rio_drv.h
|
|
!Edrivers/rapidio/rio-driver.c
|
|
!Edrivers/rapidio/rio.c
|
|
</sect1>
|
|
</chapter>
|
|
|
|
<chapter id="internals">
|
|
<title>Internals</title>
|
|
|
|
<para>
|
|
This chapter contains the autogenerated documentation of the RapidIO
|
|
subsystem.
|
|
</para>
|
|
|
|
<sect1><title>Structures</title>
|
|
!Iinclude/linux/rio.h
|
|
</sect1>
|
|
<sect1><title>Enumeration and Discovery</title>
|
|
!Idrivers/rapidio/rio-scan.c
|
|
</sect1>
|
|
<sect1><title>Driver functionality</title>
|
|
!Idrivers/rapidio/rio.c
|
|
!Idrivers/rapidio/rio-access.c
|
|
</sect1>
|
|
<sect1><title>Device model support</title>
|
|
!Idrivers/rapidio/rio-driver.c
|
|
</sect1>
|
|
<sect1><title>Sysfs support</title>
|
|
!Idrivers/rapidio/rio-sysfs.c
|
|
</sect1>
|
|
<sect1><title>PPC32 support</title>
|
|
!Iarch/ppc/kernel/rio.c
|
|
!Earch/ppc/syslib/ppc85xx_rio.c
|
|
!Iarch/ppc/syslib/ppc85xx_rio.c
|
|
</sect1>
|
|
</chapter>
|
|
|
|
<chapter id="credits">
|
|
<title>Credits</title>
|
|
<para>
|
|
The following people have contributed to the RapidIO
|
|
subsystem directly or indirectly:
|
|
<orderedlist>
|
|
<listitem><para>Matt Porter<email>mporter@kernel.crashing.org</email></para></listitem>
|
|
<listitem><para>Randy Vinson<email>rvinson@mvista.com</email></para></listitem>
|
|
<listitem><para>Dan Malek<email>dan@embeddedalley.com</email></para></listitem>
|
|
</orderedlist>
|
|
</para>
|
|
<para>
|
|
The following people have contributed to this document:
|
|
<orderedlist>
|
|
<listitem><para>Matt Porter<email>mporter@kernel.crashing.org</email></para></listitem>
|
|
</orderedlist>
|
|
</para>
|
|
</chapter>
|
|
</book>
|