summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorOleksij Rempel <o.rempel@pengutronix.de>2021-10-06 10:43:19 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2021-10-11 11:35:54 +0200
commit3f5a5a490a0ea2737425ad8a3255d6bf6d97144d (patch)
tree7da5957c39a023c54c5958f2c4e29786e4223b8b /arch
parenta6a753884bb48124d821e67c5883e269f152d4db (diff)
downloadbarebox-3f5a5a490a0ea2737425ad8a3255d6bf6d97144d.tar.gz
barebox-3f5a5a490a0ea2737425ad8a3255d6bf6d97144d.tar.xz
ARM: boards: skov-imx6: disable eth0 for barebox if no switch is detected
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> Link: https://lore.barebox.org/20211006084323.14051-5-o.rempel@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/boards/skov-imx6/board.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/arm/boards/skov-imx6/board.c b/arch/arm/boards/skov-imx6/board.c
index 1fa691945e..f42a0cad00 100644
--- a/arch/arm/boards/skov-imx6/board.c
+++ b/arch/arm/boards/skov-imx6/board.c
@@ -529,6 +529,7 @@ static void skov_init_board(const struct board_description *variant)
static int skov_switch_test(void)
{
struct phy_device *phydev;
+ struct device_d *eth0;
struct mii_bus *mii;
int ret;
@@ -556,6 +557,15 @@ no_switch:
pr_notice("No-switch variant is detected\n");
+ eth0 = get_device_by_name("eth0");
+ if (eth0) {
+ ret = dev_set_param(eth0, "mode", "disabled");
+ if (ret)
+ pr_warn("Can't set eth0 mode\n");
+ } else {
+ pr_warn("Can't disable eth0\n");
+ }
+
return 0;
}
late_initcall(skov_switch_test);