docs: ipmb: place it at driver-api and convert to ReST
No new doc should be added at the main Documentation/ directory.
Instead, new docs should be added as ReST files, within the
Kernel documentation body.
Fixes: 51bd6f2915
("Add support for IPMB driver")
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Message-Id: <d23c36ca65fe6ad56af1723bf70f7a7f4154c410.1561804596.git.mchehab+samsung@kernel.org>
Signed-off-by: Corey Minyard <cminyard@mvista.com>
This commit is contained in:
Родитель
a88b6d5668
Коммит
ac499fba98
|
@ -34,6 +34,7 @@ available subsections can be seen below.
|
||||||
pci/index
|
pci/index
|
||||||
spi
|
spi
|
||||||
i2c
|
i2c
|
||||||
|
ipmb
|
||||||
i3c/index
|
i3c/index
|
||||||
hsi
|
hsi
|
||||||
edac
|
edac
|
||||||
|
|
|
@ -32,11 +32,11 @@ This driver works with the I2C driver and a userspace
|
||||||
program such as OpenIPMI:
|
program such as OpenIPMI:
|
||||||
|
|
||||||
1) It is an I2C slave backend driver. So, it defines a callback
|
1) It is an I2C slave backend driver. So, it defines a callback
|
||||||
function to set the Satellite MC as an I2C slave.
|
function to set the Satellite MC as an I2C slave.
|
||||||
This callback function handles the received IPMI requests.
|
This callback function handles the received IPMI requests.
|
||||||
|
|
||||||
2) It defines the read and write functions to enable a user
|
2) It defines the read and write functions to enable a user
|
||||||
space program (such as OpenIPMI) to communicate with the kernel.
|
space program (such as OpenIPMI) to communicate with the kernel.
|
||||||
|
|
||||||
|
|
||||||
Load the IPMB driver
|
Load the IPMB driver
|
||||||
|
@ -48,34 +48,35 @@ CONFIG_IPMB_DEVICE_INTERFACE=y
|
||||||
|
|
||||||
1) If you want the driver to be loaded at boot time:
|
1) If you want the driver to be loaded at boot time:
|
||||||
|
|
||||||
a) Add this entry to your ACPI table, under the appropriate SMBus:
|
a) Add this entry to your ACPI table, under the appropriate SMBus::
|
||||||
|
|
||||||
Device (SMB0) // Example SMBus host controller
|
Device (SMB0) // Example SMBus host controller
|
||||||
{
|
{
|
||||||
Name (_HID, "<Vendor-Specific HID>") // Vendor-Specific HID
|
Name (_HID, "<Vendor-Specific HID>") // Vendor-Specific HID
|
||||||
Name (_UID, 0) // Unique ID of particular host controller
|
Name (_UID, 0) // Unique ID of particular host controller
|
||||||
:
|
:
|
||||||
:
|
:
|
||||||
Device (IPMB)
|
Device (IPMB)
|
||||||
{
|
{
|
||||||
Name (_HID, "IPMB0001") // IPMB device interface
|
Name (_HID, "IPMB0001") // IPMB device interface
|
||||||
Name (_UID, 0) // Unique device identifier
|
Name (_UID, 0) // Unique device identifier
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
b) Example for device tree:
|
b) Example for device tree::
|
||||||
|
|
||||||
&i2c2 {
|
&i2c2 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
|
||||||
ipmb@10 {
|
ipmb@10 {
|
||||||
compatible = "ipmb-dev";
|
compatible = "ipmb-dev";
|
||||||
reg = <0x10>;
|
reg = <0x10>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
2) Manually from Linux:
|
2) Manually from Linux::
|
||||||
modprobe ipmb-dev-int
|
|
||||||
|
modprobe ipmb-dev-int
|
||||||
|
|
||||||
|
|
||||||
Instantiate the device
|
Instantiate the device
|
||||||
|
@ -86,15 +87,16 @@ described in 'Documentation/i2c/instantiating-devices'.
|
||||||
If you have multiple BMCs, each connected to your Satellite MC via
|
If you have multiple BMCs, each connected to your Satellite MC via
|
||||||
a different I2C bus, you can instantiate a device for each of
|
a different I2C bus, you can instantiate a device for each of
|
||||||
those BMCs.
|
those BMCs.
|
||||||
The name of the instantiated device contains the I2C bus number
|
|
||||||
associated with it as follows:
|
|
||||||
|
|
||||||
BMC1 ------ IPMB/I2C bus 1 ---------| /dev/ipmb-1
|
The name of the instantiated device contains the I2C bus number
|
||||||
|
associated with it as follows::
|
||||||
|
|
||||||
|
BMC1 ------ IPMB/I2C bus 1 ---------| /dev/ipmb-1
|
||||||
Satellite MC
|
Satellite MC
|
||||||
BMC1 ------ IPMB/I2C bus 2 ---------| /dev/ipmb-2
|
BMC1 ------ IPMB/I2C bus 2 ---------| /dev/ipmb-2
|
||||||
|
|
||||||
For instance, you can instantiate the ipmb-dev-int device from
|
For instance, you can instantiate the ipmb-dev-int device from
|
||||||
user space at the 7 bit address 0x10 on bus 2:
|
user space at the 7 bit address 0x10 on bus 2::
|
||||||
|
|
||||||
# echo ipmb-dev 0x1010 > /sys/bus/i2c/devices/i2c-2/new_device
|
# echo ipmb-dev 0x1010 > /sys/bus/i2c/devices/i2c-2/new_device
|
||||||
|
|
Загрузка…
Ссылка в новой задаче