beagleboard / linux

The official Read Only BeagleBoard and BeagleBone kernel repository https://git.beagleboard.org/beagleboard/linux
http://beagleboard.org/source
Other
707 stars 565 forks source link

I2C - omap_i2c 4802a000.i2c: timeout waiting for bus ready #244

Closed juvinski closed 3 years ago

juvinski commented 3 years ago

Hi guys,

I´m trying to use the I2C bus with 4.19 version and when I try to read from i2c I´m receiving this error message for 5 minutes, after that the sensors can be readed and working fine. this are the messages: [ 74.754270] IPv6: ADDRCONF(NETDEV_CHANGE): can1: link becomes ready [ 110.042210] omap_i2c 4802a000.i2c: timeout waiting for bus ready

<5 minutes getting this message> [ 402.898209] omap_i2c 4802a000.i2c: timeout waiting for bus ready I tried with 4.7k resistors on the i2c bus, removed the resistors and the behavior are the same. I use the same board with 4.4 without problems. Is a cape for ardupilot and Im developing the same board for pocketbeagle. version script: root@beaglebone:/opt/scripts/tools# ./version.sh git:/opt/scripts/:[7cdc270818b76d829d247cf05fe309c320a3929a] eeprom:[A335PBGL00A21737GPB40577] model:[TI_AM335x_PocketBeagle] dogtag:[BeagleBoard.org Debian Stretch Console Image 2020-08-10] bootloader:[microSD]:[/dev/mmcblk0]:[U-Boot 2019.04-00002-g23f263cc3f]:[location: dd MBR] UBOOT: Booted Device-Tree:[am335x-pocketbeagle.dts] UBOOT: Loaded Overlay:[AM335X-PRU-UIO-00A0] UBOOT: Loaded Overlay:[BB-ADC-00A0] kernel:[4.19.120-bone-rt-r50] /boot/uEnv.txt Settings: uboot_overlay_options:[enable_uboot_overlays=1] uboot_overlay_options:[disable_uboot_overlay_video=1] uboot_overlay_options:[disable_uboot_overlay_audio=1] uboot_overlay_options:[uboot_overlay_pru=/lib/firmware/AM335X-PRU-UIO-00A0.dtbo] uboot_overlay_options:[enable_uboot_cape_universal=1] pkg check: to individually upgrade run: [sudo apt install --only-upgrade ] pkg:[bb-cape-overlays]:[4.14.20200814.0-0~stretch+20200814] pkg:[bb-wl18xx-firmware]:[1.20200813.1-0~stretch+20200813] pkg:[kmod]:[23-2rcnee1~stretch+20171005] WARNING:pkg:[librobotcontrol]:[NOT_INSTALLED] pkg:[firmware-ti-connectivity]:[20190717-2rcnee1~stretch+20200305] groups:[debian : debian adm kmem dialout cdrom floppy audio dip video plugdev users systemd-journal input bluetooth netdev gpio admin spi iio i2c docker tisdk weston-launch xenomai cloud9ide pwm eqep remoteproc] cmdline:[console=ttyO0,115200n8 root=/dev/mmcblk0p1 ro rootfstype=ext4 rootwait coherent_pool=1M net.ifnames=0 lpj=1990656 rng_core.default_quality=100 quiet] dmesg | grep remote [ 0.780114] remoteproc remoteproc0: wkup_m3 is available [ 0.883996] remoteproc remoteproc0: powering up wkup_m3 [ 0.884019] remoteproc remoteproc0: Booting fw image am335x-pm-firmware.elf, size 217168 [ 0.889250] remoteproc remoteproc0: remote processor wkup_m3 is now up dmesg | grep pru dmesg | grep pinctrl-single [ 0.592497] pinctrl-single 44e10800.pinmux: 142 pins, size 568 dmesg | grep gpio-of-helper [ 0.600261] gpio-of-helper ocp:cape-universal: ready END thanks
juvinski commented 3 years ago

Hi guys,

the problem is the ardupilot is trying to get exclusive access to i2c-1 and trying to create a device. The kernel is right.