Hi-
I am trying to configure the GPMC peripheral to interface through CS0 to an external FPGA. I have read through the documentation and all relevant e2e posts and still cannot get any response on the chip select or data lines. Relevant register configuration from my code is below:
#define GPMC_REGISTER_BASE_ADDR 0x50000000
#define GPMC_DATA_BASE_ADDR 0x01000000
// Configure various GPMC registers
GPMCCSConfig(GPMC_REGISTER_BASE_ADDR, GPMC_CHIP_SELECT_0, GPMC_CS_DISABLE);
GPMCDevSizeSelect(GPMC_REGISTER_BASE_ADDR, GPMC_CHIP_SELECT_0, GPMC_DEVICESIZE_16BITS);
GPMCAddrDataMuxProtocolSelect(GPMC_REGISTER_BASE_ADDR, GPMC_CHIP_SELECT_0, GPMC_MUXADDDATA_NOMUX);
GPMCCSTimingConfig(GPMC_REGISTER_BASE_ADDR, GPMC_CHIP_SELECT_0, GPMC_CS_TIMING_CONFIG(20, 20, GPMC_CS_EXTRA_NODELAY, 0));
GPMCRdAccessAndCycleTimeTimingConfig(GPMC_REGISTER_BASE_ADDR, GPMC_CHIP_SELECT_0, GPMC_RDACCESS_CYCLETIME_TIMING_CONFIG(20, 20, 12, 1));
GPMCWrAccessAndWrDataOnADMUXBusTimingConfig(GPMC_REGISTER_BASE_ADDR, GPMC_CHIP_SELECT_0, 31, 15);
GPMCBaseAddrSet(GPMC_REGISTER_BASE_ADDR, GPMC_CHIP_SELECT_0, (GPMC_DATA_BASE_ADDR >> 24));
GPMCMaskAddrSet(GPMC_REGISTER_BASE_ADDR, GPMC_CHIP_SELECT_0, GPMC_CS_SIZE_16MB);
GPMCCSConfig(GPMC_REGISTER_BASE_ADDR, GPMC_CHIP_SELECT_0, GPMC_CS_ENABLE);
After this configuration, I am simply trying to write to the GPMC_DATA_BASE_ADDR (we are trying to load an FPGA bitstream using CS0 as the configuration clock to the FPGA so specific address is not important). The write instruction executes, but there is no output on the chip select or data lines. My main concern is with the base address and mask. From my understanding of the TRM, a write to GPMC_DATA_BASE_ADDR should put me at the first location of my configured CS0 space. Through various trial and error, I sometimes saw a GPMC address error, though, so perhaps I am misunderstanding the base address parameter.
Also, I have verified my pinmux and clock initialization already. Is there something further I need to configure to begin using the GPMC chip select in asynchronous 16-bit mode?
Thank you for any insight you can offer!
Nate