From: Stefano Babic <sbabic@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 5/5] mx6cuboxi: Load the correct 'fdt_file' variable
Date: Thu, 23 Apr 2015 08:13:05 +0200 [thread overview]
Message-ID: <55388D71.3030503@denx.de> (raw)
In-Reply-To: <1429761426-26748-5-git-send-email-festevam@gmail.com>
Hi Fabio,
On 23/04/2015 05:57, Fabio Estevam wrote:
> From: Fabio Estevam <fabio.estevam@freescale.com>
>
> Instead of hardcoding the 'fdt_file' variable, let's introduce a new
> function - build_dts_name(), that can build the dtb filename on the fly.
>
> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
> ---
> board/solidrun/mx6cuboxi/mx6cuboxi.c | 24 ++++++++++++++++++++++++
> include/configs/mx6cuboxi.h | 3 +--
> 2 files changed, 25 insertions(+), 2 deletions(-)
>
> diff --git a/board/solidrun/mx6cuboxi/mx6cuboxi.c b/board/solidrun/mx6cuboxi/mx6cuboxi.c
> index 83410b2..1c24a55 100644
> --- a/board/solidrun/mx6cuboxi/mx6cuboxi.c
> +++ b/board/solidrun/mx6cuboxi/mx6cuboxi.c
> @@ -212,6 +212,30 @@ int checkboard(void)
> return 0;
> }
>
> +static const char *build_dts_name(void)
> +{
> + char *dt_prefix = "unknown";
> + char *dt_suffix = "unknown";
> +
> + if (is_cpu_type(MXC_CPU_MX6Q) || is_cpu_type(MXC_CPU_MX6D))
> + dt_prefix = "imx6q";
> + else if (is_cpu_type(MXC_CPU_MX6SOLO) || is_cpu_type(MXC_CPU_MX6DL))
> + dt_prefix = "imx6dl";
> +
> + if (is_hummingboard())
> + dt_suffix = "-hummingboard.dtb";
> + else
> + dt_suffix = "-cubox-i.dtb";
> +
> + return strcat(dt_prefix, dt_suffix);
> +}
> +
I admit I do not like a lot to have C code setting / fixing the
environment. This has the drawback that when a user try to set the
environment from the console as he wants, he cannot because the code has
reverted back and it is not easy to track. I would like to propose
another solution.
What about to export your is_hummingboard() function as U-Boot command ?
You can then use it in U-Boot scripts, and the correct fdt name can be
set in the "bootcmd" variable. Something like "if is_humming;then ..."
And if a user wants to use other names, he can because it is not hard-coded.
> +int misc_init_r(void)
> +{
> + setenv("fdt_file", build_dts_name());
> + return 0;
> +}
> +
> #ifdef CONFIG_SPL_BUILD
> #include <asm/arch/mx6-ddr.h>
> static const struct mx6dq_iomux_ddr_regs mx6q_ddr_ioregs = {
> diff --git a/include/configs/mx6cuboxi.h b/include/configs/mx6cuboxi.h
> index 5d58b16..504a81c 100644
> --- a/include/configs/mx6cuboxi.h
> +++ b/include/configs/mx6cuboxi.h
> @@ -29,6 +29,7 @@
>
> #define CONFIG_SYS_MALLOC_LEN (2 * SZ_1M)
> #define CONFIG_BOARD_EARLY_INIT_F
> +#define CONFIG_MISC_INIT_R
> #define CONFIG_MXC_GPIO
> #define CONFIG_MXC_UART
> #define CONFIG_CMD_FUSE
> @@ -81,14 +82,12 @@
> #define CONFIG_MXC_UART_BASE UART1_BASE
> #define CONFIG_CONSOLE_DEV "ttymxc0"
> #define CONFIG_MMCROOT "/dev/mmcblk0p2"
> -#define CONFIG_DEFAULT_FDT_FILE "imx6q-hummingboard.dtb"
> #define CONFIG_SYS_FSL_USDHC_NUM 1
> #define CONFIG_SYS_MMC_ENV_DEV 0 /* SDHC2 */
>
> #define CONFIG_EXTRA_ENV_SETTINGS \
> "script=boot.scr\0" \
> "image=zImage\0" \
> - "fdt_file=" CONFIG_DEFAULT_FDT_FILE "\0" \
I do not exclude that the board will switch to distro environment, and
we will have a strong dependency with the code then.
Best regards,
Stefano
--
=====================================================================
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
=====================================================================
next prev parent reply other threads:[~2015-04-23 6:13 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-23 3:57 [U-Boot] [PATCH 1/5] mx6cuboxi: Fix the defconfig name Fabio Estevam
2015-04-23 3:57 ` [U-Boot] [PATCH 2/5] mx6cuboxi: Prepare for multi SoC support Fabio Estevam
2015-04-23 6:14 ` Stefano Babic
2015-04-23 3:57 ` [U-Boot] [PATCH 3/5] mx6cuboxi: Introduce multi-SoC support Fabio Estevam
2015-04-23 6:16 ` Stefano Babic
2015-04-23 19:09 ` Tom Rini
2015-04-23 3:57 ` [U-Boot] [PATCH 4/5] mx6cuboxi: Differentiate Cubox-i and Hummingboard Fabio Estevam
2015-04-23 6:16 ` Stefano Babic
2015-04-23 14:38 ` Nikolay Dimitrov
2015-04-23 15:17 ` Stefano Babic
2015-04-23 3:57 ` [U-Boot] [PATCH 5/5] mx6cuboxi: Load the correct 'fdt_file' variable Fabio Estevam
2015-04-23 6:13 ` Stefano Babic [this message]
2015-04-23 17:18 ` Fabio Estevam
2015-04-23 18:26 ` Stefano Babic
2015-04-23 19:10 ` Tom Rini
2015-04-23 18:47 ` [U-Boot] [U-Boot, " Vagrant Cascadian
2015-04-23 6:14 ` [U-Boot] [PATCH 1/5] mx6cuboxi: Fix the defconfig name Stefano Babic
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=55388D71.3030503@denx.de \
--to=sbabic@denx.de \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.