[U-Boot] [PATCH 1/2] ARM: imx: cm_fx6: export board and soc info to env
Stefano Babic
sbabic at denx.de
Fri Jan 12 13:36:17 UTC 2018
On 09/01/2018 22:01, christopher.spinrath at rwth-aachen.de wrote:
> From: Christopher Spinrath <christopher.spinrath at 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.spinrath at 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: sbabic at denx.de
=====================================================================
More information about the U-Boot
mailing list