1d66d0df9SAndrew JefferyWhat:		/dev/raw-kcs*
2d66d0df9SAndrew JefferyDate:		2021-02-15
3d66d0df9SAndrew JefferyKernelVersion:	5.13
4d66d0df9SAndrew JefferyContact:	openbmc@lists.ozlabs.org
5d66d0df9SAndrew JefferyContact:	openipmi-developer@lists.sourceforge.net
6d66d0df9SAndrew JefferyContact:	Andrew Jeffery <andrew@aj.id.au>
7d66d0df9SAndrew JefferyDescription:	``/dev/raw-kcs*`` exposes to userspace the data and
8d66d0df9SAndrew Jeffery		status registers of Keyboard-Controller-Style (KCS) IPMI
9d66d0df9SAndrew Jeffery		interfaces via read() and write() syscalls. Direct
10d66d0df9SAndrew Jeffery		exposure of the data and status registers enables
11d66d0df9SAndrew Jeffery		inefficient but arbitrary protocols to be implemented
12d66d0df9SAndrew Jeffery		over the device. A typical approach is to use KCS
13d66d0df9SAndrew Jeffery		devices for out-of-band signalling for bulk data
14d66d0df9SAndrew Jeffery		transfers over other interfaces between a Baseboard
15d66d0df9SAndrew Jeffery		Management Controller and its host.
16d66d0df9SAndrew Jeffery
17d66d0df9SAndrew Jeffery		+--------+--------+---------+
18d66d0df9SAndrew Jeffery		| Offset | read() | write() |
19d66d0df9SAndrew Jeffery		+--------+--------+---------+
20d66d0df9SAndrew Jeffery		|   0    |   IDR  |   ODR   |
21d66d0df9SAndrew Jeffery		+--------+--------+---------+
22d66d0df9SAndrew Jeffery		|   1    |   STR  |   STR   |
23d66d0df9SAndrew Jeffery		+--------+--------+---------+
24d66d0df9SAndrew Jeffery
25d66d0df9SAndrew JefferyUsers:		libmctp: https://github.com/openbmc/libmctp
26