mirror of
https://xff.cz/git/u-boot/
synced 2025-09-02 17:22:22 +02:00
arm: am335x: DXR2: Move unconditional LAN9303 reset into command
The switch HW reset results in a disconnection of the switch port daisy- chain for a few seconds. This is not desired in the normal field use case. So lets remove this switch reset from the normal bootup sequence and move it into a board specific command. This way it can be executed in the development environment when really needed. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Roger Meier <r.meier@siemens.com> Cc: Lukas Stockmann <lukas.stockmann@siemens.com> Cc: Tom Rini <trini@ti.com>
This commit is contained in:
@@ -232,13 +232,6 @@ int board_eth_init(bd_t *bis)
|
|||||||
|
|
||||||
factoryset_setenv();
|
factoryset_setenv();
|
||||||
|
|
||||||
/* Reset SMSC LAN9303 switch for default configuration */
|
|
||||||
gpio_request(GPIO_LAN9303_NRST, "nRST");
|
|
||||||
gpio_direction_output(GPIO_LAN9303_NRST, 0);
|
|
||||||
/* assert active low reset for 200us */
|
|
||||||
udelay(200);
|
|
||||||
gpio_set_value(GPIO_LAN9303_NRST, 1);
|
|
||||||
|
|
||||||
/* Set rgmii mode and enable rmii clock to be sourced from chip */
|
/* Set rgmii mode and enable rmii clock to be sourced from chip */
|
||||||
writel((RMII_MODE_ENABLE | RMII_CHIPCKL_ENABLE), &cdev->miisel);
|
writel((RMII_MODE_ENABLE | RMII_CHIPCKL_ENABLE), &cdev->miisel);
|
||||||
|
|
||||||
@@ -249,6 +242,25 @@ int board_eth_init(bd_t *bis)
|
|||||||
n += rv;
|
n += rv;
|
||||||
return n;
|
return n;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int do_switch_reset(cmd_tbl_t *cmdtp, int flag, int argc,
|
||||||
|
char *const argv[])
|
||||||
|
{
|
||||||
|
/* Reset SMSC LAN9303 switch for default configuration */
|
||||||
|
gpio_request(GPIO_LAN9303_NRST, "nRST");
|
||||||
|
gpio_direction_output(GPIO_LAN9303_NRST, 0);
|
||||||
|
/* assert active low reset for 200us */
|
||||||
|
udelay(200);
|
||||||
|
gpio_set_value(GPIO_LAN9303_NRST, 1);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
U_BOOT_CMD(
|
||||||
|
switch_rst, CONFIG_SYS_MAXARGS, 1, do_switch_reset,
|
||||||
|
"Reset LAN9303 switch via its reset pin",
|
||||||
|
""
|
||||||
|
);
|
||||||
#endif /* #if defined(CONFIG_DRIVER_TI_CPSW) */
|
#endif /* #if defined(CONFIG_DRIVER_TI_CPSW) */
|
||||||
#endif /* #if (defined(CONFIG_DRIVER_TI_CPSW) && !defined(CONFIG_SPL_BUILD)) */
|
#endif /* #if (defined(CONFIG_DRIVER_TI_CPSW) && !defined(CONFIG_SPL_BUILD)) */
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user