[U-Boot] No I2C connection with different pins/pads when initializing

P Kor pk.uboot at gmail.com
Thu Apr 11 19:58:21 UTC 2019


 Hello there,

I'm developing a product which uses Karo TX6S-8135 chip, which based on
i.MX6sol cpu More info here (https://www.karo-electronics.de/856.html?&L=1).
Karo company has it's own fork of U-Boot, but as far I knows sources are
basing on U-Boot 2015-10 (quite old) and it's still being developed. I'm
using latest sources that are placed on Github (
https://github.com/karo-electronics/karo-tx-uboot).
Sources for our board is here:
https://github.com/karo-electronics/karo-tx-uboot/tree/master/board/karo/tx6
and particular file dedicated for TX6S is:
https://github.com/karo-electronics/karo-tx-uboot/blob/master/board/karo/tx6/tx6qdl.c

I have request to do an U-Boot modification. I need to detect at U-Boot
init time if button was pressed, which is controlled by I2C1. The problem
here is our product uses different pins (CSI0_DAT9, CSI0_DAT8) than default
ones (EIM_D21, EIM_D28), but from chip specification they can be also used
for I2C1.
[image: obraz.png]

First I wanted to check if I have any connection with the slave module
(TCA9539 in my case). Here is what happens. When I2C Probe is executed
while initializing it fails. When I execute I2C probe after initilization
from U-Boot command line, then it's OK and whole communication is working
correctly. I tried different approaches, but nothing helps for me here.
Currently I placed my code (changing PADs and executing I2C probe) in "
board_late_init", and from side from registers states it looks like it
should work.

I appreciate any help with this topic as I'm out of ideas now :(

Kind regards,
Piotr K.


More information about the U-Boot mailing list