BBAI-64 I2C-1 and I2C-5 not working

Hello BB community!

I have two imx293 cameras connected to CSI port 0 and 1 on my BBAI-64. From the schematic, I see that on this ports, we have I2C5 and I2C1 of the processor on those ports. The problem is that when I try using i2ctools on those buses, I am not able to comunicate with any slave on that bus and when I try i2cdetect, I do see on the serial debuger that the controller timed out: Please see the and example of the log here:
– [ 132.214088] omap_i2c 40b10000.i2c: controller timed out
– [ 133.238129] omap_i2c 40b10000.i2c: controller timed out
– [ 134.294092] omap_i2c 40b10000.i2c: controller timed out
– [ 135.350094] omap_i2c 40b10000.i2c: controller timed out

I am wondering if this two buses are somehow disabled at boot. I am not doing any overlay at all. How can I enable this communication?

Thanks!!

Hi @LuisRivera sorry, been working on these…

These 3 i2c bus pairs are now active:

https://elinux.org/Beagleboard:BeagleBone_cape_interface_spec#I2C

Since there are 10 i2c bu’s on this chip, we have a helper…

debian@BeagleBone:/opt/source/dtb-5.10-ti-arm64$ dmesg | grep i2c
[    1.491519] i2c /dev entries driver
[    1.730529] omap_i2c 40b00000.i2c: bus 0 rev0.12 at 100 kHz
[    1.736701] omap_i2c 40b10000.i2c: bus 1 rev0.12 at 100 kHz
[    1.777961] omap_i2c 42120000.i2c: bus 2 rev0.12 at 400 kHz
[    1.784228] omap_i2c 2000000.i2c: bus 3 rev0.12 at 400 kHz
[    1.791251] omap_i2c 2010000.i2c: bus 4 rev0.12 at 400 kHz
[    1.797579] omap_i2c 2020000.i2c: bus 5 rev0.12 at 100 kHz
[    1.803734] omap_i2c 2030000.i2c: bus 6 rev0.12 at 400 kHz
[    1.809993] omap_i2c 2040000.i2c: bus 7 rev0.12 at 100 kHz
[    1.816632] omap_i2c 2050000.i2c: bus 8 rev0.12 at 400 kHz
[    1.822962] omap_i2c 2060000.i2c: bus 9 rev0.12 at 100 kHz
debian@BeagleBone:/opt/source/dtb-5.10-ti-arm64$ ls -l /dev/bone/i2c/
total 0
lrwxrwxrwx 1 root root 11 Mar 20 19:55 1 -> ../../i2c-9
lrwxrwxrwx 1 root root 11 Mar 20 19:55 2 -> ../../i2c-5
lrwxrwxrwx 1 root root 11 Mar 20 19:55 3 -> ../../i2c-7
debian@BeagleBone:/opt/source/dtb-5.10-ti-arm64$ sudo i2cdetect -y -r 9
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- 4c -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         
debian@BeagleBone:/opt/source/dtb-5.10-ti-arm64$ sudo i2cdetect -y -r 7
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- 4c -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- -- 

These will be part of 5.10.120-ti-arm64-r55 later tongith…

But to use today, just:

debian@BeagleBone:~$ cd /opt/source/dtb-5.10-ti-arm64/
debian@BeagleBone:/opt/source/dtb-5.10-ti-arm64$ git pull
Already up to date.
debian@BeagleBone:/opt/source/dtb-5.10-ti-arm64$ make
debian@BeagleBone:/opt/source/dtb-5.10-ti-arm64$ sudo make install

Then add:

fdtoverlays /overlays/BONE-I2C1.dtbo /overlays/BONE-I2C2.dtbo /overlays/BONE-I2C3.dtbo

or which bus you want to /boot/firmware/extlinux/extlinux.conf

and reboot…

debian@BeagleBone:/opt/source/dtb-5.10-ti-arm64$ sudo reboot

Regards,

2 Likes

Luis, do you have these cameras working on the Ai-64? If so can you tell me more about them, I can’t seem to find anything about the IMX293 but would like to get a IMX219 or similar working.

Hello, I do not have this working yet. Still figuring out. I will let you know if I make something work

I think I’ve followed these instructions, but I haven’t gotten it to work. The git pull worked fine, as did make and sudo make install. Here’s my extlinux.conf:

debian@BagelBane:/opt/source/dtb-5.10-ti-arm64$ cat /boot/firmware/extlinux/extlinux.conf 
label Linux eMMC
    kernel /Image
    append console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 root=/dev/mmcblk0p2 ro rootfstype=ext4 rootwait net.ifnames=0
    fdtdir /
    initrd /initrd.img
    fdtoverlays /overlays/BONE-I2C1.dtbo /overlays/BONE-I2C2.dtbo /overlays/BONE-I2C3.dtbo

