Embedded Intel Atom® Processors
Technological Conversations about Intel Atom® Hardware, Software, Firmware, Graphics
公告
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.

Atom C3558 I2C problem

CPaul10
新手
5,079 次查看

Hello,

I got a case based on Intel Atom C3558 or C3508 platform.

I installed Ubuntu 16.04 LTS on it and upgrade kernel from 4.4.0 to 4.19.68.

The options of I2C driver as below:

CONFIG_I2C=y

CONFIG_ACPI_I2C_OPREGION=y

CONFIG_I2C_BOARDINFO=y

CONFIG_I2C_COMPAT=y

CONFIG_I2C_CHARDEV=y

CONFIG_I2C_MUX=y

CONFIG_I2C_MUX_PCA954x=y

CONFIG_I2C_HELPER_AUTO=y

CONFIG_I2C_SMBUS=y

CONFIG_I2C_ALGOBIT=y

CONFIG_I2C_I801=y

CONFIG_I2C_ISCH=y

CONFIG_I2C_ISMT=y

CONFIG_I2C_SCMI=y

CONFIG_I2C_DESIGNWARE_CORE=y

CONFIG_I2C_DESIGNWARE_PLATFORM=y

CONFIG_I2C_GPIO=y

CONFIG_I2C_GPIO_FAULT_INJECTOR=y

CONFIG_I2C_STUB=m

CONFIG_I2C_DEBUG_CORE=y

CONFIG_I2C_DEBUG_ALGO=y

CONFIG_I2C_DEBUG_BUS=y

I can see the i2c-bus right now.

 root@ubuntu:/mnt/sata/tmp/linux-4.19.68# i2cdetect -l

i2c-1 smbus    SMBus iSMT adapter at dff9c000  SMBus adapter

i2c-0 smbus    SMBus I801 adapter at e000    SMBus adapter

 

But the console always show 'ismt_smbus 0000:00:12.0: completion wait timed out' slowly after I type 'i2cdetect -r -y 0'.​

​The part of kernel message:

[ 223.435938] i2c i2c-0: ioctl, cmd=0x703, arg=0x77

[ 223.435945] i2c i2c-0: ioctl, cmd=0x720, arg=0x7fff072d4e80

[ 223.435951] ismt_smbus 0000:00:12.0: I2C_SMBUS_BYTE: READ

[ 223.435956] ismt_smbus 0000:00:12.0: dev=0000000097c6a9f6

[ 223.435961] ismt_smbus 0000:00:12.0: data=00000000bd2538c3

[ 223.435965] ismt_smbus 0000:00:12.0: dma_buffer=00000000010c23ac

[ 223.435969] ismt_smbus 0000:00:12.0: dma_size=1

[ 223.435973] ismt_smbus 0000:00:12.0: dma_direction=2

[ 223.435978] ismt_smbus 0000:00:12.0: dma_addr = 0x000000041eb21450

[ 223.435982] ismt_smbus 0000:00:12.0: Dump of the descriptor struct: 0x0

[ 223.435986] ismt_smbus 0000:00:12.0: Descriptor struct: 000000002753df16

[ 223.435990] ismt_smbus 0000:00:12.0: tgtaddr_rw=0xEF

[ 223.435994] ismt_smbus 0000:00:12.0: wr_len_cmd=0x00

[ 223.435997] ismt_smbus 0000:00:12.0: rd_len=  0x01

[ 223.436001] ismt_smbus 0000:00:12.0: control=  0x48

[ 223.436005] ismt_smbus 0000:00:12.0: status=  0x00

[ 223.436008] ismt_smbus 0000:00:12.0: retry=   0x00

[ 223.436012] ismt_smbus 0000:00:12.0: rxbytes=  0x00

[ 223.436016] ismt_smbus 0000:00:12.0: txbytes=  0x00

[ 223.436019] ismt_smbus 0000:00:12.0: dptr_low= 0x1EB21450

[ 223.436023] ismt_smbus 0000:00:12.0: dptr_high= 0x00000004

[ 223.436027] ismt_smbus 0000:00:12.0: Dump of the iSMT General Registers

