* [PATCH 1/2] ARM: imx: imx8mn-ddr4-evk: Fix boot from SD card @ 2022-02-13 23:36 Marek Vasut 2022-02-13 23:36 ` [PATCH 2/2] ARM: imx: imx8mn-ddr4-evk: Add ethernet support Marek Vasut 2022-02-19 13:08 ` [PATCH 1/2] ARM: imx: imx8mn-ddr4-evk: Fix boot from SD card sbabic 0 siblings, 2 replies; 5+ messages in thread From: Marek Vasut @ 2022-02-13 23:36 UTC (permalink / raw) To: u-boot; +Cc: Marek Vasut, Fabio Estevam, Peng Fan, Stefano Babic Enable missing config options to make the board boot from SD card. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Fabio Estevam <festevam@gmail.com> Cc: Peng Fan <peng.fan@nxp.com> Cc: Stefano Babic <sbabic@denx.de> --- configs/imx8mn_evk_defconfig | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/configs/imx8mn_evk_defconfig b/configs/imx8mn_evk_defconfig index 865d657a6d1..1117096d6ee 100644 --- a/configs/imx8mn_evk_defconfig +++ b/configs/imx8mn_evk_defconfig @@ -14,6 +14,7 @@ CONFIG_DM_GPIO=y CONFIG_DEFAULT_DEVICE_TREE="imx8mn-evk" CONFIG_SPL_TEXT_BASE=0x912000 CONFIG_TARGET_IMX8MN_EVK=y +CONFIG_SPL_MMC=y CONFIG_SPL_SERIAL=y CONFIG_SPL_DRIVERS_MISC=y CONFIG_SPL=y @@ -30,6 +31,9 @@ CONFIG_ARCH_MISC_INIT=y CONFIG_BOARD_LATE_INIT=y CONFIG_SPL_BOARD_INIT=y CONFIG_SPL_BOOTROM_SUPPORT=y +# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set +CONFIG_SPL_LEGACY_IMAGE_SUPPORT=y +CONFIG_SPL_LEGACY_IMAGE_CRC_CHECK=y CONFIG_SPL_SEPARATE_BSS=y CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR=y CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x300 @@ -64,9 +68,12 @@ CONFIG_MXC_GPIO=y CONFIG_DM_I2C=y CONFIG_SUPPORT_EMMC_BOOT=y CONFIG_MMC_IO_VOLTAGE=y +CONFIG_SPL_MMC_IO_VOLTAGE=y CONFIG_MMC_UHS_SUPPORT=y +CONFIG_SPL_MMC_UHS_SUPPORT=y CONFIG_MMC_HS400_ES_SUPPORT=y CONFIG_MMC_HS400_SUPPORT=y +CONFIG_SPL_MMC_HS400_SUPPORT=y CONFIG_FSL_USDHC=y CONFIG_PHYLIB=y CONFIG_DM_ETH=y @@ -76,6 +83,7 @@ CONFIG_PINCTRL_IMX8M=y CONFIG_DM_PMIC=y CONFIG_SPL_DM_PMIC_PCA9450=y CONFIG_DM_REGULATOR=y +CONFIG_SPL_DM_REGULATOR=y CONFIG_DM_REGULATOR_FIXED=y CONFIG_DM_REGULATOR_GPIO=y CONFIG_MXC_UART=y -- 2.34.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/2] ARM: imx: imx8mn-ddr4-evk: Add ethernet support 2022-02-13 23:36 [PATCH 1/2] ARM: imx: imx8mn-ddr4-evk: Fix boot from SD card Marek Vasut @ 2022-02-13 23:36 ` Marek Vasut 2022-02-19 13:06 ` Stefano Babic 2022-02-19 13:08 ` [PATCH 1/2] ARM: imx: imx8mn-ddr4-evk: Fix boot from SD card sbabic 1 sibling, 1 reply; 5+ messages in thread From: Marek Vasut @ 2022-02-13 23:36 UTC (permalink / raw) To: u-boot; +Cc: Marek Vasut, Fabio Estevam, Peng Fan, Stefano Babic Add support for ethernet on the imx8mn-ddr4-evk. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Fabio Estevam <festevam@gmail.com> Cc: Peng Fan <peng.fan@nxp.com> Cc: Stefano Babic <sbabic@denx.de> --- arch/arm/dts/imx8mn-evk.dtsi | 1 + board/freescale/imx8mn_evk/imx8mn_evk.c | 41 +++++++++++++++++++++++-- configs/imx8mn_ddr4_evk_defconfig | 8 +++++ 3 files changed, 47 insertions(+), 3 deletions(-) diff --git a/arch/arm/dts/imx8mn-evk.dtsi b/arch/arm/dts/imx8mn-evk.dtsi index 76d042a4cf0..416fadb22b1 100644 --- a/arch/arm/dts/imx8mn-evk.dtsi +++ b/arch/arm/dts/imx8mn-evk.dtsi @@ -53,6 +53,7 @@ pinctrl-0 = <&pinctrl_fec1>; phy-mode = "rgmii-id"; phy-handle = <ðphy0>; + phy-reset-gpios = <&gpio4 22 GPIO_ACTIVE_LOW>; fsl,magic-packet; status = "okay"; diff --git a/board/freescale/imx8mn_evk/imx8mn_evk.c b/board/freescale/imx8mn_evk/imx8mn_evk.c index 9a0a0488bf4..6979bbcbe52 100644 --- a/board/freescale/imx8mn_evk/imx8mn_evk.c +++ b/board/freescale/imx8mn_evk/imx8mn_evk.c @@ -7,17 +7,52 @@ #include <env.h> #include <init.h> #include <asm/global_data.h> +#include <miiphy.h> +#include <netdev.h> +#include <asm/io.h> DECLARE_GLOBAL_DATA_PTR; -int board_init(void) +int board_mmc_get_env_dev(int devno) +{ + return devno; +} + +#if IS_ENABLED(CONFIG_FEC_MXC) +static int setup_fec(void) { + struct iomuxc_gpr_base_regs *gpr = + (struct iomuxc_gpr_base_regs *)IOMUXC_GPR_BASE_ADDR; + + /* Use 125M anatop REF_CLK1 for ENET1, not from external */ + clrsetbits_le32(&gpr->gpr[1], 0x2000, 0); + return 0; } -int board_mmc_get_env_dev(int devno) +int board_phy_config(struct phy_device *phydev) { - return devno; + /* enable rgmii rxc skew and phy mode select to RGMII copper */ + phy_write(phydev, MDIO_DEVAD_NONE, 0x1d, 0x1f); + phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, 0x8); + + phy_write(phydev, MDIO_DEVAD_NONE, 0x1d, 0x00); + phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, 0x82ee); + phy_write(phydev, MDIO_DEVAD_NONE, 0x1d, 0x05); + phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, 0x100); + + if (phydev->drv->config) + phydev->drv->config(phydev); + return 0; +} +#endif + +int board_init(void) +{ + if (IS_ENABLED(CONFIG_FEC_MXC)) + setup_fec(); + + return 0; } int board_late_init(void) diff --git a/configs/imx8mn_ddr4_evk_defconfig b/configs/imx8mn_ddr4_evk_defconfig index 28cc551dc41..a760709772f 100644 --- a/configs/imx8mn_ddr4_evk_defconfig +++ b/configs/imx8mn_ddr4_evk_defconfig @@ -43,6 +43,9 @@ CONFIG_CMD_FUSE=y CONFIG_CMD_GPIO=y CONFIG_CMD_I2C=y CONFIG_CMD_MMC=y +CONFIG_CMD_DHCP=y +CONFIG_CMD_MII=y +CONFIG_CMD_PING=y CONFIG_CMD_CACHE=y CONFIG_CMD_REGULATOR=y CONFIG_CMD_EXT4_WRITE=y @@ -67,7 +70,12 @@ CONFIG_MMC_HS400_ES_SUPPORT=y CONFIG_MMC_HS400_SUPPORT=y CONFIG_FSL_USDHC=y CONFIG_PHYLIB=y +CONFIG_PHY_ATHEROS=y CONFIG_DM_ETH=y +CONFIG_DM_ETH_PHY=y +CONFIG_PHY_GIGE=y +CONFIG_FEC_MXC=y +CONFIG_MII=y CONFIG_PINCTRL=y CONFIG_SPL_PINCTRL=y CONFIG_PINCTRL_IMX8M=y -- 2.34.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 2/2] ARM: imx: imx8mn-ddr4-evk: Add ethernet support 2022-02-13 23:36 ` [PATCH 2/2] ARM: imx: imx8mn-ddr4-evk: Add ethernet support Marek Vasut @ 2022-02-19 13:06 ` Stefano Babic 2022-02-19 16:17 ` Marek Vasut 0 siblings, 1 reply; 5+ messages in thread From: Stefano Babic @ 2022-02-19 13:06 UTC (permalink / raw) To: Marek Vasut, u-boot; +Cc: Fabio Estevam, Peng Fan, Stefano Babic Hi Marek, On 14.02.22 00:36, Marek Vasut wrote: > Add support for ethernet on the imx8mn-ddr4-evk. > > Signed-off-by: Marek Vasut <marex@denx.de> > Cc: Fabio Estevam <festevam@gmail.com> > Cc: Peng Fan <peng.fan@nxp.com> > Cc: Stefano Babic <sbabic@denx.de> > --- I have not pushed this patch because I am puzzled. There is nothing wrong in the patch, and I can apply it, but CI fails randomly. There is a warning during compilation of this board, see: https://source.denx.de/u-boot/custodians/u-boot-imx/-/jobs/394060 However, this makes no sense. It looks like that + if (IS_ENABLED(CONFIG_FEC_MXC)) + setup_fec(); This has effect, while during preprocessing of the same file: +#if IS_ENABLED(CONFIG_FEC_MXC) +static int setup_fec(void) it looks like as "deactivated", no idea why. The warning makes no sense by reading the code. And if I build the board locally, with make or buildman, everything fine - no error at all. But, even locally, "buildman aarch64" reports this warning. No idea why, but I cannot add this to PR else the breakage goes into Tom's tree. Of course, if I drop #if IS_ENABLED(CONFIG_FEC_MXC), everything fine, but it does not means it is a solution. Best regards, Stefano > arch/arm/dts/imx8mn-evk.dtsi | 1 + > board/freescale/imx8mn_evk/imx8mn_evk.c | 41 +++++++++++++++++++++++-- > configs/imx8mn_ddr4_evk_defconfig | 8 +++++ > 3 files changed, 47 insertions(+), 3 deletions(-) > > diff --git a/arch/arm/dts/imx8mn-evk.dtsi b/arch/arm/dts/imx8mn-evk.dtsi > index 76d042a4cf0..416fadb22b1 100644 > --- a/arch/arm/dts/imx8mn-evk.dtsi > +++ b/arch/arm/dts/imx8mn-evk.dtsi > @@ -53,6 +53,7 @@ > pinctrl-0 = <&pinctrl_fec1>; > phy-mode = "rgmii-id"; > phy-handle = <ðphy0>; > + phy-reset-gpios = <&gpio4 22 GPIO_ACTIVE_LOW>; > fsl,magic-packet; > status = "okay"; > > diff --git a/board/freescale/imx8mn_evk/imx8mn_evk.c b/board/freescale/imx8mn_evk/imx8mn_evk.c > index 9a0a0488bf4..6979bbcbe52 100644 > --- a/board/freescale/imx8mn_evk/imx8mn_evk.c > +++ b/board/freescale/imx8mn_evk/imx8mn_evk.c > @@ -7,17 +7,52 @@ > #include <env.h> > #include <init.h> > #include <asm/global_data.h> > +#include <miiphy.h> > +#include <netdev.h> > +#include <asm/io.h> > > DECLARE_GLOBAL_DATA_PTR; > > -int board_init(void) > +int board_mmc_get_env_dev(int devno) > +{ > + return devno; > +} > + > +#if IS_ENABLED(CONFIG_FEC_MXC) > +static int setup_fec(void) > { > + struct iomuxc_gpr_base_regs *gpr = > + (struct iomuxc_gpr_base_regs *)IOMUXC_GPR_BASE_ADDR; > + > + /* Use 125M anatop REF_CLK1 for ENET1, not from external */ > + clrsetbits_le32(&gpr->gpr[1], 0x2000, 0); > + > return 0; > } > > -int board_mmc_get_env_dev(int devno) > +int board_phy_config(struct phy_device *phydev) > { > - return devno; > + /* enable rgmii rxc skew and phy mode select to RGMII copper */ > + phy_write(phydev, MDIO_DEVAD_NONE, 0x1d, 0x1f); > + phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, 0x8); > + > + phy_write(phydev, MDIO_DEVAD_NONE, 0x1d, 0x00); > + phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, 0x82ee); > + phy_write(phydev, MDIO_DEVAD_NONE, 0x1d, 0x05); > + phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, 0x100); > + > + if (phydev->drv->config) > + phydev->drv->config(phydev); > + return 0; > +} > +#endif > + > +int board_init(void) > +{ > + if (IS_ENABLED(CONFIG_FEC_MXC)) > + setup_fec(); > + > + return 0; > } > > int board_late_init(void) > diff --git a/configs/imx8mn_ddr4_evk_defconfig b/configs/imx8mn_ddr4_evk_defconfig > index 28cc551dc41..a760709772f 100644 > --- a/configs/imx8mn_ddr4_evk_defconfig > +++ b/configs/imx8mn_ddr4_evk_defconfig > @@ -43,6 +43,9 @@ CONFIG_CMD_FUSE=y > CONFIG_CMD_GPIO=y > CONFIG_CMD_I2C=y > CONFIG_CMD_MMC=y > +CONFIG_CMD_DHCP=y > +CONFIG_CMD_MII=y > +CONFIG_CMD_PING=y > CONFIG_CMD_CACHE=y > CONFIG_CMD_REGULATOR=y > CONFIG_CMD_EXT4_WRITE=y > @@ -67,7 +70,12 @@ CONFIG_MMC_HS400_ES_SUPPORT=y > CONFIG_MMC_HS400_SUPPORT=y > CONFIG_FSL_USDHC=y > CONFIG_PHYLIB=y > +CONFIG_PHY_ATHEROS=y > CONFIG_DM_ETH=y > +CONFIG_DM_ETH_PHY=y > +CONFIG_PHY_GIGE=y > +CONFIG_FEC_MXC=y > +CONFIG_MII=y > CONFIG_PINCTRL=y > CONFIG_SPL_PINCTRL=y > CONFIG_PINCTRL_IMX8M=y -- ===================================================================== DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic@denx.de ===================================================================== ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 2/2] ARM: imx: imx8mn-ddr4-evk: Add ethernet support 2022-02-19 13:06 ` Stefano Babic @ 2022-02-19 16:17 ` Marek Vasut 0 siblings, 0 replies; 5+ messages in thread From: Marek Vasut @ 2022-02-19 16:17 UTC (permalink / raw) To: Stefano Babic, u-boot; +Cc: Fabio Estevam, Peng Fan On 2/19/22 14:06, Stefano Babic wrote: Hi, [...] > I have not pushed this patch because I am puzzled. There is nothing > wrong in the patch, and I can apply it, but CI fails randomly. There is > a warning during compilation of this board, see: > > https://source.denx.de/u-boot/custodians/u-boot-imx/-/jobs/394060 > > However, this makes no sense. It looks like that > > + if (IS_ENABLED(CONFIG_FEC_MXC)) > + setup_fec(); > > This has effect, while during preprocessing of the same file: > > +#if IS_ENABLED(CONFIG_FEC_MXC) > +static int setup_fec(void) > > it looks like as "deactivated", no idea why. The warning makes no sense > by reading the code. And if I build the board locally, with make or > buildman, everything fine - no error at all. But, even locally, > "buildman aarch64" reports this warning. No idea why, but I cannot add > this to PR else the breakage goes into Tom's tree. > > Of course, if I drop #if IS_ENABLED(CONFIG_FEC_MXC), everything fine, > but it does not means it is a solution. The ethernet on this board is always present, so maybe that is the solution here. Although I also don't know why this failed in the CI and not during local build, some clang detail maybe ? ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/2] ARM: imx: imx8mn-ddr4-evk: Fix boot from SD card 2022-02-13 23:36 [PATCH 1/2] ARM: imx: imx8mn-ddr4-evk: Fix boot from SD card Marek Vasut 2022-02-13 23:36 ` [PATCH 2/2] ARM: imx: imx8mn-ddr4-evk: Add ethernet support Marek Vasut @ 2022-02-19 13:08 ` sbabic 1 sibling, 0 replies; 5+ messages in thread From: sbabic @ 2022-02-19 13:08 UTC (permalink / raw) To: Marek Vasut, u-boot > Enable missing config options to make the board boot from SD card. > Signed-off-by: Marek Vasut <marex@denx.de> > Cc: Fabio Estevam <festevam@gmail.com> > Cc: Peng Fan <peng.fan@nxp.com> > Cc: Stefano Babic <sbabic@denx.de> Applied to u-boot-imx, master, thanks ! Best regards, Stefano Babic -- ===================================================================== DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic@denx.de ===================================================================== ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2022-02-19 16:17 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2022-02-13 23:36 [PATCH 1/2] ARM: imx: imx8mn-ddr4-evk: Fix boot from SD card Marek Vasut 2022-02-13 23:36 ` [PATCH 2/2] ARM: imx: imx8mn-ddr4-evk: Add ethernet support Marek Vasut 2022-02-19 13:06 ` Stefano Babic 2022-02-19 16:17 ` Marek Vasut 2022-02-19 13:08 ` [PATCH 1/2] ARM: imx: imx8mn-ddr4-evk: Fix boot from SD card sbabic
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox