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
committed 08:57PM - 26 Jul 22 UTC
Signed-off-by: Robert Nelson <robertcnelson@gmail.com>
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