| Alexandre Bounine | e15b4d6 | 2011-03-23 16:43:00 -0700 | [diff] [blame] | 1 | RapidIO sysfs Files | 
|  | 2 |  | 
|  | 3 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 
|  | 4 |  | 
|  | 5 | 1. Device Subdirectories | 
|  | 6 | ------------------------ | 
|  | 7 |  | 
|  | 8 | For each RapidIO device, the RapidIO subsystem creates files in an individual | 
|  | 9 | subdirectory with the following name, /sys/bus/rapidio/devices/<device_name>. | 
|  | 10 |  | 
|  | 11 | The format of device_name is "nn:d:iiii", where: | 
|  | 12 |  | 
|  | 13 | nn - two-digit hexadecimal ID of RapidIO network where the device resides | 
|  | 14 | d  - device typr: 'e' - for endpoint or 's' - for switch | 
|  | 15 | iiii - four-digit device destID for endpoints, or switchID for switches | 
|  | 16 |  | 
|  | 17 | For example, below is a list of device directories that represents a typical | 
|  | 18 | RapidIO network with one switch, one host, and two agent endpoints, as it is | 
|  | 19 | seen by the enumerating host (destID = 1): | 
|  | 20 |  | 
|  | 21 | /sys/bus/rapidio/devices/00:e:0000 | 
|  | 22 | /sys/bus/rapidio/devices/00:e:0002 | 
|  | 23 | /sys/bus/rapidio/devices/00:s:0001 | 
|  | 24 |  | 
|  | 25 | NOTE: An enumerating or discovering endpoint does not create a sysfs entry for | 
|  | 26 | itself, this is why an endpoint with destID=1 is not shown in the list. | 
|  | 27 |  | 
|  | 28 | 2. Attributes Common for All Devices | 
|  | 29 | ------------------------------------ | 
|  | 30 |  | 
|  | 31 | Each device subdirectory contains the following informational read-only files: | 
|  | 32 |  | 
|  | 33 | did - returns the device identifier | 
|  | 34 | vid - returns the device vendor identifier | 
|  | 35 | device_rev - returns the device revision level | 
|  | 36 | asm_did - returns identifier for the assembly containing the device | 
|  | 37 | asm_rev - returns revision level of the assembly containing the device | 
|  | 38 | asm_vid - returns vendor identifier of the assembly containing the device | 
|  | 39 | destid  - returns device destination ID assigned by the enumeration routine | 
|  | 40 | (see 4.1 for switch specific details) | 
|  | 41 | lprev   - returns name of previous device (switch) on the path to the device | 
|  | 42 | that that owns this attribute | 
|  | 43 |  | 
|  | 44 | In addition to the files listed above, each device has a binary attribute file | 
|  | 45 | that allows read/write access to the device configuration registers using | 
|  | 46 | the RapidIO maintenance transactions: | 
|  | 47 |  | 
|  | 48 | config - reads from and writes to the device configuration registers. | 
|  | 49 |  | 
|  | 50 | This attribute is similar in behavior to the "config" attribute of PCI devices | 
|  | 51 | and provides an access to the RapidIO device registers using standard file read | 
|  | 52 | and write operations. | 
|  | 53 |  | 
|  | 54 | 3. Endpoint Device Attributes | 
|  | 55 | ----------------------------- | 
|  | 56 |  | 
|  | 57 | Currently Linux RapidIO subsystem does not create any endpoint specific sysfs | 
|  | 58 | attributes. It is possible that RapidIO master port drivers and endpoint device | 
|  | 59 | drivers will add their device-specific sysfs attributes but such attributes are | 
|  | 60 | outside the scope of this document. | 
|  | 61 |  | 
|  | 62 | 4. Switch Device Attributes | 
|  | 63 | --------------------------- | 
|  | 64 |  | 
|  | 65 | RapidIO switches have additional attributes in sysfs. RapidIO subsystem supports | 
|  | 66 | common and device-specific sysfs attributes for switches. Because switches are | 
|  | 67 | integrated into the RapidIO subsystem, it offers a method to create | 
|  | 68 | device-specific sysfs attributes by specifying a callback function that may be | 
|  | 69 | set by the switch initialization routine during enumeration or discovery process. | 
|  | 70 |  | 
|  | 71 | 4.1 Common Switch Attributes | 
|  | 72 |  | 
|  | 73 | routes - reports switch routing information in "destID port" format. This | 
|  | 74 | attribute reports only valid routing table entries, one line for | 
|  | 75 | each entry. | 
|  | 76 | destid - device destination ID that defines a route to the switch | 
|  | 77 | hopcount - number of hops on the path to the switch | 
|  | 78 | lnext - returns names of devices linked to the switch except one of a device | 
|  | 79 | linked to the ingress port (reported as "lprev"). This is an array | 
|  | 80 | names with number of lines equal to number of ports in switch. If | 
|  | 81 | a switch port has no attached device, returns "null" instead of | 
|  | 82 | a device name. | 
|  | 83 |  | 
|  | 84 | 4.2 Device-specific Switch Attributes | 
|  | 85 |  | 
|  | 86 | Device-specific switch attributes are listed for each RapidIO switch driver | 
|  | 87 | that exports additional attributes. | 
|  | 88 |  | 
|  | 89 | IDT_GEN2: | 
|  | 90 | errlog - reads contents of device error log until it is empty. |