PRU 1 is not able to get ehrpwm module(s) to initialize or function.
I followed the USE CASE 15.28 on page 2261 of TRM (spruh731.pdf). The initialization procedure in Table 15-20 on page 2262.
Here is the Initialization code:
PWMSS0.EPWM_TBPRD = 600;
PWMSS0.EPWM_TBPHS = 0;
PWMSS0.EPWM_TBCNT = 0;
PWMSS0.EPWM_TBCTL = 0x30;
PWMSS0.EPWM_CMPA = 350;
PWMSS0.EPWM_CMPB = 200;
PWMSS0.EPWM_CMPCTL = 0x0;
PWMSS0.EPWM_AQCTLA = 0x12;
PWMSS0.EPWM_AQCTLB = 0x102;
PWMSS1.EPWM_TBPRD = 600;
PWMSS1.EPWM_TBPHS = 0;
PWMSS1.EPWM_TBCNT = 0;
PWMSS1.EPWM_TBCTL = 0x30;
PWMSS1.EPWM_CMPA = 350;
PWMSS1.EPWM_CMPB = 200;
PWMSS1.EPWM_CMPCTL = 0x0;
PWMSS1.EPWM_AQCTLA = 0x12;
PWMSS1.EPWM_AQCTLB = 0x102;
Here is my Device Tree:
pinctrl-single,pins = <
0x1a0 (PIN_INPUT_PULLDOWN | MUX_MODE1) // eQEP0A P9-42
0x1a4 (PIN_INPUT_PULLDOWN | MUX_MODE1) // eQEP0B P9-27
0x1a8 (PIN_INPUT_PULLDOWN | MUX_MODE1) // eQEP0index P9-41
0x1ac (PIN_INPUT_PULLDOWN | MUX_MODE1) // eQEP0Strobe P9-25
0x048 (PIN_OUTPUT_PULLDOWN | MUX_MODE6) // ehrpwm1A P9-14 PWM
//
0x0d0 (PIN_INPUT_PULLDOWN | MUX_MODE2) // eQEP1A P8-35
0x0d4 (PIN_INPUT_PULLDOWN | MUX_MODE2) // eQEP1B P8-33
0x0d8 (PIN_INPUT_PULLDOWN | MUX_MODE2) // eQEP1index P8-31
0x0dC (PIN_INPUT_PULLDOWN | MUX_MODE2) // eQEP1Strobe P8-32
0x04c (PIN_OUTPUT_PULLDOWN | MUX_MODE6) // ehrpwm1B P9-16 PWM
//
0x030 (PIN_INPUT_PULLDOWN | MUX_MODE4) // eQEP2A P8-12
0x034 (PIN_INPUT_PULLDOWN | MUX_MODE4) // eQEP2B P8-11
0x038 (PIN_INPUT_PULLDOWN | MUX_MODE4) // eQEP2index P8-16
0x03c (PIN_INPUT_PULLDOWN | MUX_MODE4) // eQEP2Strobe P8-15
0x154 (PIN_INPUT_PULLDOWN | MUX_MODE3) // ehrpwm0B P9-21 PWM
/
Whats missing?
Regards,
Mike