summaryrefslogtreecommitdiff
path: root/Documentation/ABI/testing/dev-raw-kcs
blob: 06e7e2071562587baa72fdcdda36d96fd85c30ba (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
What:		/dev/raw-kcs*
Date:		2021-02-15
KernelVersion:	5.13
Contact:	openbmc@lists.ozlabs.org
Contact:	openipmi-developer@lists.sourceforge.net
Contact:	Andrew Jeffery <andrew@aj.id.au>
Description:	``/dev/raw-kcs*`` exposes to userspace the data and
		status registers of Keyboard-Controller-Style (KCS) IPMI
		interfaces via read() and write() syscalls. Direct
		exposure of the data and status registers enables
		inefficient but arbitrary protocols to be implemented
		over the device. A typical approach is to use KCS
		devices for out-of-band signalling for bulk data
		transfers over other interfaces between a Baseboard
		Management Controller and its host.

		+--------+--------+---------+
		| Offset | read() | write() |
		+--------+--------+---------+
		|   0    |   IDR  |   ODR   |
		+--------+--------+---------+
		|   1    |   STR  |   STR   |
		+--------+--------+---------+

Users:		libmctp: https://github.com/openbmc/libmctp