Using imx53 pmic da9052 question ?

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

Using imx53 pmic da9052 question ?

1,994 Views
pengchuantang
Contributor I

Dear NXP,
We use  DA9052+i.MX536 and designed the board, we found the error when boot, here is log:

<6>[0.653028] da9052_ssc_i2c 2-0048: 2 - da9052_i2c_read:master_xfer Failed!!
<6>[0.653045] da9052_i2c_is_connected - i2c read failed.....
<6>[1.163249] da9052_ssc_i2c 2-0048: 2 - da9052_i2c_read:master_xfer Failed!!
<6>[1.163260] da9052_i2c_is_connected - i2c read failed.....

i2c2 have three devices, da9052, tw8834, gt9xx ,

What can i do, please help!

kernel version:2.6.35.3

BR,

Inuyasha

Labels (1)
Tags (1)
0 Kudos
Reply
6 Replies

1,714 Views
pengchuantang
Contributor I

1. It has a configurable SLAVE write address (default: 0x90) and a configurable SLAVE read address (default: 0x91).

DA9053 slave address is ok

2. This problem occurs only when a warm restart, cold reset is ok.

0 Kudos
Reply

1,714 Views
igorpadykov
NXP Employee
NXP Employee

This can occur when a system reset does not cause all I2C devices to be reset. Thus, SDAn can be negated low by another

I2C device while this I2C module is coming out of reset and will stay low indefinitely. The following

procedure can be used to force this I2C module to generate SCLn so that the device driving SDAn can

finish its transaction:

1. Disable the I2C module and set the master bit by setting I2CnCR to 0x20.

2. Enable the I2C module by setting I2CnCR to 0xA0.

3. Read I2CnDR.

4. Return the I2C module to slave mode by setting I2CnCR to 0x80."

~igor

0 Kudos
Reply

1,714 Views
pengchuantang
Contributor I

Dear

Attached is log, the slave devices of i2c3 are all probe failed.

If i disabled the da9053 init func in "mxc_board_init", like this:

#if defined(CONFIG_PMIC_DA9052)

#if !defined(CONFIG_MX53_MFG)

    //mx53_b1023l_init_da9052();

#endif

#endif

other slave devices of i2c3 will be probe ok, i seach I2CnCR, how to do it?

I also try to do recovery i2c when booting up in uboot, like this:

#ifdef CONFIG_I2C_MXC

    setup_i2c(CONFIG_SYS_I2C_PORT);

    i2c_bus_recovery();

    setup_pmic_voltages();

#endif

But if i enable i2c_bus_recovery, the system will can't be booting up.

0 Kudos
Reply

1,714 Views
igorpadykov
NXP Employee
NXP Employee

Hi Inuyasha

for i2c iomux settings it is necessary to set SION bit, check

i2c2 CCM_CCGR1(CG10) and follow sect.19.5 Using the I2C Interface i.MX53

System Development User’s Guide (rev.1, 3/2011)

http://www.freescale.com/files/32bit/doc/user_guide/MX53UG.pdf

Best regards

igor

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------

0 Kudos
Reply

1,714 Views
pengchuantang
Contributor I

I also check SDA of i2c2, the sda always been pull down when warm restart. But cold start is ok.

0 Kudos
Reply

1,714 Views
pengchuantang
Contributor I

1. It has a configurable SLAVE write address (default: 0x90) and a configurable SLAVE read address (default: 0x91).

DA9053 slave address is ok

2. This problem occurs only when a warm restart, cold reset is ok.

0 Kudos
Reply