Accessing I2C-4 From Linux

Discussion in 'UDOO NEO' started by ctassell, Aug 16, 2016.

Tags:
  1. ctassell

    ctassell UDOOer

    Joined:
    Apr 9, 2015
    Messages:
    19
    Likes Received:
    2
    Hi Everyone,

    I've got an NTAG 2C Demo Kit ( http://www.nxp.com/products/identif...569-NT312D?fsrch=1&sr=1&pageNum=1#pspFeatures if you are interested) which I'm trying to connect to the I2C-4 bus in Linux. I've wired the VCC to a 3.3v on the Neo (the chip takes from 1.7v-3.6v), ground to ground, and have tried the SCA and SCL lines on both pins 34/35 and 32/33. I went into the device tree editor and enabled both I2C-4 and the I2C-2 brick connector, but I still can't see my NTAG chip with i2cdetect -y 3 I see the two built-in I2C devices on 0/20 and e/10, but nothing about my NTAG.

    Does anyone have any ideas on how to diagnose the issue? I notice that GPIOs 202 and 203 still show up in /gpio as input pins even though those are shared with the SCA/SCL for pins 34/35 which makes me wonder if my DTD file is being used at all.
     
  2. jas-mx

    jas-mx Active Member

    Joined:
    Dec 31, 2013
    Messages:
    407
    Likes Received:
    118
    I don't use the device tree editor (I create my own version of the dtb files when required) however I can confirm the I2C-4 can work from the linux side pins 34/35. You need to ensure I2C-4 is disabled on the M4 side and the pins aren't assigned as GPIO on the linux side. From the linux side the dmesg output should show which I2C interfaces the kernel registered, eg:

    Code:
    i2c i2c-0: IMX I2C adapter registered
    i2c i2c-1: IMX I2C adapter registered
    i2c i2c-2: IMX I2C adapter registered
    i2c i2c-3: IMX I2C adapter registered
    
     
  3. ctassell

    ctassell UDOOer

    Joined:
    Apr 9, 2015
    Messages:
    19
    Likes Received:
    2
    Hmm, can you check your /gpio directory (if you are using the base UdooBuntu image) to see if you have GPIO entries for pins 34 and 35? On my unit I see that they are still there and setup as inputs, where I would have thought that they would not be available as GPIOs if they were in use by I2C.
    I do see all of the i2c buses, and I see the two built-in devices (the accelerometer and gyroscope) that are on i2c-4, I just can't see the i2c device I added to the bus. I'm trying to figure out if the problem is my chip isn't wired correctly or if it's a DTD issue.
    I'll try the custom DTS lines you mentioned in the other I2C post I saw to see if that helps.
     
  4. waltervl

    waltervl UDOOer

    Joined:
    Dec 12, 2015
    Messages:
    2,314
    Likes Received:
    580
    I can confirm on my Neo basic (without the accelerometer and gyroscope) that connecting an I2C device to pin 34/35 will show up the device with i2cdetect -y 3
    I have the default setup in the device three (i2c bus 4 assigned to pin 34/35)
    When i do a ls /gpio I have no pin 34/35

    What about going to reset configuration in the device tree editor, save and reboot?
     
    Last edited: Aug 29, 2016

Share This Page