[Balloon] I2C

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Wookey
Date:  
To: Balloon
Subject: [Balloon] I2C
So I have an old CUED loon + CUED IO board with relv1.0 software
loaded and am wanting to do I2C things. However I'm not getting much
joy.

i2c_pxa, i2c_core are already loaded.

modprobe pcf8574 works but no device appears in /sys/bus/i2c/devices/
I expect /sys/bus/i2c/devices/0x038/ to appear.
(/sys/bus/i2c/drivers/pcf8574 does appear).


modprobe i2c_dev makes /dev/i2c-0 appear (but not i2c-1)

there is also an i2c_gpio module, which I presume is for I2C busses
implmented on GPIO lines, not built-in?

On the hardware front is seems that SDA and SDL are connected to the
pcf devices and the 9pinD on the CUED board only when VDD_EXT (aka
VDD_IO on the CUED schematic) is 3.3V, thus enabling FETs Q1 and Q2.
The balloon_power sheet shows VDD_EXT as being conected to VDD_PANEL,
which is controlled by switch U3 and thus presumably by the RUN_PANEL
line.

probing the board seems to show that VDD_IO at Q1/Q2 is off. How do I
turn it on?

i2cdetect -l says:
i2c-0   i2c             pxa_i2c-i2c.0                           I2C adapter


i2cdetect -F 0    
Functionalities implemented by /dev/i2c-0:
I2C                              yes
SMBus Quick Command              yes
SMBus Send Byte                  yes
SMBus Receive Byte               yes
SMBus Write Byte                 yes
SMBus Read Byte                  yes
SMBus Write Word                 yes
SMBus Read Word                  yes
SMBus Process Call               yes
SMBus Block Write                yes
SMBus Block Read                 no
SMBus Block Process Call         no
SMBus PEC                        yes
I2C Block Write                  yes
I2C Block Read                   yes
balloon:~# i2cdetect -F 1
Error: Could not open file `/dev/i2c-1' or `/dev/i2c/1': No such file or directory



Any attempt to actually read the bus seems to fail:

i2cdump 0 0x14
No size specified (using byte-data access)
WARNING! This program can confuse your I2C bus, cause data loss and
worse!
I will probe file /dev/i2c-0, address 0x14, mode byte
Continue? [Y/n] y
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    012345678i2c:
error: exhausted retries
9abcdef
00: i2c: msg_num: 0 msg_idx: -2000 msg_ptr: 0
i2c: ICR: 000007e0 ISR: 00000002
i2c: log: [00000446:000007e0]
XX i2c: error: exhausted retries
i2c: msg_num: 0 msg_idx: -2000 msg_ptr: 0
i2c: ICR: 000007e0 ISR: 00000002
i2c: log: [00000446:000007e0]
XX i2c: error: exhausted retries
(repeats a lot)


So why can I only see the power i2c bus (not the IO bus that I really
want), and even that doesn't seem to work? Am I missing something?

Wookey
--
Principal hats: Linaro, Emdebian, Wookware, Balloonboard, ARM
http://wookware.org/