All of lore.kernel.org
 help / color / mirror / Atom feed
From: Przemyslaw Marczak <p.marczak@samsung.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2 04/11] drivers:dfu: new feature: separated bootloader alt setting
Date: Tue, 17 Jun 2014 12:20:04 +0200	[thread overview]
Message-ID: <53A01654.1050407@samsung.com> (raw)
In-Reply-To: <539F4B18.2040406@wwwdotorg.org>

Hello Stephen,

On 06/16/2014 09:52 PM, Stephen Warren wrote:
> On 06/12/2014 03:46 AM, Przemyslaw Marczak wrote:
>> This patch introduces new feature: initialization of the dfu
>> bootloader entity from a separate environmental variable which
>> can be set on a boot time.
>>
>> By default, DFU always check environmental variable: $dfu_alt_info.
>>
>> Changes:
>> - DFU will also look for environmental variable: $dfu_alt_bootloader
>> - if any of dfu_alt_* variable is properly defined, then function
>>    dfu_init_env_entities() will return success.
>>
>> Use case:
>> Some devices can boot from various media type (SD, eMMC, NAND, etc.)
>> or some board configs are common for more than one board type.
>> In a such case, bootloader is probably placed on a different
>> devices or even offsets. So such DFU feature is welcome.
>
> Why should the "dfu" command look at different environment variables?
> Whatever code dynamically sets the value of $dfu_alt_bootloader should
> simply set $dfu_alt_info instead.
>

Dynamically setting of any entity cold be done at boot time, like this:

# int buf_len = strlen(alt_bootloader) + strlen(CONFIG_DFU_ALT) + 4;
# char *buf = memalign(1, buf_len);
#
# sprintf(buf, "%s; %s", alt_bootloader, CONFIG_DFU_ALT);
# setenv("dfu_alt_info", buf);

But overwriting the $dfu_alt_info on each boot is not a good idea.
If user modify the dfu entities - then it will be overwritten at next boot.

In the other side I can store entities as $dfu_alt_default
and change the above code to:

# char *alt_default = getenv("dfu_alt_default");
# if (!alt_default)
#	alt_default = "";
#
# int buf_len = strlen(alt_bootloader) + strlen(alt_default) + 4;
# char *buf = memalign(1, buf_len);
#
# sprintf(buf, "%s; %s", alt_bootloader, alt_default);
# setenv("dfu_alt_info", buf);

But then, there is some mess in the environment because of duplicated 
default alt_info.

Those both, above solutions takes more time than just one simple line:

# setenv("dfu_alt_bootlaoder", CONFIG_SOME_ALT_INFO);

like in this patch set.

Maybe better could be modification of the function 
dfu_init_env_entities() to support parsing variables
in the $dfu_alt_info instead of hard coded env variables
names, e.g:

dfu_alt_info="${alt_info_boot}, ${alt_info_system},..."

dfu_alt_info could be set with default variables names in each board 
config file in the CONFIG_EXTRA_ENV_SETTINGS and then just one proper 
variable could be set at boot, and others from env - simple and fast.

And then in the dfu init code - entities are initialized from env 
variables - if they exists, like in the loop code from this patch.

I need some solution to automatically set proper bootloader entities, 
since one binary can be stored on SD and eMMC cards.

Thank you,
-- 
Przemyslaw Marczak
Samsung R&D Institute Poland
Samsung Electronics
p.marczak at samsung.com

  reply	other threads:[~2014-06-17 10:20 UTC|newest]

