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.

Enabling I2C2 on DM814x

Hi,

we are working on a custom board based on DM8148 with  EZSDK 5.05.02.00 and linux-2.6.37-psp04.04.00.01.

I2c1 on board is enabled by default and we are trying to enable I2c2 (second I2c, not used by M3). After making the required changes when we are trying to read/write to the bus we are getting following error

omap_i2c omap_i2c.2: controller timed out

omap_i2c omap_i2c.2: controller timed out

omap_i2c omap_i2c.2: controller timed out

omap_i2c omap_i2c.2: controller timed out

omap_i2c omap_i2c.2: controller timed out

......

we have set the clock register CM_ALWON_I2C_1_CLKCTRL (0x48181568) for the i2c2 to 0x00000002 in the kernel.

but the clock register CM_ALWON_I2C_1_CLKCTRL is getting reset to 0x00030000.

The value of the i2c2 registers are as follows

Register                                    Value

0x4802A000                             0x0000000B

0x48028004                             0x00005040

0x4802A010                             0x00000015

0x4802A020                             0x00000000

0x4802A024                             0x00000100

0x4802A028                             0x00000000

0x4802A02C                            0x0000001E

0x4802A030                             0x0000001E

0x4802A034                             0x00000000

0x4802A038                             0x00000000

0x4802A03C                            0x00000000

0x4802A040                             0x00000000

0x4802A044                             0x00000000

0x4802A048                             0x00000000

0x4802A04C                            0x00000000

0x4802A090(system status)              0x00000001

0x48028094                             0x00000000

0x4802A098                             0x00000000

0x4802A09C                            0x000000F9

0x4802A0A4(I2c_CON)                    0x00008000

0x4802A0A8                             0x00000000

0x4802A0AC                            0x00000007

0x4802A0B0                             0x0000000B

0x4802A0B4                             0x0000000D

0x4802A0B8                             0x0000000F

0x4802A0BC                             0x000001E0

0x4802A0C0                             0x00008001

0x4802A0C4                             0x00000000

0x4802A0C8                             0x00000000

0x4802A0CC                            0x00000000

0x4802A0D0                             0x00000000

0x4802A0D4                             0x00000000

pinmux configuration for i2c2 is shown below

root@dm814x-evm:~# cat /sys/kernel/debug/omap_mux/i2c1_sda

name: i2c1_sda.i2c1_sda (0x48140938/0x938 = 0x60001), b NA, t NA

mode: OMAP_PIN_OUTPUT | OMAP_MUX_MODE1

signals: i2c1_sda | NA | NA | NA | NA | NA | NA | NA



root@dm814x-evm:~# cat /sys/kernel/debug/omap_mux/i2c1_scl

name: i2c1_scl.i2c1_scl (0x48140934/0x934 = 0x60001), b NA, t NA

mode: OMAP_PIN_OUTPUT | OMAP_MUX_MODE1

signals: i2c1_scl | NA | NA | NA | NA | NA | NA | NA

we are not getting clock signal on the scl line of the i2c2.

With the same register configuration, we are not getting any signals even at U-boot even after setting CM_ALWON_I2C_1_CLKCTRL and enabling I2C in configuration register. Am I missing something? Is there any patch available to enable I2c2.

kindly help us in resolving the issue.

Regards,
Phani Prasanth