This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

How to manage TPS65950 by I2C (or any other methods)?

Other Parts Discussed in Thread: TPS65950

Hi all.

I have a problem with work with TPS65950 by i2c. When I use i2c-tools for connection for read any register, I have error

xxxx@xxxx:~# i2cdetect -y -a -r 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 

20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- UU UU UU UU -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 

60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
xxxx@xxxx::~# i2cget -y 1 0x48 0x00
Error: Could not set address to 0x48: Device or resource busy.
My programm also fail on read operation.

Could you please help me and suggest any good working examples for managing  TPS65950 with OMAP (Zoom Omap35x SOM Development kit) ?
Thank you very much.

  • Hello Denis,

    I'm not familiar with the i2c-tools. Could you tell me the details on the i2c-tools or your development environment ? Are you using OMAP3EVM, Processor module and power module together ? What's your OS or BSP ?

  • Kazunobu Shin said:

    Hello Denis,

    I'm not familiar with the i2c-tools. Could you tell me the details on the i2c-tools or your development environment ? Are you using OMAP3EVM, Processor module and power module together ? What's your OS or BSP ?

    Hi.

    I solved problem.

    I use development board "Zoom Omap35x SOM Development kit" with linux os.

    i2c-tools - it's open source linux toolkit for work with i2c devices (http://www.lm-sensors.org/wiki/I2CTools). I builded if for arm processor and tested on development board.

    Looks like some other subsystems have access to TPS65950 by i2c bus and os block access.

    I fixed problem by using ioctl(file, I2C_SLAVE_FORCE, address) instead of ioctl(file, I2C_SLAVE, address), or '-f' flag in any tool from i2c-tools.

    Regards,

    Denis.

  • Hi Denis

    It sounds like a work-around... Did you ever find out what other sub-system was taking over the I2C bus?

    I have the same issue, and forcing access solves it, but I need to understand why.

     

    Thank you

    Gil