it seems my excitement was short-lived. While reading the position with the 
previous (and attached) code does work, it only does so when Teknoman's 
eqep driver is loaded. I've added writes to set up the PWMSS and eQEP 
configuration registers and have confirmed by reading them back that they 
are set up the same as the driver does. Any ideas on what I'm missing?

// Write the decoder control settings
*(unsigned short*)(pwm_map_base[0]+EQEP_OFFSET+QDECCTL) = 0;
// set maximum position to two's compliment of -1, aka UINT_MAX
*(unsigned long*)(pwm_map_base[0]+EQEP_OFFSET+QPOSMAX)=-1;
// Enable interrupt
*(uint16_t*)(pwm_map_base[0]+EQEP_OFFSET+QEINT) = UTOF;
// set unit period register
*(unsigned long*)(pwm_map_base[0]+EQEP_OFFSET+QUPRD)=0x5F5E100;
// enable counter in control register
*(unsigned short*)(pwm_map_base[0]+EQEP_OFFSET+QEPCTL) = 
PHEN|IEL0|SWI|UTE|QCLM;

SYSCONFIG 0xC
CLKCONFIG 0x111
QEPCTL0   0x9E
QDECCTL0  0x0
QEINT0    0x800
QUPRD0    0x5F5E100
QPOSMAX0  0xFFFFFFFF
QEPSTS0   0xA0
eqep0: -174 eqep1: 544 e^Cp2: 0


-- 
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 [email protected].
For more options, visit https://groups.google.com/d/optout.

Attachment: mmap_pwm.rar
Description: application/rar

Reply via email to