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.

Possible bug in AM572x_pad_config.gel

ccsv6\ccs_base\emulation\boards\am572x\gel\AM572x_pad_config.gel

In AM572x_PAD_MMC2_Config(), the following settings are made for the MMC2_DAT[7:0] pads (here I am just showing MMC2_DAT0 as an example):

/* MMC2_DAT0 */
SYSCFG_WR_CFG_PAD (SYSCFG_PAD_GPMC_A24,
SYSCFG_PAD_GPMC_A24_MMC2_DAT0,
SYSCFG_PULLUD_ENABLE_ENABLE,
SYSCFG_PULLTYPE_SELECT_PULLUP,
SYSCFG_INPUT_ENABLE_ENABLE,
SYSCFG_SLEW_CONTROL_NA,
SYSCFG_WAKEUP_ENABLE_DISABLE);

The lines shown in bold seem to be enabling the weak internal pull-up resistor for the pad, which makes sense as a workaround for erratum i863, "MMC2 has PU/PD contention immediately after release from reset." My concern is with the definition of SYSCFG_PULLUD_ENABLE_ENABLE earlier in the file:

/**
* @TYPE SYSCFG_PullUDEnable_t
*
* @BRIEF Enumerated Type used to specify the pull-Up/Down selection
*
* @DESCRIPTION Enumerated Type used to specify the pull-Up/Down selection
*
*/
#define SYSCFG_PULLUD_ENABLE_DISABLE (0x00)
#define SYSCFG_PULLUD_ENABLE_NA 0xFF
#define SYSCFG_PULLUD_ENABLE_ENABLE 0x01

This contradicts the bit meanings given for the PULLUDENABLE bit in section 18.4.6.1.1 of the TRM:

0b0 = Weak pull-up/pull-down resistor is enabled
0b1 = Weak pull-up/pull-down resistor is disabled

Please correct me if I am missing something here, but it seems that the GEL file is actually disabling the PU/PD on the MMC2_DAT[7:0] pads. Thanks as always.

Best regards,
Dave