How to reset MMPF0100 I2C module.

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How to reset MMPF0100 I2C module.

Jump to solution
1,071 Views
satoshishimoda
Senior Contributor I

Hi community,

I want to know how to reset MMPF0100 I2C module.
Actually, a problem is occurred with MMPF0100 uncorrect I2C finishing when i.MX6 Android is reboot.

(in other words, a problem is occurred if i.MX6 reboots Android suddenly in I2C communication)

If I2C communication is not finished correctly, I think MMPF0100 seems that misunderstand I2C data by combining the data on previous I2C access and the data on next access, and it sets incorrect value to MMPF0100 register by the misunderstanding.

So I prevent this problem by MMPF0100 I2C module reset.
Could you let me know how to do it?

Best Regards,
Satoshi Shimoda

0 Kudos
1 Solution
697 Views
igorpadykov
NXP Employee
NXP Employee

Hi Satoshi, it is not possible

to reset only MMPF0100 I2C module, you can just initiate

new power up sequence to reset whole MMPF0100. In general if I2C

slave is hanging, master (i.MX6) can send additional clocks (9 max) then

generate STOP condition (MSTA bit in i.MX6 I2CR register).

Then I2C slave should recover. If MMPF0100 does not hang you

can just rewrite wrong settings sending another I2C data.

View solution in original post

0 Kudos
2 Replies
698 Views
igorpadykov
NXP Employee
NXP Employee

Hi Satoshi, it is not possible

to reset only MMPF0100 I2C module, you can just initiate

new power up sequence to reset whole MMPF0100. In general if I2C

slave is hanging, master (i.MX6) can send additional clocks (9 max) then

generate STOP condition (MSTA bit in i.MX6 I2CR register).

Then I2C slave should recover. If MMPF0100 does not hang you

can just rewrite wrong settings sending another I2C data.

0 Kudos
697 Views
satoshishimoda
Senior Contributor I

Hi chipexpert,

Thank you for your quick response.

OK, I understand MMPF0100 I2C module cannot reset without new power up sequence.

So I will find other solution.

> If MMPF0100 does not hang you

> can just rewrite wrong settings sending another I2C data

Unfortunately, sometimes i.MX6 is stalled when the wrong setting is written to MMPF0100.

For example, there was a case 0x03 was set to Adress = 0x20 (SW1ABVOLT), in this case SW1AB output was changed to 0x375V and i.MX6 was stalled.

So I think "rewrite" is not suitabale solution.

Best Regards,

Satoshi Shimoda

0 Kudos