[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