This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

EPI GP vs HB16 mode

Sorry if this is a duplicate.  My original post was apparently not successful.


We have a TM4C129 connected to an FPGA with separate address+data.  Loading the FPGA doesn't work in GP mode because EPI_WR is is the wrong polarity.  Switching to HB16 mode so EPI_WR to clocks data out on the rising edge at the end of the write cycle doesn't drive any EPI signals at all.

This works:

EPIModeSet(EPI0_BASE, EPI_MODE_GENERAL);
EPIConfigGPModeSet(    EPI0_BASE, // ui32Base
                    EPI_GPMODE_CLKPIN | EPI_GPMODE_ASIZE_12 | EPI_GPMODE_DSIZE_16, // ui32Config
                    0, // ui32FrameCount
                    0);// ui32MaxWait
EPIAddressMapSet(EPI0_BASE, EPI_ADDR_PER_BASE_A | EPI_ADDR_PER_SIZE_64KB);// BASE_A->0xa0000000

This does not:

EPIModeSet(EPI0_BASE, EPI_MODE_HB16);
EPIConfigHB16Set(    EPI0_BASE, // ui32Base
                    EPI_HB16_MODE_ADDEMUX | EPI_HB16_CSCFG_CS, // ui32Config
                    0xff);// ui32MaxWait
EPIAddressMapSet(EPI0_BASE, EPI_ADDR_PER_BASE_A | EPI_ADDR_PER_SIZE_64KB);// BASE_A->0xa0000000

What am I doing wrong for HB16 mode?  Thanks.