Part Number: AM5728
Hello,
We have a AM57xx-based design and are having trouble with hot-plugging 1-wire devices. We're using the 4.4 Linux kernel from the processor-sdk-linux-3.02.00 branch, with the omap_hdq.c driver for the 1-wire bus master interface.
The issues we're seeing are as follows:
- The kernel driver doesn't appear to respond to userspace requests in a timely way (e.g. "cat /sys/bus/w1/devices/w1_bus_master1/w1_master_attempts" can take ~15-30 seconds to actually respond).
- The interface only recognizes new devices on boot.
- The interface takes on the order of minutes to detect a device removal event
- The interface appears to lock up when hot-plugging a new device into the bus.
I enabled DEBUG in the kernel driver and looked at some of the logs, and I noticed that the PRESENCEDETECT bit of the HDQ_CTRL_STATUS register appears to immediately detect the device being removed, but that the Linux 1-wire interface takes several minutes to actually reflect that the device has been removed.
However, when plugging a new device into the bus, the bus appears to lock up--I stop getting HDQ interrupts, and all of the bus scanning calls time out (not via interrupt).
Any help with this would be appreciated!