ffbc3b5f5f
* Add chips ops for IPMI KCS. * Get IPMI version over KCS. * Generates ACPI SPMI table for IPMI KCS. * Generates SMBIOS type 38 for IPMI KCS. * Generates ACPI SPMI device for IPMI KCS on LPC device. * Add documentation To use this driver on BMC that support KCS on I/O: 1. Add an entry to the devicetree.cb: chip drivers/ipmi device pnp ca2.0 on end # IPMI KCS end 2. Select IPMI_KCS in Kconfig. 3. (Optional) enable LPC I/O decode for the given address. Tested on Wedge100s. Change-Id: I73cbd2058ccdc5395baf244f31345a85eb0047d7 Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/33255 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
1.4 KiB
1.4 KiB
IPMI KCS driver
The driver can be found in src/drivers/ipmi/
. It works with BMC that provide
a KCS I/O interface as specified in the IPMI standard.
The driver detects the IPMI version, reserves the I/O space in coreboot's resource allocator and writes the required ACPI and SMBIOS tables.
For developers
To use the driver, select the IPMI_KCS
Kconfig and add the following PNP
device under the LPC bridge device (in example for the KCS at 0xca2):
chip drivers/ipmi
device pnp ca2.0 on end # IPMI KCS
end
Note: The I/O base address needs to be aligned to 2.
The following registers can be set:
have_nv_storage
- Boolean
- If true
nv_storage_device_address
will be added to SMBIOS type 38.
nv_storage_device_address
- Integer
- The NV storage address as defined in SMBIOS spec for type 38.
bmc_i2c_address
- Integer
- The i2c address of the BMC. zero if not applicable.
have_apic
- Boolean
- If true the
apic_interrupt
will be added to SPMI table.
apic_interrupt
- Integer
- The APIC interrupt used to notify about a change on the KCS.
have_gpe
- Boolean
- If true the
gpe_interrupt
will be added to SPMI table.
gpe_interrupt
- Integer
- The bit in GPE (SCI) used to notify about a change on the KCS.