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