From 648f8d5f6b1db3920e84ab5085568b1eb29b8c5e Mon Sep 17 00:00:00 2001 From: Tony Dinh Date: Tue, 25 Jan 2022 19:33:44 -0800 Subject: arm: kirkwood: GoFlex Home : Use Marvell uclass mvgbe and PHY driver for Ethernet MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The GoFlex Home board has the network chip Marvell 88E1116R. Use uclass mvgbe and the compatible driver M88E1118R to bring up Ethernet. - Currently, CONFIG_RESET_PHY_R symbol is used in arch/arm/mach-kirkwood/include/mach/config.h for all Kirkwood boards with mv8831116 PHY, with each board defines the function reset_phy(). Undefine it for this board. - Add board_eth_init() to use uclass mvgbe to bring up the network. And remove ad-hoc code. - Enable CONFIG_PHY_MARVELL to properly configure the network. - Miscellaneous changes: use CONFIG_SYS_THUMB_BUILD to keep u-boot image under 512K, use BIT macro, and cleanup comments. Signed-off-by: Tony Dinh Reviewed-by: Pali Rohár Reviewed-by: Stefan Roese --- include/configs/goflexhome.h | 32 +++++++++----------------------- 1 file changed, 9 insertions(+), 23 deletions(-) (limited to 'include') diff --git a/include/configs/goflexhome.h b/include/configs/goflexhome.h index 90e37d98535..c2795792683 100644 --- a/include/configs/goflexhome.h +++ b/include/configs/goflexhome.h @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: GPL-2.0+ */ /* + * Copyright (C) 2022 Tony Dinh * Copyright (C) 2013 Suriyan Ramasami * * Based on dockstar.h originally written by @@ -14,32 +15,18 @@ #ifndef _CONFIG_GOFLEXHOME_H #define _CONFIG_GOFLEXHOME_H +#include + /* * Default GPIO configuration and LED status */ #define GOFLEXHOME_OE_LOW (~(0)) #define GOFLEXHOME_OE_HIGH (~(0)) -#define GOFLEXHOME_OE_VAL_LOW (1 << 29) /* USB_PWEN low */ -#define GOFLEXHOME_OE_VAL_HIGH (1 << 17) /* LED pin high */ - -/* PHY related */ -#define MV88E1116_LED_FCTRL_REG 10 -#define MV88E1116_CPRSP_CR3_REG 21 -#define MV88E1116_MAC_CTRL_REG 21 -#define MV88E1116_PGADR_REG 22 -#define MV88E1116_RGMII_TXTM_CTRL (1 << 4) -#define MV88E1116_RGMII_RXTM_CTRL (1 << 5) +#define GOFLEXHOME_OE_VAL_LOW BIT(29) /* USB_PWEN low */ +#define GOFLEXHOME_OE_VAL_HIGH BIT(17) /* LED pin high */ #include "mv-common.h" -/* - * Environment variables configurations - */ -/* - * max 4k env size is enough, but in case of nand - * it has to be rounded to sector size - */ - /* * Default environment variables */ @@ -47,22 +34,21 @@ #define CONFIG_EXTRA_ENV_SETTINGS \ "console=console=ttyS0,115200\0" \ "mtdids=nand0=orion_nand\0" \ - "mtdparts="CONFIG_MTDPARTS_DEFAULT \ + "mtdparts=" CONFIG_MTDPARTS_DEFAULT \ "kernel=/boot/uImage\0" \ "bootargs_root=ubi.mtd=root root=ubi0:root rootfstype=ubifs ro\0" /* * Ethernet Driver configuration */ -#ifdef CONFIG_CMD_NET #define CONFIG_MVGBE_PORTS {1, 0} /* enable port 0 only */ #define CONFIG_PHY_BASE_ADR 0 -#endif /* CONFIG_CMD_NET */ +#ifdef CONFIG_RESET_PHY_R +#undef CONFIG_RESET_PHY_R /* remove legacy reset_phy() */ +#endif /* SATA driver configuration */ -#ifdef CONFIG_SATA #define CONFIG_SYS_SATA_MAX_DEVICE 1 #define CONFIG_LBA48 -#endif /* CONFIG_SATA */ #endif /* _CONFIG_GOFLEXHOME_H */ -- cgit v1.3.1