Am Donnerstag, 15. September 2016 23:26:24 UTC+2 schrieb Phil:
>
> (1) I know this because I tried reading the ADC REVISION register using 
> the PRU and got zero as a result.
>

It takes some cycles before the ADC is up and running. Check the ID 
register several times. In libpruio it works similar to this snippet (find 
original code in file pruio_adc.p):

  LDI  r2, 0b10             // load clock demand value
  MOV  r1, 0x44E004BC       // load CM_WKUP_ADC_TSC_CLKCTRL address
  SBBO r2, r1, 0, 1         // write clock register
  LDI  r5, 0                // clear timeout counter
  MOV  r3, 0x44E0D000       // load ADC address
AdcWait:
  LBBO r0, r3,  0, 4        // load ADC REVISION
  QBNE AdcCopy, r0, 0       // if ADC is up -> copy config
  ADD  r5, r5, 1            // increase timeout counter
  QBGE AdcWait, r5.b1, 16   // if no timeout -> wait

AdcCopy:

Regards
 

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to beagleboard+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beagleboard/8b026fec-1f54-4566-a260-b7741ea25cc0%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to