On 09/01/2018 22:01, christopher.spinr...@rwth-aachen.de wrote: > From: Christopher Spinrath <christopher.spinr...@rwth-aachen.de> > > Like many other i.MX6 based boards, there are multiple variants of > the cm-fx6 module featuring different SoC variants. Furthermore, the > module can be paired with multiple baseboards. > > At the same time modern distribution like Fedora require U-Boot to > select a proper devicetree which depends on the SoC variant and the > baseboard. > > Thus, export the SoC variant and the actual board to the environment > following the conventions of other i.MX6 devices (e.g. the NXP boards) > such that the environment can select a devicetree file to load. > > For now, we only know for sure that the cm-fx6 module and the SB-fx6m > baseboard amount to a Utilite Computer variant (depending on the SoC). > Further combinations may be added in the future; e.g. CompuLab's > evaluation board once someone can verify the identification string > stored in its eeprom. > > Signed-off-by: Christopher Spinrath <christopher.spinr...@rwth-aachen.de> > --- > arch/arm/mach-imx/mx6/Kconfig | 1 + > board/compulab/cm_fx6/cm_fx6.c | 21 +++++++++++++++++++++ > include/configs/cm_fx6.h | 1 + > 3 files changed, 23 insertions(+) > > diff --git a/arch/arm/mach-imx/mx6/Kconfig b/arch/arm/mach-imx/mx6/Kconfig > index 567a6a6bf5..057fca31ea 100644 > --- a/arch/arm/mach-imx/mx6/Kconfig > +++ b/arch/arm/mach-imx/mx6/Kconfig > @@ -130,6 +130,7 @@ config TARGET_CM_FX6 > bool "CM-FX6" > select SUPPORT_SPL > select MX6QDL > + select BOARD_LATE_INIT > select DM > select DM_SERIAL > select DM_GPIO > diff --git a/board/compulab/cm_fx6/cm_fx6.c b/board/compulab/cm_fx6/cm_fx6.c > index 620c3f2d0d..673de03071 100644 > --- a/board/compulab/cm_fx6/cm_fx6.c > +++ b/board/compulab/cm_fx6/cm_fx6.c > @@ -621,6 +621,27 @@ int board_init(void) > return 0; > } > > +int board_late_init(void) > +{ > +#ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG > + char baseboard_name[16]; > + int err; > + > + if (is_mx6dq()) > + env_set("board_rev", "MX6Q"); > + else if (is_mx6dl()) > + env_set("board_rev", "MX6DL"); > + > + err = cl_eeprom_get_product_name((uchar *)baseboard_name, 0); > + if (err) > + return 0; > + > + if (!strncmp("SB-FX6m", baseboard_name, 7)) > + env_set("board_name", "Utilite"); > +#endif > + return 0; > +} > + > int checkboard(void) > { > puts("Board: CM-FX6\n"); > diff --git a/include/configs/cm_fx6.h b/include/configs/cm_fx6.h > index ec3e6e6ca5..cb71ea8811 100644 > --- a/include/configs/cm_fx6.h > +++ b/include/configs/cm_fx6.h > @@ -67,6 +67,7 @@ > #define CONFIG_ENV_OFFSET (768 * 1024) > > #ifndef CONFIG_SPL_BUILD > +#define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG > #define CONFIG_EXTRA_ENV_SETTINGS \ > "fdt_high=0xffffffff\0" \ > "initrd_high=0xffffffff\0" \ >
Applied to u-boot-imx, 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: sba...@denx.de ===================================================================== _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot