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.

PROCESSOR-SDK-AM335X: Cannot set register SMA2 bit 0 to 1 in u-boot

Part Number: PROCESSOR-SDK-AM335X

Hello,

We are using the pin U16 for RMII. The DTS file generated from the syscfg tool mentioned that to use this pin for this function, the bit 0 of register SMA2 should be set to 1. It also has a code snipped to do so in the board_init function. We added the code in our board.c

When we boot into u-boot and check the value of this register by using the below command:

md 0x44e11320 1

we see that the bit 0 is still 0.

What are we missing here?

DO we need to add anything to the DTS or the pinmux?

I added the below code in board_init function, but this did not help either:

static struct module_pin_mux rmii1_pin_mux[] = {
	{OFFSET(gpmc_a9), MODE(3) },
	{-1},
}

int board_init(void)
{
    ...
	 * This is to fix
	 * the issue with RMII refclock not available. ERRATA
	 */

	writel(0xF6, GMII_SEL_REG_ADDR);
	
	/*
	 * Selection of Pin U16 for gpmc_a9.rmii2_crs_dv requires
	 * an additional register sma2 setting in the Control Module.
	 */
	
	writel(0x01, SMA2_REG_ADDR);	
	configure_module_pin_mux(rmii1_pin_mux);

	return 0;
}

Appreciate any help.

Regards