[ 223.436032] ismt_smbus 0000:00:12.0:  GCTRL.... : (0x000000002b8f2e9f)=0x0

[ 223.436038] ismt_smbus 0000:00:12.0:  SMTICL... : (0x00000000c5e22f6a)=0x0000000000000000

[ 223.436043] ismt_smbus 0000:00:12.0:  ERRINTMSK : (0x00000000d5ebe998)=0x0

[ 223.436048] ismt_smbus 0000:00:12.0:  ERRAERMSK : (0x00000000782e6751)=0x0

[ 223.436053] ismt_smbus 0000:00:12.0:  ERRSTS... : (0x00000000ec163d70)=0x0

[ 223.436057] ismt_smbus 0000:00:12.0:  ERRINFO.. : (0x00000000686e7974)=0x0

[ 223.436061] ismt_smbus 0000:00:12.0: Dump of the iSMT Master Registers

[ 223.436066] ismt_smbus 0000:00:12.0:  MDBA..... : (0x000000008a1869d5)=0x000000041EAF3000

[ 223.436071] ismt_smbus 0000:00:12.0:  MCTRL.... : (0x0000000016b85d1c)=0x19

[ 223.436076] ismt_smbus 0000:00:12.0:  MSTS..... : (0x000000003fc61b21)=0x0

[ 223.436081] ismt_smbus 0000:00:12.0:  MDS...... : (0x000000009d8a4724)=0x1

[ 223.436086] ismt_smbus 0000:00:12.0:  RPOLICY.. : (0x00000000b726b856)=0x61020

[ 223.436092] ismt_smbus 0000:00:12.0:  SPGT..... : (0x000000007b3be4e3)=0x5

[ 224.454041] ismt_smbus 0000:00:12.0: completion wait timed out

 

Do you have any idea for this issue?

The final purpose :

I would like to read/write the data of sensors by I2C.

The architecture:

C3558/C3508 ---> pca9548_0 ---> sensors

---> pca9548_1 ---> sensors

---> pca9548_2 ---> sensors

---> pca9548_3 ---> sensors

 

0 项奖励
5 回复数
CarlosAM_INTEL
主持人
4,545 次查看

Hello, @CPaul10​:

 

Thank you for contacting Intel Embedded Community.

 

Could you please tell us if the affected designs have been designed by you or by a third-party company? In case that they are third-party units please give the part number, model, name of the manufacturer, where it is stated the information related to it. In case that it is your design, could you please clarify it has been reviewed by Intel?

 

By the way, Could you please let us know where you obtain and the version of the affected driver?

 

We are waiting for your reply.

 

Best regards,

@Mæcenas_INTEL​.

0 项奖励
CPaul10
新手
4,545 次查看

Sorry for Incomplete message.

1.

third-party company:ADLINK

model:Express-DN7

(https://www.adlinktech.com/Products/Computer_on_Modules/COMExpressType7/Express-DN7?lang=en)

​cpu:Intel Atom C3558 / C3508

2.

I got the Ubuntu 16.04 LTS Server from https://ubuntu.com.

I got the Linux Kernel from https://www.kernel.org.

​Kernel Version:4.19.68

 

 

0 项奖励
CarlosAM_INTEL
主持人
4,546 次查看

Hello, @CPaul10​:

 

Thanks for your reply.

 

We would like to help you with this third-party issue but the proper information is handled by its manufacturer and the Operating System (OS) developers. Due to this fact as a reference, please address the consultations related to this situation to the channels listed at the following websites:

 

https://www.adlinktech.com/en/Askanexpert.aspx

https://askubuntu.com/

 

Best regards,

@Mæcenas_INTEL​.

0 项奖励
CPaul10
新手
4,546 次查看

Thanks.

0 项奖励
CarlosAM_INTEL
主持人
4,547 次查看

Hello, @CPaul10​:

 

Thanks for your update.

 

You are welcome, please do not hesitate to contact us again in case you will have questions related to Intel Embedded devices.

 

Best regards,

@Mæcenas_INTEL​.

0 项奖励
回复