Hi,
I think it is okay to count encoder signal and implement the capture function with index signal.
You have three signal from encoder:PhaseA, PhaseB and inderx
Pls refer to section 29.6.5.6 Quadrature-Count Mode with Index Input as you have seen.
As you know that the quadTimer has 4 independent timer, T0, T1,T2 and T3.You can use two timers to implement the function, the T0 is configured in quadrature mode. Because the CMP is set up to 0, the T0 will generate event for each falling/rising edge of both PhaseA and PhaseB signals.
In detail, T0 is set up in quadrature mode, phaseA is connected to a pin specified T0.CTRL[PCS], phaseB is connected to pin specified with T0.CTRL[SCS], T0.CTRL[CM]=3b'100, quadrature mode.
The T1 is set up in Cascade-Count Mode, the T1.CTRL[PCS]=4'b0100; //counter0, T1.CTRL[SCS] is set up to the pin connected to index signal, you can set up the T1.SCTRL[capturemode] for the edge of capture, you can set the T1.CMP as the edge number for the BLDC commutation. When the index signal is coming, the edge number will be captured to capture register of T1.
Hope it can help you
BR
XiangJun Rong