diff --git a/arch/arm/dts/imx8_nmhw23.dts b/arch/arm/dts/imx8_nmhw23.dts index c8e9c7f1da..4e1227d8e5 100644 --- a/arch/arm/dts/imx8_nmhw23.dts +++ b/arch/arm/dts/imx8_nmhw23.dts @@ -111,6 +111,22 @@ SC_P_ESAI0_TX1_LSIO_GPIO0_IO05 0x00000060 >; }; + + pinctrl_eth: eth_grp { + fsl,pins = < + SC_P_COMP_CTL_GPIO_1V8_3V3_ENET_ENETB0_PAD 0x000014a0 + SC_P_ENET0_MDC_CONN_ENET0_MDC 0x06000060 + SC_P_ENET0_MDIO_CONN_ENET0_MDIO 0x06000060 + SC_P_ENET0_RGMII_TXC_CONN_ENET0_RCLK50M_IN 0x06000060 + SC_P_ENET0_RGMII_TX_CTL_CONN_ENET0_RGMII_TX_CTL 0x06000020 + SC_P_ENET0_RGMII_TXD0_CONN_ENET0_RGMII_TXD0 0x06000020 + SC_P_ENET0_RGMII_TXD1_CONN_ENET0_RGMII_TXD1 0x06000020 + SC_P_ENET0_RGMII_RX_CTL_CONN_ENET0_RGMII_RX_CTL 0x06000020 + SC_P_ENET0_RGMII_RXD0_CONN_ENET0_RGMII_RXD0 0x06000020 + SC_P_ENET0_RGMII_RXD1_CONN_ENET0_RGMII_RXD1 0x06000020 + SC_P_ENET0_RGMII_RXD2_CONN_ENET0_RMII_RX_ER 0x06000040 + >; + }; }; }; @@ -131,3 +147,30 @@ non-removable; status = "okay"; }; + +&fec1 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_eth>; + phy-mode = "rmii"; + phy-handle = <&phy>; + fsl,magic-packet; + status = "okay"; + phy-reset-gpios = <&gpio4 6 GPIO_ACTIVE_LOW>; + phy-reset-duration = <10>; + phy-reset-post-delay = <150>; + + fixed-link { + speed = <100>; + full-duplex; + }; + + mdio { + #address-cells = <1>; + #size-cells = <0>; + + phy: phy@1 { + compatible = "ethernet-phy-ieee802.3-c22"; + reg = <1>; + }; + }; +}; diff --git a/board/netmodule/imx8_nmhw23/imx8_nmhw23.c b/board/netmodule/imx8_nmhw23/imx8_nmhw23.c index 045a856cde..57fb0abc1d 100644 --- a/board/netmodule/imx8_nmhw23/imx8_nmhw23.c +++ b/board/netmodule/imx8_nmhw23/imx8_nmhw23.c @@ -115,8 +115,21 @@ int checkboard(void) int board_init(void) { + struct udevice *sja1105; + int ret; + board_gpio_init(); + ret = uclass_get_device_by_name(UCLASS_MISC, "sja1105", &sja1105); + if (ret) + { + printf("Net: No switch found.\n"); + } + else + { + printf("Net: SJA1105 switch found.\n"); + } + return 0; } diff --git a/configs/imx8_nmhw23_defconfig b/configs/imx8_nmhw23_defconfig index b92e3e5df1..aac9f40165 100644 --- a/configs/imx8_nmhw23_defconfig +++ b/configs/imx8_nmhw23_defconfig @@ -24,7 +24,6 @@ CONFIG_SPL_POWER_SUPPORT=y CONFIG_SPL_POWER_DOMAIN=y CONFIG_SPL_WATCHDOG_SUPPORT=y CONFIG_CMD_CPU=y -# CONFIG_CMD_IMPORTENV is not set CONFIG_CMD_CLK=y CONFIG_CMD_DM=y CONFIG_CMD_GPIO=y @@ -47,17 +46,12 @@ CONFIG_MXC_GPIO=y CONFIG_DM_PCA953X=y CONFIG_DM_I2C=y CONFIG_SYS_I2C_IMX_LPI2C=y -CONFIG_I2C_MUX=y -CONFIG_I2C_MUX_PCA954x=y CONFIG_MISC=y CONFIG_DM_MMC=y CONFIG_PHYLIB=y CONFIG_PHY_ADDR_ENABLE=y -CONFIG_PHY_ATHEROS=y +CONFIG_PHY_SMSC=y CONFIG_DM_ETH=y -CONFIG_PHY_GIGE=y -CONFIG_FEC_MXC_SHARE_MDIO=y -CONFIG_FEC_MXC_MDIO_BASE=0x5B040000 CONFIG_FEC_MXC=y CONFIG_MII=y CONFIG_PINCTRL=y @@ -73,7 +67,6 @@ CONFIG_SPL_DM_REGULATOR_GPIO=y CONFIG_DM_SERIAL=y CONFIG_FSL_LPUART=y CONFIG_SPL_TINY_MEMSET=y -# CONFIG_EFI_LOADER is not set CONFIG_SPI=y CONFIG_DM_SPI=y CONFIG_SOFT_SPI=y diff --git a/include/configs/imx8_nmhw23.h b/include/configs/imx8_nmhw23.h index 9974ca8f30..209d20d6f8 100644 --- a/include/configs/imx8_nmhw23.h +++ b/include/configs/imx8_nmhw23.h @@ -171,14 +171,8 @@ /* Generic Timer Definitions */ #define COUNTER_FREQUENCY 8000000 /* 8MHz */ -#ifndef CONFIG_DM_PCA953X -#define CONFIG_PCA953X -#define CONFIG_CMD_PCA953X -#define CONFIG_CMD_PCA953X_INFO -#endif - /* Networking */ -#define CONFIG_FEC_XCV_TYPE RGMII +#define CONFIG_FEC_XCV_TYPE RMII #define FEC_QUIRK_ENET_MAC #endif /* __IMX8_NMHW23_H */