Part Number: TMS320F28388D
Other Parts Discussed in Thread: SYSCONFIG
Tool/software:
Hi TI team,
I’m working on a test using the F28388D controlCARD and encountered a potential SysConfig issue when combining QEP2 and SCIB functionality on shared GPIOs.
Test Setup:
I routed the ABI signals from GPIO60, 58, and 59 via PWMXBAR to QEP2. In SysConfig, I configured QEP2 inputs to use GPIO54 (A), GPIO55 (B), and GPIO57 (Index). At the same time, I wanted to use GPIO54 and GPIO55 for SCIB_TX and SCIB_RX, respectively.
Issue:
When assigning SCIB_TX and SCIB_RX to GPIO54 and GPIO55 in the SysConfig SCI module, I receive a resource conflict error and the project fails to build.
[Image 1: SCI resource conflict]

[Image 2: EQEP2 via PWMXBAR configuration]

Observation:
If I manually configure GPIO54 and GPIO55 for SCIB after calling Board_init(), the project builds and both QEP2 and SCIB functions work correctly at runtime.
Here’s the relevant code after Board_init():
// SCIB GPIO manual setup GPIO_setPinConfig(GPIO_55_SCIB_RX); GPIO_setPadConfig(55, GPIO_PIN_TYPE_STD | GPIO_PIN_TYPE_PULLUP); GPIO_setQualificationMode(55, GPIO_QUAL_ASYNC); GPIO_setPinConfig(GPIO_54_SCIB_TX); GPIO_setPadConfig(54, GPIO_PIN_TYPE_STD | GPIO_PIN_TYPE_PULLUP); GPIO_setQualificationMode(54, GPIO_QUAL_ASYNC); // SCIB initialization SCI_clearInterruptStatus(SCIB_BASE, SCI_INT_RXFF | SCI_INT_TXFF | ... ); SCI_clearOverflowStatus(SCIB_BASE); SCI_resetTxFIFO(SCIB_BASE); SCI_resetRxFIFO(SCIB_BASE); SCI_resetChannels(SCIB_BASE); SCI_setConfig(SCIB_BASE, 50000000, 115200, (SCI_CONFIG_WLEN_8 | SCI_CONFIG_STOP_ONE | SCI_CONFIG_PAR_NONE)); SCI_disableLoopback(SCIB_BASE); SCI_performSoftwareReset(SCIB_BASE); SCI_setFIFOInterruptLevel(SCIB_BASE, SCI_FIFO_TX0, SCI_FIFO_RX0); SCI_enableFIFO(SCIB_BASE); SCI_enableModule(SCIB_BASE);
And PWMXBAR routing:
XBAR_enableEPWMMux(XBAR_TRIP4, XBAR_MUX01); XBAR_setInputPin(INPUTXBAR_BASE, XBAR_INPUT1, 60); XBAR_setEPWMMuxConfig(XBAR_TRIP4, XBAR_EPWM_MUX01_INPUTXBAR1); XBAR_enableEPWMMux(XBAR_TRIP5, XBAR_MUX03); XBAR_setInputPin(INPUTXBAR_BASE, XBAR_INPUT2, 58); XBAR_setEPWMMuxConfig(XBAR_TRIP5, XBAR_EPWM_MUX03_INPUTXBAR2); XBAR_enableEPWMMux(XBAR_TRIP7, XBAR_MUX05); XBAR_setInputPin(INPUTXBAR_BASE, XBAR_INPUT3, 59); XBAR_setEPWMMuxConfig(XBAR_TRIP7, XBAR_EPWM_MUX05_INPUTXBAR3);
Questions:
-
Is this a known SysConfig limitation or bug?
-
When routing signals to QEPx using PWMXBAR, should the corresponding QEPx GPIOs remain available for other peripheral muxing?
-
Is manually overriding the muxing after
Board_init()the recommended workaround in such a case?
Thanks in advance for your support!
