From: Aaron Sells <aaron.sells@zin-tech.com>
To: linuxppc-embedded@ozlabs.org
Subject: Xilinx ML403 I2C Problems
Date: Tue, 13 May 2008 11:12:25 -0400 [thread overview]
Message-ID: <4829AFD9.30809@zin-tech.com> (raw)
Hello,
I am having troubles accessing the eeprom on our Xilinx ML403 board. It
is running an up to date kernel pulled from the git.xilinx.com tree. I
am running an OpenEmbedded file system. I am using I2C Tools
[http://www.lm-sensors.org/wiki/I2CTools] to probe the I2C bus. I am
using Xilinx EDK 10.1 and the base system builder wizard to generate my
bitstream. The following are I2C related messages during bootup:
> root@xilinx-ml403:~# dmesg | grep i[i2]c
> [ 0.126379] Registering device xilinx_iic:0
> [ 0.186921] i2c-core: driver [dummy] registered
> [ 11.729656] i2c /dev entries driver
> [ 11.770185] i2c-core: driver [dev_driver] registered
> [ 11.772527] i2c-core: driver [eeprom] registered
> [ 11.772951] I2C adapter driver [xilinx_iic.0] forgot to specify physical device
> [ 11.774135] i2c-adapter i2c-0: adapter [xilinx_iic.0] registered
> [ 11.775475] i2c-dev: adapter [xilinx_iic.0] registered as minor 0
> [ 11.775569] i2c-adapter i2c-0: found normal entry for adapter 0, addr 0x50
> [ 11.775640] i2c-adapter i2c-0: master_xfer[0] W, addr=0x50, len=0
> [ 11.775710] i2c-adapter i2c-0: master_xfer[0] W, addr=0x50, len=0
> [ 11.776245] i2c-adapter i2c-0: client [eeprom] registered with bus id 0-0050
> [ 11.776364] i2c-adapter i2c-0: found normal entry for adapter 0, addr 0x51
> [ 11.776441] i2c-adapter i2c-0: master_xfer[0] W, addr=0x51, len=0
> [ 11.776510] i2c-adapter i2c-0: master_xfer[0] W, addr=0x51, len=0
> [ 11.776847] i2c-adapter i2c-0: client [eeprom] registered with bus id 0-0051
> [ 11.776957] i2c-adapter i2c-0: found normal entry for adapter 0, addr 0x52
> [ 11.777034] i2c-adapter i2c-0: master_xfer[0] W, addr=0x52, len=0
> [ 11.777102] i2c-adapter i2c-0: master_xfer[0] W, addr=0x52, len=0
> [ 11.777414] i2c-adapter i2c-0: client [eeprom] registered with bus id 0-0052
> [ 11.777526] i2c-adapter i2c-0: found normal entry for adapter 0, addr 0x53
> [ 11.777603] i2c-adapter i2c-0: master_xfer[0] W, addr=0x53, len=0
> [ 11.777671] i2c-adapter i2c-0: master_xfer[0] W, addr=0x53, len=0
> [ 11.778053] i2c-adapter i2c-0: client [eeprom] registered with bus id 0-0053
> [ 11.778169] i2c-adapter i2c-0: found normal entry for adapter 0, addr 0x54
> [ 11.778249] i2c-adapter i2c-0: master_xfer[0] W, addr=0x54, len=0
> [ 11.778317] i2c-adapter i2c-0: master_xfer[0] W, addr=0x54, len=0
> [ 11.778708] i2c-adapter i2c-0: client [eeprom] registered with bus id 0-0054
> [ 11.778821] i2c-adapter i2c-0: found normal entry for adapter 0, addr 0x55
> [ 11.778905] i2c-adapter i2c-0: master_xfer[0] W, addr=0x55, len=0
> [ 11.778974] i2c-adapter i2c-0: master_xfer[0] W, addr=0x55, len=0
> [ 11.779296] i2c-adapter i2c-0: client [eeprom] registered with bus id 0-0055
> [ 11.779406] i2c-adapter i2c-0: found normal entry for adapter 0, addr 0x56
> [ 11.779487] i2c-adapter i2c-0: master_xfer[0] W, addr=0x56, len=0
> [ 11.779556] i2c-adapter i2c-0: master_xfer[0] W, addr=0x56, len=0
> [ 11.779881] i2c-adapter i2c-0: client [eeprom] registered with bus id 0-0056
> [ 11.780180] i2c-adapter i2c-0: found normal entry for adapter 0, addr 0x57
> [ 11.780275] i2c-adapter i2c-0: master_xfer[0] W, addr=0x57, len=0
> [ 11.780346] i2c-adapter i2c-0: master_xfer[0] W, addr=0x57, len=0
> [ 11.780695] i2c-adapter i2c-0: client [eeprom] registered with bus id 0-0057
> [ 11.780779] i2c-adapter i2c-0: master_xfer[0] W, addr=0x57, len=1
> [ 11.780828] i2c-adapter i2c-0: master_xfer[1] R, addr=0x57, len=1
> [ 11.796088] xilinx_iic.0 #0: Could not talk to device 0x57 (0), bus always busy, trying to reset
> [ 11.884076] i2c-adapter i2c-0: master_xfer[0] R, addr=0x57, len=1
> [ 11.900084] xilinx_iic.0 #0: Could not talk to device 0x57 (0), bus always busy, trying to reset
> [ 11.988074] i2c-adapter i2c-0: master_xfer[0] R, addr=0x57, len=1
> [ 12.004086] xilinx_iic.0 #0: Could not talk to device 0x57 (0), bus always busy, trying to reset
> [ 12.096076] i2c-adapter i2c-0: master_xfer[0] R, addr=0x57, len=1
> [ 12.112084] xilinx_iic.0 #0: Could not talk to device 0x57 (0), bus always busy, trying to reset
> [ 12.200151] xilinx_iic.0 #0 at 0x81600000 mapped to 0xC5060000, irq=4
Also, occasionally the board will hang during bootup during the I2C
device initialization. This is what I get when I try to read from the
eeprom memory locations:
> root@xilinx-ml403:~/i2c-tools-3.0.1/tools# ./i2cget 0 0x50
> Error: Could not set address to 0x50: Device or resource busy
> root@xilinx-ml403:~/i2c-tools-3.0.1/tools# ./i2cget 0 0x51
> Error: Could not set address to 0x51: Device or resource busy
> root@xilinx-ml403:~/i2c-tools-3.0.1/tools# ./i2cget 0 0x52
> Error: Could not set address to 0x52: Device or resource busy
> root@xilinx-ml403:~/i2c-tools-3.0.1/tools# ./i2cget 0 0x53
> Error: Could not set address to 0x53: Device or resource busy
> root@xilinx-ml403:~/i2c-tools-3.0.1/tools# ./i2cget 0 0x54
> Error: Could not set address to 0x54: Device or resource busy
> root@xilinx-ml403:~/i2c-tools-3.0.1/tools# ./i2cget 0 0x55
> Error: Could not set address to 0x55: Device or resource busy
> root@xilinx-ml403:~/i2c-tools-3.0.1/tools# ./i2cget 0 0x56
> Error: Could not set address to 0x56: Device or resource busy
> root@xilinx-ml403:~/i2c-tools-3.0.1/tools# ./i2cget 0 0x57
> Error: Could not set address to 0x57: Device or resource busy
The following are the I2C defines in my xparameters_ml403.h file:
> sellsa@SS-SBIR-Ubuntu:~/linux-2.6-xlnx/arch/ppc/platforms/4xx/xparameters$ cat xparameters_ml403.h | grep IIC
> /* Definitions for driver IIC */
> #define XPAR_XIIC_NUM_INSTANCES 1
> /* Definitions for peripheral IIC_EEPROM */
> #define XPAR_IIC_EEPROM_DEVICE_ID 0
> #define XPAR_IIC_EEPROM_BASEADDR 0x81600000
> #define XPAR_IIC_EEPROM_HIGHADDR 0x8160FFFF
> #define XPAR_IIC_EEPROM_TEN_BIT_ADR 0
> #define XPAR_IIC_EEPROM_GPO_WIDTH 1
> /* Canonical definitions for peripheral IIC_EEPROM */
> #define XPAR_IIC_0_DEVICE_ID XPAR_IIC_EEPROM_DEVICE_ID
> #define XPAR_IIC_0_BASEADDR 0x81600000
> #define XPAR_IIC_0_HIGHADDR 0x8160FFFF
> #define XPAR_IIC_0_TEN_BIT_ADR 0
> #define XPAR_IIC_0_GPO_WIDTH 1
> #define XPAR_IIC_EEPROM_IIC2INTC_IRPT_MASK 0X000010
> #define XPAR_XPS_INTC_0_IIC_EEPROM_IIC2INTC_IRPT_INTR 4
> #define XPAR_INTC_0_IIC_0_VEC_ID XPAR_XPS_INTC_0_IIC_EEPROM_IIC2INTC_IRPT_INTR
> #define XPAR_PERSISTENT_0_IIC_0_BASEADDR 0
> #define XPAR_PERSISTENT_0_IIC_0_HIGHADDR 128
> #define XPAR_PERSISTENT_0_IIC_0_EEPROMADDR 0x50
Any ideas on what could be going wrong? Any ideas on how to
troubleshoot this?
Regards,
Aaron
next reply other threads:[~2008-05-13 15:13 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-13 15:12 Aaron Sells [this message]
2008-05-13 15:25 ` Xilinx ML403 I2C Problems Bittner, Bruno A (GE EntSol, Intelligent Platforms)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4829AFD9.30809@zin-tech.com \
--to=aaron.sells@zin-tech.com \
--cc=linuxppc-embedded@ozlabs.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.