Thread overview: 86+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-10 11:25 [U-Boot] [PATCH 01/10] samsung: misc: fix soc revision setting in the set_board_info() Przemyslaw Marczak
2014-06-10 11:25 ` [U-Boot] [PATCH 02/10] exynos: pinmux: fix the gpio names for exynos4x12 mmc Przemyslaw Marczak
2014-06-11 10:03   ` Jaehoon Chung
2014-06-10 11:32 ` [U-Boot] [PATCH 03/10] board:samsung: check the mmc boot device and init the right mmc driver Przemyslaw Marczak
2014-06-10 11:32 ` [U-Boot] [PATCH 04/10] samsung: misc: set the dfu bootloader setting at boot time Przemyslaw Marczak
2014-06-11  2:03   ` Inha Song
2014-06-11 13:07     ` Przemyslaw Marczak
2014-06-10 11:32 ` [U-Boot] [PATCH 05/10] arm:reset: call the reset_misc() before the cpu reset Przemyslaw Marczak
2014-06-10 11:33 ` [U-Boot] [PATCH 06/10] samsung: misc: set_board_info: check the board type to set fdt file name Przemyslaw Marczak
2014-06-10 11:33 ` [U-Boot] [PATCH 07/10] samsung: board: checkboard: call get_board_type() for CONFIG_BOARD_TYPES Przemyslaw Marczak
2014-06-10 11:33 ` [U-Boot] [PATCH 08/10] odroid: add board file for Odroid X2/U3 based on Samsung Exynos4412 Przemyslaw Marczak
2014-06-11  1:33   ` Inha Song
2014-06-11 12:48     ` Przemyslaw Marczak
2014-06-10 11:33 ` [U-Boot] [PATCH 09/10] odroid: add odroid U3/X2 device tree description Przemyslaw Marczak
2014-06-10 11:33 ` [U-Boot] [PATCH 10/10] odroid: add odroid_config Przemyslaw Marczak
2014-06-12  9:46 ` [U-Boot] [PATCH v2 01/11] samsung: misc: fix soc revision setting in the set_board_info() Przemyslaw Marczak
2014-06-12  9:46   ` [U-Boot] [PATCH v2 02/11] exynos: pinmux: fix the gpio names for exynos4x12 mmc Przemyslaw Marczak
2014-06-12  9:46   ` [U-Boot] [PATCH v2 03/11] board:samsung: check the mmc boot device and init the right mmc driver Przemyslaw Marczak
2014-06-18  6:30     ` Minkyu Kang
2014-06-18 10:47       ` Przemyslaw Marczak
2014-06-19  1:10         ` Minkyu Kang
2014-06-12  9:46   ` [U-Boot] [PATCH v2 04/11] drivers:dfu: new feature: separated bootloader alt setting Przemyslaw Marczak
2014-06-16 19:52     ` Stephen Warren
2014-06-17 10:20       ` Przemyslaw Marczak [this message]
2014-06-17 16:36         ` Stephen Warren
2014-06-18 10:56           ` Przemyslaw Marczak
2014-06-18 15:46             ` Stephen Warren
2014-06-23 10:09               ` Przemyslaw Marczak
2014-06-12  9:46   ` [U-Boot] [PATCH v2 05/11] samsung: misc: set the dfu bootloader setting at boot time Przemyslaw Marczak
2014-06-12  9:46   ` [U-Boot] [PATCH v2 06/11] arm:reset: call the reset_misc() before the cpu reset Przemyslaw Marczak
2014-06-12  9:46   ` [U-Boot] [PATCH v2 07/11] samsung: misc: set_board_info: check the board type to set fdt file name Przemyslaw Marczak
2014-06-12  9:46   ` [U-Boot] [PATCH v2 08/11] samsung: board: checkboard: call get_board_type() for CONFIG_BOARD_TYPES Przemyslaw Marczak
2014-06-12  9:46   ` [U-Boot] [PATCH v2 09/11] odroid: add board file for Odroid X2/U3 based on Samsung Exynos4412 Przemyslaw Marczak
2014-06-12  9:46   ` [U-Boot] [PATCH v2 10/11] odroid: add odroid U3/X2 device tree description Przemyslaw Marczak
2014-06-12  9:46   ` [U-Boot] [PATCH v2 11/11] odroid: add odroid_config Przemyslaw Marczak
2014-06-26 14:15   ` [U-Boot] [PATCH v3 00/11] Add support to Odroid U3/X2 Przemyslaw Marczak
2014-06-26 14:15     ` [U-Boot] [PATCH v3 01/11] exynos: pinmux: fix the gpio names for exynos4x12 mmc Przemyslaw Marczak
2014-06-26 14:15     ` [U-Boot] [PATCH v3 02/11] board:samsung: add function boot_device() for checking boot medium Przemyslaw Marczak
2014-06-27  9:40       ` Minkyu Kang
2014-06-27 11:33         ` Przemyslaw Marczak
2014-06-26 14:15     ` [U-Boot] [PATCH v3 03/11] board:samsung: check the boot device and init the right mmc driver Przemyslaw Marczak
2014-06-27  9:40       ` Minkyu Kang
2014-06-27  9:45         ` Jaehoon Chung
2014-06-27 11:38           ` Przemyslaw Marczak
2014-06-27 11:34         ` Przemyslaw Marczak
2014-06-26 14:15     ` [U-Boot] [PATCH v3 04/11] samsung: misc: add function for setting $dfu_alt_info Przemyslaw Marczak
2014-06-26 14:15     ` [U-Boot] [PATCH v3 05/11] samsung:board: misc_init_r: call set_dfu_alt_info() Przemyslaw Marczak
2014-06-26 14:15     ` [U-Boot] [PATCH v3 06/11] arm:reset: call the reset_misc() before the cpu reset Przemyslaw Marczak
2014-06-27  9:40       ` Minkyu Kang
2014-06-27 11:34         ` Przemyslaw Marczak
2014-06-27 20:20           ` Jeroen Hofstee
2014-06-30  8:41             ` Przemyslaw Marczak
2014-06-30 18:30               ` Jeroen Hofstee
2014-07-01 14:16                 ` Przemyslaw Marczak
2014-07-01 14:36           ` Przemyslaw Marczak
2014-07-02  7:03             ` Minkyu Kang
2014-07-02 10:27               ` Przemyslaw Marczak
2014-06-26 14:15     ` [U-Boot] [PATCH v3 07/11] samsung: board: enable support of multiple board types Przemyslaw Marczak
2014-06-27  9:40       ` Minkyu Kang
2014-06-27 11:34         ` Przemyslaw Marczak
2014-06-26 14:15     ` [U-Boot] [PATCH v3 08/11] samsung: misc: use board specific functions to set env board info Przemyslaw Marczak
2014-06-26 14:15     ` [U-Boot] [PATCH v3 09/11] odroid: add board file for Odroid X2/U3 based on Samsung Exynos4412 Przemyslaw Marczak
2014-06-26 14:15     ` [U-Boot] [PATCH v3 10/11] odroid: add odroid U3/X2 device tree description Przemyslaw Marczak
2014-06-26 14:15     ` [U-Boot] [PATCH v3 11/11] odroid: add odroid_config Przemyslaw Marczak
2014-07-02 11:50     ` [U-Boot] [PATCH v4 00/12] Add support to Odroid U3/X2 Przemyslaw Marczak
2014-07-02 11:50       ` [U-Boot] [PATCH v4 01/12] samsung: misc: fix soc revision setting in the set_board_info() Przemyslaw Marczak
2014-07-02 11:50       ` [U-Boot] [PATCH v4 02/12] exynos: pinmux: fix the gpio names for exynos4x12 mmc Przemyslaw Marczak
2014-07-04  5:37         ` Jaehoon Chung
2014-07-02 11:50       ` [U-Boot] [PATCH v4 03/12] arch:exynos: boot mode: add get_boot_mode(), code cleanup Przemyslaw Marczak
2014-07-02 11:50       ` [U-Boot] [PATCH v4 04/12] board:samsung: check the boot device and init the right mmc driver Przemyslaw Marczak
2014-07-04  5:45         ` Jaehoon Chung
2014-07-04  8:07           ` Przemyslaw Marczak
2014-07-04 11:08             ` Jaehoon Chung
2014-07-02 11:50       ` [U-Boot] [PATCH v4 05/12] samsung: misc: add function for setting $dfu_alt_info Przemyslaw Marczak
2014-07-02 11:50       ` [U-Boot] [PATCH v4 06/12] samsung:board: misc_init_r: call set_dfu_alt_info() Przemyslaw Marczak
2014-07-02 11:50       ` [U-Boot] [PATCH v4 07/12] arm:reset: call the reset_misc() before the cpu reset Przemyslaw Marczak
2014-07-02 11:50       ` [U-Boot] [PATCH v4 08/12] samsung: board: enable support of multiple board types Przemyslaw Marczak
2014-07-04  5:49         ` Jaehoon Chung
2014-07-04  8:08           ` Przemyslaw Marczak
2014-07-02 11:50       ` [U-Boot] [PATCH v4 09/12] samsung: misc: use board specific functions to set env board info Przemyslaw Marczak
2014-07-02 11:50       ` [U-Boot] [PATCH v4 10/12] odroid: add board file for Odroid X2/U3 based on Samsung Exynos4412 Przemyslaw Marczak
2014-07-04  6:07         ` Jaehoon Chung
2014-07-04  8:08           ` Przemyslaw Marczak
2014-07-04 11:12             ` Jaehoon Chung
2014-07-02 11:50       ` [U-Boot] [PATCH v4 11/12] odroid: add odroid U3/X2 device tree description Przemyslaw Marczak
2014-07-02 11:50       ` [U-Boot] [PATCH v4 12/12] odroid: add odroid_config Przemyslaw Marczak

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=53A01654.1050407@samsung.com \
    --to=p.marczak@samsung.com \
    --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.