I'm using the ADC channels on the beaglebone black from the PRU, problem is the ADC hangs from time to time and the only way I've found to unlock it is to do a reboot of the board. I've tried to injecting noise into the ground and that seem to reproduce the problem fairly quickly. All other functions on the board seem to work normally. Sometimes injecting even more noise makes it unlock again....
Reading the ADCSTAT register shows STEP_ID stuck at some step and FSM_BUSY=1. I've also checked CM_WKUP_CLKSTCTRL and CM_WKUP_ADC_TSC_CLKCTRL and find no problems.