[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:18:10 CEST 2026


On Tue Apr 21, 2026 at 3:12 PM CEST, Markus Schneider-Pargmann wrote:
> 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>

Oops, that was supposed to be

Reviewed-by: Markus Schneider-Pargmann (TI) <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/e67f90fa/attachment.sig>


More information about the U-Boot mailing list