On Mon, Oct 17, 2022 at 06:18:16PM +0200, Marco Felsch wrote: > Convert the driver to the board driver mechanism. While on it enable the > deep-probe support and add a comment about the ENET1_RGMII_EN bit > setting. > > Signed-off-by: Marco Felsch <m.felsch@xxxxxxxxxxxxxx> > --- > arch/arm/boards/nxp-imx8mp-evk/board.c | 21 ++++++++++++++++----- > 1 file changed, 16 insertions(+), 5 deletions(-) Applied, thanks (contrary to what you said I applied it to master) Sascha > > diff --git a/arch/arm/boards/nxp-imx8mp-evk/board.c b/arch/arm/boards/nxp-imx8mp-evk/board.c > index 8f1c247109..57c41aa8d8 100644 > --- a/arch/arm/boards/nxp-imx8mp-evk/board.c > +++ b/arch/arm/boards/nxp-imx8mp-evk/board.c > @@ -6,6 +6,7 @@ > #include <asm/memory.h> > #include <bootsource.h> > #include <common.h> > +#include <deep-probe.h> > #include <init.h> > #include <linux/phy.h> > #include <linux/sizes.h> > @@ -14,15 +15,12 @@ > #include <gpio.h> > #include <envfs.h> > > -static int nxp_imx8mp_evk_init(void) > +static int nxp_imx8mp_evk_probe(struct device_d *dev) > { > int emmc_bbu_flag = 0; > int sd_bbu_flag = 0; > u32 val; > > - if (!of_machine_is_compatible("fsl,imx8mp-evk")) > - return 0; > - > if (bootsource_get() == BOOTSOURCE_MMC) { > if (bootsource_get_instance() == 2) { > of_device_enable_path("/chosen/environment-emmc"); > @@ -39,10 +37,23 @@ static int nxp_imx8mp_evk_init(void) > imx8m_bbu_internal_mmc_register_handler("SD", "/dev/mmc1.barebox", sd_bbu_flag); > imx8m_bbu_internal_mmcboot_register_handler("eMMC", "/dev/mmc2", emmc_bbu_flag); > > + /* Enable RGMII TX clk output */ > val = readl(MX8MP_IOMUXC_GPR_BASE_ADDR + MX8MP_IOMUXC_GPR1); > val |= MX8MP_IOMUXC_GPR1_ENET1_RGMII_EN; > writel(val, MX8MP_IOMUXC_GPR_BASE_ADDR + MX8MP_IOMUXC_GPR1); > > return 0; > } > -coredevice_initcall(nxp_imx8mp_evk_init); > + > +static const struct of_device_id nxp_imx8mp_evk_of_match[] = { > + { .compatible = "fsl,imx8mp-evk" }, > + { /* Sentinel */ } > +}; > +BAREBOX_DEEP_PROBE_ENABLE(nxp_imx8mp_evk_of_match); > + > +static struct driver_d nxp_imx8mp_evk_board_driver = { > + .name = "board-nxp-imx8mp-evk", > + .probe = nxp_imx8mp_evk_probe, > + .of_compatible = nxp_imx8mp_evk_of_match, > +}; > +coredevice_platform_driver(nxp_imx8mp_evk_board_driver); > -- > 2.30.2 > > > -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |