Hello,
We are experiencing an issue with the ADC where it seems it is locking up occasionally and we suspect it is from ESD. I have found the following posts claiming the same thing where the FSM_BUSY bit is set and powering down or resetting via the CTRL register has no effect. Is there another way to power down the ADC to reset it without powering down the entire processor? I have simulated a lockout as mentioned in the following posts by setting PWR_DOWN with the ENABLE bit set int the CTRL register which always causes an FSM_BUSY but I am unable to recover from it.
Here are the following posts I have seen that are related to our issue.
http://e2e.ti.com/support/arm/sitara_arm/f/791/t/290761.aspx
http://e2e.ti.com/support/arm/sitara_arm/f/791/t/349944.aspx
Here is the reg dump when the lockout occurs the strange thing is we receive a HW_Pen_Event_asynchronous even though all the touchscreen support is disabled. We are running Linux Kernel 3.8.13
Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: Unable to read from AIN 6 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0000000000 value 0x47300001 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x00000010 value 0x0000000c Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x00000024 value 0x00000023 IRQSTATUS_RAW HW_Pen_Event_asynchronous | End_of_Sequence | FIFO1_Threshold Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x00000028 value 0000000000 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x0000002c value 0000000000 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x00000030 value 0000000000 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x00000034 value 0000000000 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x00000038 value 0000000000 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x0000003c value 0000000000 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x00000040 value 0x00000007 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x00000044 value 0x0000002c Step_13 | FSM_BUSY Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x00000048 value 0000000000 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x0000004c value 0x00000007 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x00000050 value 0000000000 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x00000054 value 0x0001c000 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x00000058 value 0000000000 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x0000005c value 0000000000 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x00000060 value 0x00000001 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x00000064 value 0000000000 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x00000068 value 0000000000 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x0000006c value 0000000000 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x00000070 value 0000000000 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x00000074 value 0000000000 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x00000078 value 0000000000 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x0000007c value 0000000000 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x00000080 value 0000000000 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x00000084 value 0000000000 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x00000088 value 0000000000 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x0000008c value 0000000000 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x00000090 value 0000000000 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x00000094 value 0000000000 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x00000098 value 0000000000 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x0000009c value 0000000000 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x000000a0 value 0000000000 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x000000a4 value 0x04000010 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x000000a8 value 0x00000098 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x000000ac value 0x04080010 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x000000b0 value 0x00000098 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x000000b4 value 0x04100010 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x000000b8 value 0x00000098 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x000000bc value 0x04180010 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x000000c0 value 0x00000098 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x000000c4 value 0x04200010 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x000000c8 value 0x00000098 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x000000cc value 0x04280010 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x000000d0 value 0x00000098 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x000000d4 value 0x04300010 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x000000d8 value 0x00000098 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x000000dc value 0x04380010 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x000000e0 value 0x00000098 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x000000e4 value 0000000000 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x000000e8 value 0000000000 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x000000ec value 0000000000 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x000000f0 value 0x00000004 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x000000f4 value 0000000000 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x000000f8 value 0000000000 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x00000100 value 0x000100e5 Nov 11 22:52:19 Agent-20cd39fc8c1c user.err MuxIO: ADC register 0x00000200 value 0x000808d7