[PATCH 2/2] ARM: imx: cm_fx6: env: try to determine dtb to use

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

[PATCH 2/2] ARM: imx: cm_fx6: env: try to determine dtb to use

christopher.spinrath
From: Christopher Spinrath <[hidden email]>

Some distributions like Fedora expect U-Boot to select a proper
devicetree. Since there are several variants of the cm-fx6 module
featuring different SoC variants and the module can be paired with
several baseboards, it is not viable to hardcode a filename.

Instead, follow the lead of other i.MX6 based devices and try to
determine the devicetree to use with the help of the board name
and the SoC variant exported by the board code, before calling the
distro bootcommand.

For now, only for the Utilite Pro a proper devicetree filename is
known but further variants of the Utilite Computer or other devices
based on the cm-fx6 module may be added in the future.

Signed-off-by: Christopher Spinrath <[hidden email]>
---
 configs/cm_fx6_defconfig | 2 +-
 include/configs/cm_fx6.h | 6 ++++++
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/configs/cm_fx6_defconfig b/configs/cm_fx6_defconfig
index 33e610ccb4..6b1c0a823c 100644
--- a/configs/cm_fx6_defconfig
+++ b/configs/cm_fx6_defconfig
@@ -16,7 +16,7 @@ CONFIG_DISTRO_DEFAULTS=y
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/mach-imx/spl_sd.cfg"
 CONFIG_BOOTDELAY=3
-CONFIG_BOOTCOMMAND="run distro_bootcmd; run legacy_bootcmd"
+CONFIG_BOOTCOMMAND="run findfdt; run distro_bootcmd; run legacy_bootcmd"
 CONFIG_SPL=y
 CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x80
 CONFIG_SPL_I2C_SUPPORT=y
diff --git a/include/configs/cm_fx6.h b/include/configs/cm_fx6.h
index cb71ea8811..da870b9baa 100644
--- a/include/configs/cm_fx6.h
+++ b/include/configs/cm_fx6.h
@@ -76,6 +76,7 @@
  "kernel_addr_r=" __stringify(CONFIG_LOADADDR) "\0" \
  "pxefile_addr_r=" __stringify(CONFIG_LOADADDR) "\0" \
  "scriptaddr=" __stringify(CONFIG_LOADADDR) "\0" \
+ "fdtfile=undefined\0" \
  "stdin=serial,usbkbd\0" \
  "stdout=serial,vga\0" \
  "stderr=serial,vga\0" \
@@ -153,6 +154,11 @@
  "fi;" \
  "run setupnandboot;" \
  "run nandboot;\0" \
+ "findfdt="\
+ "if test $board_name = Utilite && test $board_rev = MX6Q ; then " \
+ "setenv fdtfile imx6q-utilite-pro.dtb; fi; " \
+ "if test $fdtfile = undefined; then " \
+ "echo WARNING: Could not determine dtb to use; fi; \0" \
  BOOTENV
 
 #define CONFIG_PREBOOT "usb start;sf probe"
--
2.15.1

_______________________________________________
U-Boot mailing list
[hidden email]
https://lists.denx.de/listinfo/u-boot
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH 2/2] ARM: imx: cm_fx6: env: try to determine dtb to use

Stefano Babic
On 09/01/2018 22:01, [hidden email] wrote:

> From: Christopher Spinrath <[hidden email]>
>
> Some distributions like Fedora expect U-Boot to select a proper
> devicetree. Since there are several variants of the cm-fx6 module
> featuring different SoC variants and the module can be paired with
> several baseboards, it is not viable to hardcode a filename.
>
> Instead, follow the lead of other i.MX6 based devices and try to
> determine the devicetree to use with the help of the board name
> and the SoC variant exported by the board code, before calling the
> distro bootcommand.
>
> For now, only for the Utilite Pro a proper devicetree filename is
> known but further variants of the Utilite Computer or other devices
> based on the cm-fx6 module may be added in the future.
>
> Signed-off-by: Christopher Spinrath <[hidden email]>
> ---
>  configs/cm_fx6_defconfig | 2 +-
>  include/configs/cm_fx6.h | 6 ++++++
>  2 files changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/configs/cm_fx6_defconfig b/configs/cm_fx6_defconfig
> index 33e610ccb4..6b1c0a823c 100644
> --- a/configs/cm_fx6_defconfig
> +++ b/configs/cm_fx6_defconfig
> @@ -16,7 +16,7 @@ CONFIG_DISTRO_DEFAULTS=y
>  CONFIG_OF_BOARD_SETUP=y
>  CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/mach-imx/spl_sd.cfg"
>  CONFIG_BOOTDELAY=3
> -CONFIG_BOOTCOMMAND="run distro_bootcmd; run legacy_bootcmd"
> +CONFIG_BOOTCOMMAND="run findfdt; run distro_bootcmd; run legacy_bootcmd"
>  CONFIG_SPL=y
>  CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x80
>  CONFIG_SPL_I2C_SUPPORT=y
> diff --git a/include/configs/cm_fx6.h b/include/configs/cm_fx6.h
> index cb71ea8811..da870b9baa 100644
> --- a/include/configs/cm_fx6.h
> +++ b/include/configs/cm_fx6.h
> @@ -76,6 +76,7 @@
>   "kernel_addr_r=" __stringify(CONFIG_LOADADDR) "\0" \
>   "pxefile_addr_r=" __stringify(CONFIG_LOADADDR) "\0" \
>   "scriptaddr=" __stringify(CONFIG_LOADADDR) "\0" \
> + "fdtfile=undefined\0" \
>   "stdin=serial,usbkbd\0" \
>   "stdout=serial,vga\0" \
>   "stderr=serial,vga\0" \
> @@ -153,6 +154,11 @@
>   "fi;" \
>   "run setupnandboot;" \
>   "run nandboot;\0" \
> + "findfdt="\
> + "if test $board_name = Utilite && test $board_rev = MX6Q ; then " \
> + "setenv fdtfile imx6q-utilite-pro.dtb; fi; " \
> + "if test $fdtfile = undefined; then " \
> + "echo WARNING: Could not determine dtb to use; fi; \0" \
>   BOOTENV
>  
>  #define CONFIG_PREBOOT "usb start;sf probe"
>

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: [hidden email]
=====================================================================
_______________________________________________
U-Boot mailing list
[hidden email]
https://lists.denx.de/listinfo/u-boot