BMC sending info about which I2C bus goes to PCIe slot
Jaghathiswari Rankappagounder Natarajan
jaghu at google.com
Fri Sep 7 05:48:29 AEST 2018
Hello,
BMC has information in the device tree about which I2C bus goes to which
PCIe slot.
(for example in arch/arm/boot/dts/aspeed-bmc-quanta-q71l.dts file)
&i2c2 {
status = "okay";
/* 0: PCIe Slot 2,
* Slot 3,
* Slot 6,
* Slot 7
*/
i2c-switch at 74 {
compatible = "nxp,pca9546";
reg = <0x74>;
#address-cells = <1>;
#size-cells = <0>;
i2c-mux-idle-disconnect; /* may use mux at 77 next. */
i2c_pcie2: i2c at 0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
};
i2c_pcie3: i2c at 1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
};
}
I would like the host to get this information from the BMC firmware by
sending a IPMI OEM command.
I would like to add an extra property in the device tree like:
&i2c2 {
status = "okay";
/* 0: PCIe Slot 2,
* Slot 3,
* Slot 6,
* Slot 7
*/
i2c-switch at 74 {
compatible = "nxp,pca9546";
reg = <0x74>;
#address-cells = <1>;
#size-cells = <0>;
i2c-mux-idle-disconnect; /* may use mux at 77 next. */
i2c_pcie2: i2c at 0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
* slot = "PE2";*
};
i2c_pcie3: i2c at 1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
*slot = "PE3"*
};
}
Whenever the host sends the IPMI OEM command to get the I2C bus/PCIe slot
mapping info,
the BMC can parse through all the i2c devices under /sys/bus/i2c/ and find
only the i2c devices which have a property called slot under of_node. The
BMC can send then send the corresponding I2C bus number and the slot info
as part of the IPMI command response.
Does anyone have any ideas/suggestions about this ?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/openbmc/attachments/20180906/dd48e3ea/attachment.html>
More information about the openbmc
mailing list