[PATCH v2] board: ti: am335x: Conditional MDIO PAD configuration instead of static for AM335_ICE

Markus Schneider-Pargmann msp at baylibre.com
Tue Apr 21 15:12:27 CEST 2026


On Tue Apr 21, 2026 at 2:30 PM CEST, Parvathi Pudi wrote:
> This patch removes the static MDIO pinmux configuration from
> rmii1_pin_mux[] and instead configures the MDIO pins conditionally
> during board_init(). Previously, the MDIO_CLK and MDIO_DATA pins
> were always configured for CPSW in mux.c, which could lead to
> unnecessary pin ownership and conflicts in scenarios where CPSW
> is not used.
>
> With this change, the MDIO pins are configured only when required,
> ensuring that CPSW Ethernet functionality in U-Boot remains unaffected.
> This approach keeps Ethernet boot behavior intact and provides cleaner
> separation between CPSW and other Ethernet use cases.
>
> Signed-off-by: Parvathi Pudi <parvathi at couthit.com>

Reviewed-by: Markus Schneider-Pargmann <msp at baylibre.com>

Looks good to me, one nitpick inline:

> ---
> Changes from v1 to v2 :
> *) Adressed Markus Schneider-Pargmann's comments on this patch.
>
>  board/ti/am335x/board.c | 11 +++++++++++
>  board/ti/am335x/mux.c   |  2 --
>  2 files changed, 11 insertions(+), 2 deletions(-)
>
> diff --git a/board/ti/am335x/board.c b/board/ti/am335x/board.c
> index 90e37a8d913..f0a40cb82af 100644
> --- a/board/ti/am335x/board.c
> +++ b/board/ti/am335x/board.c
> @@ -28,6 +28,7 @@
>  #include <asm/arch/mmc_host_def.h>
>  #include <asm/arch/sys_proto.h>
>  #include <asm/arch/mem.h>
> +#include <asm/arch/mux.h>
>  #include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm/emif.h>
> @@ -72,6 +73,12 @@ static struct ctrl_dev *cdev = (struct ctrl_dev *)CTRL_DEVICE_BASE;
>  #define GPIO0_IRQSTATUSRAW	(AM33XX_GPIO0_BASE + 0x024)
>  #define GPIO1_IRQSTATUSRAW	(AM33XX_GPIO1_BASE + 0x024)
>  
> +static struct module_pin_mux rmii1_mdio_pin_mux[] = {
> +	{OFFSET(mdio_clk), MODE(0) | PULLUP_EN},	/* MDIO_CLK */
> +	{OFFSET(mdio_data), MODE(0) | RXACTIVE | PULLUP_EN}, /* MDIO_DATA */
> +	{-1},
> +};
> +
>  /*
>   * Read header information from EEPROM into global structure.
>   */
> @@ -779,6 +786,10 @@ int board_init(void)
>  			hang();
>  		}
>  
> +		/* Set the Mux Mode to MDIO_DATA, MDIO_CLK */

I think it is ovious by the names. Can you please remove the comment?

Best
Markus

> +		if (!eth0_is_mii)
> +			configure_module_pin_mux(rmii1_mdio_pin_mux);
> +
>  		prueth_is_mii = eth0_is_mii;
>  
>  		/* disable rising edge IRQs */
> diff --git a/board/ti/am335x/mux.c b/board/ti/am335x/mux.c
> index d2d87c304f6..36d849d2119 100644
> --- a/board/ti/am335x/mux.c
> +++ b/board/ti/am335x/mux.c
> @@ -190,8 +190,6 @@ static struct module_pin_mux mii1_pin_mux[] = {
>  };
>  
>  static struct module_pin_mux rmii1_pin_mux[] = {
> -	{OFFSET(mdio_clk), MODE(0) | PULLUP_EN},	/* MDIO_CLK */
> -	{OFFSET(mdio_data), MODE(0) | RXACTIVE | PULLUP_EN}, /* MDIO_DATA */
>  	{OFFSET(mii1_crs), MODE(1) | RXACTIVE},		/* MII1_CRS */
>  	{OFFSET(mii1_rxerr), MODE(1) | RXACTIVE},	/* MII1_RXERR */
>  	{OFFSET(mii1_txen), MODE(1)},			/* MII1_TXEN */

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 289 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20260421/efcfa24f/attachment.sig>


More information about the U-Boot mailing list