i2c error for ME port

Vijay Khemka vijaykhemka at fb.com
Tue Nov 26 10:54:02 AEDT 2019



On 11/25/19, 3:40 PM, "Jae Hyun Yoo" <jae.hyun.yoo at linux.intel.com> wrote:

    On 11/25/2019 3:37 PM, Vijay Khemka wrote:
    > 
    > 
    > On 11/25/19, 3:21 PM, "Jae Hyun Yoo" <jae.hyun.yoo at linux.intel.com> wrote:
    > 
    >      > &i2c4 {
    >      >    status = "okay";
    >      >    // BMC Debug Header
    >      >    ipmb0 at 10 {
    >      >      compatible = "ipmb-dev";
    >      >      reg = <0x10>;
    >      >      i2c-protocol;
    >      >    };
    >      > };
    >      
    >      If it's for BMC-ME channel, you should add 'multi-master;' to enable H/W
    >      arbitration. Also, you should set the slave address like below after
    >      including '#include <dt-bindings/i2c/i2c.h>' in dts file.
    >      
    >      reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
    >      
    > I changed to this
    > &i2c4 {
    >    status = "okay";
    >    multi-master;
    >    // BMC Debug Header
    >    ipmb0 at 10 {
    >      compatible = "ipmb-dev";
    
    What happens if you use "slave-mqueue" instead? Are you modifying IPMB
    channel support using the ipmb kernel driver?

No, I am just using this IPMB kernel driver as receiving and sending ipmb packets.
All channel support is in ipmbbridge application only. 

Let me switch back to mqueue slave driver and see if problem stays.
    
    >      reg = <0x40000010>;
    >      i2c-protocol;
    >    };
    > };
    > But no improvement. In fact sometimes I am unable to communicate with ME via i2c.
    >      Cheers,
    >      
    >      Jae
    >      
    > 
    



More information about the openbmc mailing list