but I’ve rebooted, and doing an ls /dev/bone still doesn’t turn up an i2c subdirectory. Any ideas what I should try next or what I should investigate to help narrow down the problem? Thanks for the help!

please run and share the output of:

sudo beagle-version

Regards,

debian@BagelBane:/sys/class/i2c-dev$ sudo beagle-version 
[sudo] password for debian: 
eeprom:[BBONEAI-64-B0-B0007801B00001641922BBBBBB0118]
model:[BeagleBoard.org_BeagleBone_AI-64]
dogtag:[BeagleBoard.org Debian Bullseye Xfce Image 2022-01-14]
bootloader:[/dev/mmcblk0boot0]:[tiboot3.bin]:[U-Boot SPL 2021.01-g3419da0b (Jan 13 2022 - 15:29:57 +0000)]
bootloader:[/dev/mmcblk0]:[/boot/firmware/tiboot3.bin]:[U-Boot SPL 2021.01-g3419da0b (Jan 13 2022 - 15:29:57 +0000)]
bootloader:[/dev/mmcblk0]:[/boot/firmware/tispl.bin]:[U-Boot SPL 2021.01-g3419da0b (Jan 13 2022 - 15:29:57 +0000)]
bootloader:[/dev/mmcblk0]:[/boot/firmware/u-boot.img]:[U-Boot 2021.01-g3419da0b (Jan 13 2022 - 15:29:57 +0000)]
UBOOT: Booted Device-Tree:[k3-j721e-beagleboneai64.dts]
kernel:[5.10.90-ti-arm64-r28]
nodejs:[v12.22.12]
pkg check: to individually upgrade run: [sudo apt install --only-upgrade <pkg>]
pkg:[bb-u-boot-beagleboneai64]:[2021.10.20221027.1-0~bullseye+20221128]
pkg:[bb-customizations]:[1.20221230.0-0~bullseye+20221230]
pkg:[bb-usb-gadgets]:[1.20220816.0-0~bullseye+20220816]
cmdline:[console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 root=/dev/mmcblk0p2 ro rootfstype=ext4 rootwait net.ifnames=0]
dmesg | grep remote
[    6.841146] remoteproc remoteproc0: b034000.pru is available
[    6.862631] remoteproc remoteproc1: b004000.rtu is available
[    6.871486] remoteproc remoteproc2: b00a000.txpru is available
[    6.877696] remoteproc remoteproc3: b038000.pru is available
[    6.883843] remoteproc remoteproc4: b006000.rtu is available
[    6.890016] remoteproc remoteproc5: b00c000.txpru is available
[    6.896365] remoteproc remoteproc6: b134000.pru is available
[    6.902480] remoteproc remoteproc7: b104000.rtu is available
[    6.908607] remoteproc remoteproc8: b10a000.txpru is available
[    6.914808] remoteproc remoteproc9: b138000.pru is available
[    6.920916] remoteproc remoteproc10: b106000.rtu is available
[    6.927144] remoteproc remoteproc11: b10c000.txpru is available
[    9.557888] k3-dsp-rproc 4d80800000.dsp: configured DSP for remoteproc mode
[    9.782809] remoteproc remoteproc12: 4d80800000.dsp is available
[    9.789322] remoteproc remoteproc12: Direct firmware load for vision_apps_eaik/vx_app_rtos_linux_c6x_1.out failed with error -2
[    9.789330] remoteproc remoteproc12: powering up 4d80800000.dsp
[    9.806931] remoteproc remoteproc12: Direct firmware load for vision_apps_eaik/vx_app_rtos_linux_c6x_1.out failed with error -2
[    9.818404] remoteproc remoteproc12: request_firmware failed: -2
[    9.894933] k3-dsp-rproc 4d81800000.dsp: configured DSP for remoteproc mode
[   10.001118] remoteproc remoteproc13: 4d81800000.dsp is available
[   10.073358] remoteproc remoteproc13: Direct firmware load for vision_apps_eaik/vx_app_rtos_linux_c6x_2.out failed with error -2
[   10.136941] remoteproc remoteproc13: powering up 4d81800000.dsp
[   10.142921] remoteproc remoteproc13: Direct firmware load for vision_apps_eaik/vx_app_rtos_linux_c6x_2.out failed with error -2
[   10.154697] remoteproc remoteproc13: request_firmware failed: -2
[   10.517196] k3-dsp-rproc 64800000.dsp: configured DSP for remoteproc mode
[   10.988038] remoteproc remoteproc14: 64800000.dsp is available
[   11.014718] remoteproc remoteproc15: 41000000.r5f is available
[   11.053719] remoteproc remoteproc15: attaching to 41000000.r5f
[   11.323657]  remoteproc15#vdev0buffer: assigned reserved memory node vision-apps-r5f-dma-memory@a0000000
[   11.387537]  remoteproc15#vdev0buffer: registered virtio0 (type 7)
[   11.494952] remoteproc remoteproc14: Direct firmware load for vision_apps_eaik/vx_app_rtos_linux_c7x_1.out failed with error -2
[   11.509497] remoteproc remoteproc14: powering up 64800000.dsp
[   11.515357] remoteproc remoteproc14: Direct firmware load for vision_apps_eaik/vx_app_rtos_linux_c7x_1.out failed with error -2
[   11.533383] remoteproc remoteproc14: request_firmware failed: -2
[   11.730902] remoteproc remoteproc15: remote processor 41000000.r5f is now attached
[   11.813043] platform 5c00000.r5f: configured R5F for remoteproc mode
[   11.849274] remoteproc remoteproc16: 5c00000.r5f is available
[   11.857621] remoteproc remoteproc16: Direct firmware load for vision_apps_eaik/vx_app_rtos_linux_mcu2_0.out failed with error -2
[   11.869747] remoteproc remoteproc16: powering up 5c00000.r5f
[   11.875933] remoteproc remoteproc16: Direct firmware load for vision_apps_eaik/vx_app_rtos_linux_mcu2_0.out failed with error -2
[   11.895736] remoteproc remoteproc16: request_firmware failed: -2
[   11.907290] platform 5d00000.r5f: configured R5F for remoteproc mode
[   12.218728] remoteproc remoteproc17: 5d00000.r5f is available
[   12.224766] remoteproc remoteproc17: Direct firmware load for vision_apps_eaik/vx_app_rtos_linux_mcu2_1.out failed with error -2
[   12.242895] remoteproc remoteproc17: powering up 5d00000.r5f
[   12.248717] remoteproc remoteproc17: Direct firmware load for vision_apps_eaik/vx_app_rtos_linux_mcu2_1.out failed with error -2
[   12.265156] remoteproc remoteproc17: request_firmware failed: -2
[   12.294495] platform 5e00000.r5f: configured R5F for remoteproc mode
[   12.321520] remoteproc remoteproc18: 5e00000.r5f is available
[   12.329905] remoteproc remoteproc18: Direct firmware load for j7-main-r5f1_0-fw failed with error -2
[   12.342652] remoteproc remoteproc18: powering up 5e00000.r5f
[   12.352544] remoteproc remoteproc18: Direct firmware load for j7-main-r5f1_0-fw failed with error -2
[   12.366935] remoteproc remoteproc18: request_firmware failed: -2
[   12.397726] platform 5f00000.r5f: configured R5F for remoteproc mode
[   12.479351] remoteproc remoteproc19: 5f00000.r5f is available
[   12.485541] remoteproc remoteproc19: Direct firmware load for j7-main-r5f1_1-fw failed with error -2
[   12.498338] remoteproc remoteproc19: powering up 5f00000.r5f
[   12.504139] remoteproc remoteproc19: Direct firmware load for j7-main-r5f1_1-fw failed with error -2
[   12.516235] remoteproc remoteproc19: request_firmware failed: -2
dmesg | grep pru
[    6.841146] remoteproc remoteproc0: b034000.pru is available
[    6.871486] remoteproc remoteproc2: b00a000.txpru is available
[    6.877696] remoteproc remoteproc3: b038000.pru is available
[    6.890016] remoteproc remoteproc5: b00c000.txpru is available
[    6.896365] remoteproc remoteproc6: b134000.pru is available
[    6.908607] remoteproc remoteproc8: b10a000.txpru is available
[    6.914808] remoteproc remoteproc9: b138000.pru is available
[    6.927144] remoteproc remoteproc11: b10c000.txpru is available
dmesg | grep pinctrl-single
[    1.316897] pinctrl-single 4301c000.pinctrl: 94 pins, size 376
[    1.323196] pinctrl-single 11c000.pinctrl: 173 pins, size 692
dmesg | grep gpio-of-helper
lsusb
Bus 002 Device 002: ID 0451:8140 Texas Instruments, Inc. TUSB8041 4-Port Hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 04f3:152e Elan Microelectronics Corp. Gaming KB
Bus 001 Device 002: ID 0451:8142 Texas Instruments, Inc. TUSB8041 4-Port Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
lspci
00:00.0 PCI bridge: Texas Instruments Device b00d
END

Hi @Animator5573 , sorry your image is only about 6 months too old to run that.

Please grab any of the eMMC flashers from here: Debian 11.x (Bullseye) - Monthly Snapshots (ARM64)

and update first before trying to enable overlays.

Regards,

Yes, I’ve gotten it to work! Thanks very much.

For anyone else looking at this: not only do you need a recent image flashed onto your device, you also need to go through the instructions in this thread to enable the overlays.

1 Like