^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) =======================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) RapidIO Subsystem Guide
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) =======================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) :Author: Matt Porter
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) Introduction
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) ============
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) RapidIO is a high speed switched fabric interconnect with features aimed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) at the embedded market. RapidIO provides support for memory-mapped I/O
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) as well as message-based transactions over the switched fabric network.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) RapidIO has a standardized discovery mechanism not unlike the PCI bus
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) standard that allows simple detection of devices in a network.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) This documentation is provided for developers intending to support
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) RapidIO on new architectures, write new drivers, or to understand the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) subsystem internals.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) Known Bugs and Limitations
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) ==========================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) Bugs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) ----
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) None. ;)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) Limitations
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) -----------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) 1. Access/management of RapidIO memory regions is not supported
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) 2. Multiple host enumeration is not supported
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) RapidIO driver interface
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) ========================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) Drivers are provided a set of calls in order to interface with the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) subsystem to gather info on devices, request/map memory region
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) resources, and manage mailboxes/doorbells.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) Functions
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) ---------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) .. kernel-doc:: include/linux/rio_drv.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) :internal:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) .. kernel-doc:: drivers/rapidio/rio-driver.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) :export:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) .. kernel-doc:: drivers/rapidio/rio.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) :export:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) Internals
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) =========
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) This chapter contains the autogenerated documentation of the RapidIO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) subsystem.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) Structures
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) ----------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) .. kernel-doc:: include/linux/rio.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) :internal:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) Enumeration and Discovery
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) -------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) .. kernel-doc:: drivers/rapidio/rio-scan.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) :internal:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) Driver functionality
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) --------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) .. kernel-doc:: drivers/rapidio/rio.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) :internal:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) .. kernel-doc:: drivers/rapidio/rio-access.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) :internal:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) Device model support
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) --------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) .. kernel-doc:: drivers/rapidio/rio-driver.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) :internal:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) PPC32 support
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) -------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) .. kernel-doc:: arch/powerpc/sysdev/fsl_rio.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) :internal:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) Credits
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) =======
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) The following people have contributed to the RapidIO subsystem directly
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) or indirectly:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) 1. Matt Porter\ mporter@kernel.crashing.org
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) 2. Randy Vinson\ rvinson@mvista.com
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) 3. Dan Malek\ dan@embeddedalley.com
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) The following people have contributed to this document:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) 1. Matt Porter\ mporter@kernel.crashing.org